Настоящее изобретение относится к протокольным переговорам между равными сторонами в системе "ведущий-ведомый", а конкретнее - к обеспечению ведущего узла информацией о том, какие функции поддерживаются ведомым узлом в системе связи.
Хорошо известны упомянутые системы, в которых равные стороны связываются друг с другом. В частности, такие системы часто включают в себя устройство, называемое ведущим узлом, которое осуществляет связь с несколькими подчиненными устройствами, называемыми ведомыми узлами. Из-за того, что отдельные ведомые устройства могут отличаться друг от друга, ведущий узел должен знать, какие функции (именуемые также в данном описании "мандатами") поддерживаются каждым ведомым устройством, чтобы иметь возможность осуществлять связь с этим устройством. Например, в сотовой подвижной телефонной системе различные типы каналов, снабженные сотовыми приемопередатчиками, могут требовать осуществления связи на соответственно различных скоростях передачи данных вследствие использования различных протоколов связи. Одной такой системой с данной конфигурацией является линия связи между коммутирующим центром и базовой станцией в Европейском стандарте радиотелефонной сотовой системы связи, известной как Всемирная система для подвижной связи (GSM). Мандаты, которые могут или не могут поддерживаться в этой системе, включают в себя: речевые каналы с половинной скоростью, объединенные каналы сигнализации и управления, возможности передачи данных и различные варианты протоколов связи к базовой станции.
Часто в таких системах новые ведомые устройства либо добавляются, либо заменяют существующие ведомые устройства. Когда это происходит, ведущий узел должен получить информацию, говорящую ему, какие функции поддерживаются новым ведомым устройством, для того, чтобы осуществлять связь с ним.
Например, в подвижной телефонной сети, распространяющейся на большую географическую площадь, с контроллером базовой станции (КБС) (BSC), который отслеживает работу многих базовых станций (БС) (BS), КБС должен знать, какой набор функций поддерживается каждой базовой станцией. Однако поддерживаемые функции могут время от времени меняться из-за разных причин. Прежде всего, к сети могут добавляться новые базовые станции, представляя таким образом дополнительный набор функций, о которых должен знать КБС. Кроме того, базовые станции обычно управляются программным обеспечением, которое развивается во времени. По мере выпуска нового программного обеспечения оно может разрешать базовой станции выполнять ранее неподдерживаемые функции. Поскольку программное и аппаратное обеспечение могут отличаться от одной базовой станции к другой, нужно обеспечить для КБС способ получать информацию о том, на каких узлах какие поддерживаются функции.
Существующее решение этих проблем использует заранее определенную переговорную процедуру между ведущим и ведомым устройствами. В ходе этой переговорной процедуры ведущее и ведомое устройства используют заранее определенный протокол для обмена информацией о том, какие функции будут поддерживаться на соединяющем их интерфейсе. Пример такого решения можно найти в факсимильных машинах ("факсах"), которые перед передачей осуществляют переговоры о том, какую использовать скорость передачи данных. Однако это решение является громоздким, т.к. оно требует нежелательной излишней связи в интерфейсном соединении ведущего и ведомого устройств. Кроме того, поскольку переговорный протокол необходимо определить, изменения и будущие приспособления мандатов невозможны без соответствующих изменений возможно больших частей протоколов, используемых существующими ведомыми устройствами. Поэтому желательно более простое и гибкое решение.
Сущность изобретения
Поэтому цель настоящего изобретения состоит в обеспечении механизма для предоставления ведущему узловому устройству информации, касающейся того, какие функции поддерживаются ведомым устройством (мандатная информация), без того требования, чтобы ведущее и ведомое устройства выполняли переговорную процедуру для передачи этой информации.
Другая цель настоящего изобретения состоит в обеспечении кодирующей схемы для мандатной информации, которая позволяет добавлять ведомое устройство без замены мандатной информации, уже закодированной существовавшими до этого ведомыми устройствами, даже если добавляемое ведомое устройство поддерживает новую функцию, которая не поддерживается существовавшими до этого ведомыми устройствами.
Еще одна цель настоящего изобретения состоит в обеспечении кодирующей схемы для мандатной информации, которая разрешает добавлять ведомое устройство без замены мандатной информации, уже закодированной существовавшими до этого ведомыми устройствами, даже если добавляемое ведомое устройство не поддерживает функцию, которая поддерживается всеми существовавшими до этого ведомыми устройствами.
Согласно одному аспекту настоящего изобретения предыдущие и другие цели достигаются с помощью аппаратуры в системе с ведущим устройством, связанным с ведомым устройством посредством интерфейса, причем функция ведущего устройства включает в себя загрузку управляющей программы в ведомое устройство. Эта аппаратура снабжает ведущее устройство мандатной информацией, соответствующей ведомому устройству. Аппаратура содержит средство для считывания мандатной информации из заранее определенной части управляющей программы и средство для запоминания мандатной информации для использования ведущим устройством в процессе осуществления связи с ведомым устройством. Путем размещения мандатной информации в заранее определенной части управляющей программы ведущее устройство получает новую мандатную информацию вне зависимости от того, когда обновляется управляющая программа. Кроме того, поскольку мандатная информация всегда запоминается в ведущем устройстве, необходимость в заранее определенной переговорной процедуре между ведущим и ведомым устройствами исключается.
Согласно другому аспекту настоящего изобретения обеспечивается кодирующая схема для мандатной информации, благодаря чему к системе может добавляться новое ведомое устройство без необходимости перекодирования существовавшей до этого мандатной информации для приспособления вновь определенных функций. Мандатная информация для каждого ведомого устройства содержит первый вектор и второй вектор. Каждый из первого и второго векторов имеет несколько переменных, указывающих каждая на то, поддерживается ли соответствующая функция соответствующим ведомым устройством. Когда в систему добавляется новое ведомое устройство, может потребоваться переопределить один или оба вторых вектора для добавления переменных, соответствующих новым функциям, не определенным ранее в системе. Однако существовавшая до этого мандатная информация не должна видоизменяться, чтобы включить в себя эти новые переменные. Следовательно, мандатная информация для любого конкретного ведомого устройства может пропустить одну или более переменных, которые определены в системе. Чтобы скомпенсировать это, средство для считывания содержит первое средство введения переменных по умолчанию, для выдачи первых значений по умолчанию для тех первых переменных, которые пропущены в первом векторе в ответ на первое число переменных, меньшее, чем число определенных переменных первого вектора. Первые значения по умолчанию указывают, что соответствующие функции не поддерживаются соответствующим ведомым устройством. Средство для считывания содержит далее второе средство введения переменных по умолчанию для выдачи вторых значений по умолчанию для тех вторых переменных, которые пропущены во втором векторе в ответ на второе число переменных, меньшее, чем число определенных переменных второго вектора. Вторые значения по умолчания указывают, что соответствующие функции поддерживаются соответствующим ведомым устройством.
Согласно этому аспекту изобретения мандатная информация может состоять из двух векторов, один из которых или они оба не имеют никаких переменных. Если в обоих векторах нет переменных, это соответствует ситуации, когда каждое ведомое устройство в системе поддерживает любую и каждую функцию, которая поддерживается любым другим ведомым устройством в системе. В этом случае информация о поддерживаемых мандатах каждого ведомого устройства обеспечивается полностью первым и вторым средствами введения переменных по умолчанию.
Еще в одном аспекте настоящего изобретения рассматривается способ добавления нового ведомого устройства в систему с ведущим устройством, связанным со множеством существовавших до этого ведомых устройств, причем каждое ведомое устройство имеет соответствующую мандатную информацию, запомненную в ведущем устройстве. Прежде всего, в ведущем устройстве запоминается новый первый вектор с длиной, равной заранее определенному первому вектору. Каждая переменная в новом первом векторе установлена в соответствии с альтернативой: поддерживает или не поддерживает новое ведомое устройство соответствующую функцию, определенную в заранее определенном первом векторе. Далее, в ведущем устройстве запоминается новый второй вектор с длиной, равной заранее определенному второму вектору. Каждая переменная в новом втором векторе установлена в соответствии с альтернативой: поддерживает или не поддерживает новое ведомое устройство соответствующую функцию, определенную в заранее определенном втором векторе.
Затем, в ведущем устройстве выделяется дополнительная запоминающая ячейка, которая связывается с новым первым вектором. В этой дополнительной запоминающей ячейке запоминается первая дополнительная переменная в соответствии с первой новой функцией, которая поддерживается новым ведомым устройством, но не поддерживается никаким существовавшим до этого ведомым устройством. Первая дополнительная переменная устанавливается для указания того, что это ведомое устройство поддерживает первую новую функцию. Если этот метод используется вместе с вышеописанным первым средством введения переменных по умолчанию, то не нужно видоизменять какую-либо существовавшую до этого мандатную информацию, т.к. эти пропущенные значения будут по умолчанию приравнены к значению, указывающему на то, что существовавшие до этого ведомые устройства не поддерживают эту функцию.
Далее, в ведущем устройстве выделяется дополнительная запоминающая ячейка, которая связывается с новым вторым вектором. В этой дополнительной запоминающей ячейке запоминается вторая дополнительная переменная в соответствии со второй новой функцией, которая поддерживается каждым существовавшим до этого ведомым устройством, но не поддерживается новым ведомым устройством. Вторая дополнительная переменная устанавливается для указания того, что это ведомое устройство не поддерживает вторую новую функцию. Если этот метод используется вместе с вышеописанным вторым средством введения переменных по умолчанию, то снова не нужно видоизменять какую-либо существовавшую до этого мандатную информацию, т.к. эти пропущенные значения будут по умолчанию приравнены к значению, указывающему на то, что существовавшие до этого ведомые устройства поддерживают эту вновь добавленную функцию.
Наконец, первый и второй заранее определенные векторы переопределяются, чтобы включить в себя соответствующие запоминающие ячейки, относящиеся к первой и второй дополнительным переменным.
Согласно еще одному аспекту изобретения предлагается аппаратура для определения набора функций, которые поддерживаются ведомым устройством, в системе с ведущим устройством, связанным с ведомым устройством посредством интерфейса, упомянутая аппаратура содержит
входное средство для приема первого вектора с первым числом первых переменных и второго вектора со вторым числом вторых переменных, при этом каждая из первых и вторых переменных представляет соответствующую функцию, которая либо может, либо не может поддерживаться соответствующим ведомым устройством,
первое средство введения переменных по умолчанию, соединенное со входным средством и реагирующее "на первое число первых переменных, меньшее, чем число определенных переменных первого вектора, для выдачи первых значений по умолчанию для тех первых переменных, которые пропущены в первом векторе, причем первые значения по умолчанию указывают на то, что соответствующие функции не поддерживаются соответствующим ведомым устройством, и
второе средство введения переменных по умолчанию, соединенное со входным средством и реагирующее на второе число вторых переменных, меньшее, чем число определенных переменных второго вектора, для выдачи вторых значений по умолчанию для тех вторых переменных, которые пропущены во втором векторе, причем вторые значения по умолчанию указывают на то, что соответствующие функции поддерживаются соответствующим ведомым устройством.
Краткое описание чертежей
Цели и преимущества изобретения будут понятны по прочтении следующего подробного описания вместе с чертежами.
Фиг. 1 является блок-схемой системы, которая включает в себя ведущее устройство, связанное с ведомыми устройствами посредством соответствующих интерфейсов.
Фиг. 2a и 2b являются диаграммами, иллюстрирующими, как меняются категории функций, когда в систему, имевшую ранее только два ведомых устройства, добавляется новое ведомое устройство.
Фиг. 3 представляет предпочтительное выполнение кодирующей схемы для мандатной информации.
Фиг.4a - 4c иллюстрируют методы введения значений по умолчанию для ранее существовавшей мандатной информации и добавление новых функций в кодирующую схему согласно настоящему изобретению.
Подробное описание
На фиг. 1 показана блок-схема системы, которая включает в себя ведущее устройство 101, связанное с ведомыми устройствами 103, 103', 103'' посредством соответствующих интерфейсов 105, 105', 105''. Ведущее устройство 101 может быть, к примеру, КБС, а ведомые устройства 103, 103', 103'' могут быть несколькими базовыми станциями, соединенными в подвижную телефонную сеть. Ведущее устройство 101 включает в себя для каждого ведомого устройства 103, 103', 103'' управляющее программное обеспечение 107, 107', 107'', которое должно загружаться в ведомые устройства посредством интерфейсов 105, 105', 105'' при запуске системы и когда бы ни потребовалась такая загрузка, как после отказа питания, который происходит на одном или более местоположений базовых станций в сотовой подвижной телефонной сети. Поскольку работа, описываемая здесь, применима к любому из ведомых устройств 103, 103', 103'', нижеследующее описание будет фокусироваться на том, как ведущее устройство 101 изучает мандат ведомого устройства 103. Для специалиста ясно, однако, что метод, описанный для ведомого устройства 103, может быть приложен к любому из остальных ведомых устройств 103', 103''.
После загрузки в программную память 111 управляющее программное обеспечение 107 управляет нормальной работой ведомого устройства 103. В такой системе, как описанная, при замене ведомого устройства новым устройством ведущее устройство 101 может снабжаться соответствующим обновленным управляющим программным обеспечением 107 для этого нового устройства. Система, в которой ведущие узлы загружают управляющее программное обеспечение в ведомые устройства в ходе индивидуальной программной загрузки (ИПЗ) (IPL) ведомых устройств, хорошо известны в технике и здесь больше не описываются.
Согласно настоящему изобретению управляющее программное обеспечение 107 нераздельно связано с частью, которая содержит мандатную информацию 109, касающуюся функций, поддерживаемых соответствующим ведомым устройством 103. К примеру, начало мандатной информации 109 может располагаться на известной позиции в управляющем программном обеспечении 107, так что ведущее устройство 101 способно обнаружить его положение и отличить его от остального управляющего программного обеспечения 107. В предпочтительном выполнении мандатная информация 109 идентифицируется сразу, потому что управляющее программное обеспечение 107 для ведомого устройства 103 разделено на файлы, которые сохраняются в базе данных на ведущем устройстве 101. В этом выполнении важно, что с этим набором файлов обращаются как с единым блоком внутри ведущего устройства 101. Один или более этих файлов содержат только данные, представляющие мандатную информацию 109. Несущественно, чтобы мандатная информация 109 загружалась в ведомое устройство 103, поскольку оно предназначено в первую очередь для передачи информации в ведущее устройство 101. Однако, если мандатная информация 109 загружается в ведомое устройство 103, может выполняться обнаружение системного отказа, как будет подробно описано ниже.
Далее, согласно настоящему изобретению перед загрузкой управляющего программного обеспечения 107 в ведомое устройство 103 ведущее устройство 101 считывает мандатную информацию 109 и запоминает ее в своей местной памяти 113. Информация, запомненная в местной памяти 113, используется потом ведущим устройством 101 для определения того, какие функции поддерживаются ведомым устройством 103 на интерфейсе 105. Эта мандатная информация 109 может также указывать ведущему устройству 101, какие следует использовать процедуры для загрузки программного обеспечения в ведомое устройство.
Можно видеть, что этот механизм обеспечивает большую свободу в способности менять (или обновлять) ведомое устройство 103 без необходимости использовать заранее определенную переговорную процедуру, чтобы сообщить ведущему устройству 101, какие из новых функций поддерживаются (или какие старые функции больше не поддерживаются) ведомым устройством 103 на интерфейсе 105. Это имеет место потому, что каждый раз, когда ведомое устройство 103 меняется таким образом, который влияет на функции, которые оно поддерживает, ведущее устройство 101 будет снабжено соответствующим управляющим программным обеспечением 107 для этого устройства. Вследствие того, что новое управляющее программное обеспечение 107 всегда будет содержать обновленную мандатную информацию 109, ведущее устройство 101 может легко определить, какие функции поддерживаются новым ведомым устройством 103.
В предпочтительном выполнении настоящего изобретения ведущее устройство 101 работает по схеме 1 (см. в конце описания).
Для специалиста ясно, что мандатная информация 109 может форматироваться любым из различных путей. Например, на начальном этапе можно определить полный набор функций, которые будут всегда поддерживаться на интерфейсе 105. Этот путь, однако, может оказаться слишком ограничивающим, т.к. появляются непредусмотренные функции.
В предпочтительном выполнении мандатная информация 109 кодируется в формате совместимости снизу вверх (т.е. совместимости с ранее разработанными моделями), так что вновь определенные функции могут добавляться в кодирующую схему без нарушения кодирования мандатной информации ведомых устройств, которые не наращивались. Эта кодирующая схема опирается на тот факт, что существуют различные обстоятельства, при которых в существующей кодирующей схеме должна быть представлена конкретная функция. Функции могут подразделяться на три категории:
1) функции, которые поддерживаются некоторыми, но не всеми ведомыми устройствами в сети.
2) функции, которые поддерживаются любым и каждым из ведомых устройств в сети.
3) функции, которые не поддерживаются ни одним из ведомых устройств в сети.
Определение в сети необходимо только для функций первой категории, т.е. для тех, которые поддерживаются некоторыми, но не всеми ведомыми устройствами. Это происходит потому, что в этом случае ведущему устройству 101 необходима способность отличать мандаты различных ведомых устройств 103, 103', 103''. Однако для двух последних категорий никакого сетевого определения не нужно, т. к. ведущее устройство 101 можно сконструировать так, чтобы оно включало в себя значения по умолчанию, которые в равной степени применимы ко всем ведомым устройствам 103, 103', 103''. Таким образом, если известно, что все ведомые устройства поддерживают данную функцию, ведущему устройству 101 нет нужды исследовать, поддерживает ли эту функцию какое-то конкретное ведомое устройство 103. Вместо этого ведущее устройство просто использует эту функцию в своих связях со всеми ведомыми узлами 103, 103', 103''. Аналогично, если известно, что ни одно из ведомых устройств не поддерживает конкретной функции, ведущее устройство 101 конструируется так, что оно никогда не пытается осуществлять какие-либо связи, которые основаны на этой конкретной функции, поддерживаемой ведомым устройством 103. Ведущее устройство 101 предпочтительно управляется программным обеспечением, так что оно легко может наращиваться по мере того, как со временем меняются мандаты сети.
Вышеприведенное можно лучше понять при обращении к фиг. 2а, которая является диаграммой, иллюстрирующей категории функций, которые необходимо включить в кодирующую схему для мандатной информации 109, когда система содержит только два ведомых устройства, названных здесь "А" и "В". Внутренность прямоугольника 200 представляет все возможные функции, которые всегда могут быть определены для сети. Первая окружность 201 охватывает все функции, поддерживаемые ведомым устройством "А". Вторая окружность 203 охватывает все функции, поддерживаемые ведомым устройством "B". Видно, что имеется общая область 205, определяющая набор функций, которые являются общими для ведомых устройств "А" и "B" (а следовательно, и для всех ведомых устройств в сети, поскольку в этом примере имеется всего два ведомых устройства). Диаграмма показывает также, что имеется первый набор исключительных функций 207, которые поддерживаются ведомым устройством "А", но не поддерживаются ведомым устройством "B", а также что имеется второй набор исключительных функций 209, которые поддерживаются ведомым устройством "B", но не поддерживаются ведомым устройством "А". Пустая область 211, которая лежит полностью снаружи от обеих первой и второй окружностей 201, 203, представляет функции, которые не поддерживаются ни одним из ведомых устройств в сети.
В этом примере в кодирующей схеме для мандатной информации 109 нужно определить только первый и второй наборы исключительных функций 207, 209, потому что ведущее устройство 101 должно знать, поддерживает ли функцию ведомое устройство, с которым оно намерено осуществлять связь. В противоположность этому, ведущее устройство может свободно использовать любую из функций, расположенных в общей области 205, без исследования того, поддерживается ли она, потому что она поддерживается по определению любым и каждым узлом в сети. Что же касается функций, лежащих в пустой области 211, то они не поддерживаются ни одним из ведомых устройств "А" и "B", так что конструкция ведущего устройства 101 не должна включать в себя какого-либо определения для этих функций; такое определение приведет к неэффективности, потому что ведущее устройство никогда не найдет ведомого устройства, которое поддерживает какую-либо из этих функций.
Если к сети должно быть добавлено новое ведомое устройство "С", то кодирующая схема для мандатной информации 109 изменится, как показано на фиг. 2b. Первая и вторая окружности 201, 203 по-прежнему представляют функции, поддерживаемые ведомыми устройствами "А" и "B". Третья окружность 213 охватывает все функции, поддерживаемые новым ведомым устройством "C". В этом примере общая область 205' уменьшена, потому что ведомое устройство "С" не поддерживает любую из функций, поддерживаемых ведомыми устройствами "А" и "В". В результате функции, расположенные в первой новой области 215, которая раньше находилась в общей области 205 и не нуждалась в определении внутри сети, теперь должна быть определена в кодирующей схеме так, чтобы ведущее устройство 101 могло отличить ведомое устройство "С", которое не поддерживает эти функции, и ведомые устройства "А" и "В", которые поддерживают их. Прежнее умолчание для этих функций больше не будет работать.
Аналогично, в этом примере ведомое устройство "С" поддерживает функции, расположенные во второй новой области 217, которая раньше не поддерживалась никаким ведомым устройством в сети. Следовательно, эти функции также должны быть добавлены в кодирующую, чтобы ведущее устройство 101 могло отличить ведомое устройство "С", которое поддерживает эти функции, и ведомые устройства "А" и "В", которые их не поддерживают. Старая кодирующая схема, посредством которой функции, расположенные во второй новой области 217, по умолчанию относились к неподдерживаемому состоянию в ведущем устройстве 101, потому что ранее она была частью пустой области 211, больше не будет работать. На фиг. 2b пустая область 211' представляет теперь все возможные функции, которые не поддерживаются никаким из ведомых устройств "A", "B" или "C".
Подытоживая вышеприведенное рассмотрение, можно сказать, что существующая сеть требует только представления функций, которые поддерживаются лишь поднабором всех ведомых устройств. Любая функция, которая поддерживается всеми ведомыми устройствами, не нуждается в представлении в мандатной информации 109, потому что ведущее устройство 101 можно сконструировать так, чтобы использовать эту конкретную функцию с любым ведомым устройством, с которым оно осуществляет связь. Аналогично, любая функция, которая не поддерживается ни одним из ведомых устройств, не нуждается в представлении в мандатной информации 109, потому что ведущее устройство 101 можно сконструировать так, чтобы никогда не использовать этой конкретной функции ни с одним из ведомых устройств в сети, с которым оно осуществляет связь. Когда в сеть добавляется новое ведомое устройство, кодирующая схема должна изменяться для добавления тех новых функций, которые прежде либо поддерживались всеми, либо не поддерживались ни одним из существовавших ранее ведомых устройств.
На фиг. 3 показано предпочтительное выполнение кодирующей схемы для мандатной информации 109. Нижеследующее описание использует такие термины, как "переменная" и "логическое значение", в качестве помощи для понимания изобретения. Однако, следует понять, что эти выражения на деле относятся к физическим объектам, таким как электрические сигналы, которые генерируются в сети и которые приводят к выполнению других операций.
Согласно настоящему изобретению данная кодирующая схема позволяет добавлять новые функции (т.е. те, которые ранее не нуждались в определении в системе, потому что их либо поддерживали всегда, либо не поддерживали никогда) без необходимости перекодировать мандатную информацию 109 ведомых устройств 103, 103', 103'', которые всегда были частью системы.
Мандатная информация 109 кодируется как два вектора, содержащих каждый список переменных, который соответствует списку функций, определенных в сети. Переменные предпочтительно являются логическими переменными, которые могут устанавливаться равными либо ИСТИННО, либо ЛОЖНО в соответствии с тем, поддерживается ли связанная с ними функция ведомым устройством 103.
Любая функция, которая определена в сети, представляется переменной только в одном из двух списков. Когда сеть определяется в первый раз, не имеет значения, расположена ли соответствующая переменная для функции в первом векторе 301 или во втором векторе 303. Однако расположение переменной важно для каждого нового ведомого устройства 103, которое добавляется к сети. Эта значимость будет пояснена на примере.
На фиг. 4a изображена мандатная информация 109 для ведомого устройства "А" в сети лишь с двумя ведомыми устройствами "А" и "В", которые оба присутствовали, когда сеть создавалась впервые. Аналогично, фиг.4b изображает мандатную информацию 109 для ведомого устройства "В" в той же самой сети. Что касается ведомого устройства "A", то первый вектор 401a установлен в иллюстративных целях показать, что ведомое устройство "A" поддерживает функции n и o, но не поддерживает функцию p. Кроме того, второй вектор 403a установлен для указания того, что ведомое устройство "A" поддерживает функции q и s, но не поддерживает функцию r. Аналогично, касательно ведомого устройства "B" первый вектор 410b установлен для указания того, что ведомое устройство "B" поддерживает функцию p, но не поддерживает функцию n и функцию o. Кроме того, второй вектор 403b установлен для указания того, что ведомое устройство "B" поддерживает функцию r, но не поддерживает функцию q или функцию s. Следует отметить, что в этом примере нет функций, которые бы либо поддерживались, либо не поддерживались обоими ведомыми устройствами "A" и "B". Это имеет место потому, что, как пояснено выше для фиг. 2a b 2b, не существует точки в определении функций, которая лежала бы в общей области 205 или в пустой области 211. Вместо этого, ведущее устройство 101 может быть сконструировано так, чтобы включать в себя работу по умолчанию, которая приемлема для этой конкретной системы. Нет, однако, причин, по которым в мандатную информацию 109 нельзя было бы включить любую конкретную группу таких функций и установить обе на логическое значение либо ИСТИННО (функция поддерживается), либо ЛОЖНО (функция не поддерживается). Тем не менее, полное описание всех таких функций было бы невозможно получить, поскольку можно определить бесконечное число функций.
Фиг. 4с показывает мандатную информацию 109 ведомого устройства "С", которое добавляется теперь в систему. Она тоже содержит первый вектор 401c и второй вектор 403c. Добавление ведомого устройства "С" в сеть дает эффект, ранее представленный на фиг.2b. То есть, ведомое устройство "С" поддерживает некоторые из функций, которые также обычно поддерживаются ведомыми устройствами "А" и "В" (см. общую область 205'). Следовательно, по-прежнему не имеется причин определять эти функции в мандатной информации: ведущее устройство 101 по-прежнему знает, что эти функции поддерживаются любым ведомым устройством в сети. Кроме того, ведомое устройство "C" не поддерживает многих из функций, которые также не поддерживаются никаким из ведомых устройств "А" или "В" (см. пустую область 211'). Опять-таки нет причин определять эти функции в мандатной информации: ведущее устройство 101 по-прежнему знает, что эти функции не поддерживаются никакими ведомыми устройствами в сети.
На фиг. 2b можно видеть, что имеется первая частично общая область 219, которая включает в себя только те функции, которые поддерживаются ведомыми устройствами "А" и "C", но не ведомым устройством "В". Эти функции были ранее определены в сети и в нашем примере являются функциями n и s. Следовательно, в векторе 401c переменная, соответствующая функции n, устанавливается равной ИСТИННО, и в векторе 403c переменная, соответствующая функции s, устанавливается равной ИСТИННО.
На фиг.2b можно также видеть, что имеется вторая частично общая область 221, которая включает в себя только те функции, которые поддерживаются ведомыми устройствами "В" и "С", но не ведомым устройством "А". Эти функции были ранее определены в сети и в нашем примере являются функциями p и r. Следовательно, в векторе 401c переменная, соответствующая функции p, устанавливается равной ИСТИННО, и в векторе 403c переменная, соответствующая функции r, устанавливается равной ИСТИННО.
Первый и второй наборы исключительных функций 207' и 209' определены, но не поддерживаются ведомым устройством "C". Переменные, соответствующие этим функциям о и q, устанавливаются равными ЛОЖНО в первом и втором векторах 401c, 403c.
На фиг.2b можно видеть, что необходимо определить новые функции как результат введения в существовавшую до этого сеть ведомого устройства "C". Прежде всего, это функции, которые ранее находились в общей области 205, но которые теперь находятся в первой новой области 215, потому что эти функции не поддерживаются ведомым устройством "C". Для сохранения этого примера, они будут названы функциями u и v. Согласно настоящему изобретению ко второму вектору 403c должны быть добавлены новые функции, которые концептуально расположены в первой новой области 215. Кроме того, изменяется ведущее устройство 101, чтобы распознавать второй вектор с форматом второго вектора 403c. Таким образом, на фиг. 4с второй вектор 403c включает в себя также переменные, соответствующие функциям u и v. Эти две переменные установлены равными ЛОЖНО для указания того, что данное ведомое устройство "С" не поддерживает эти функции. Также согласно настоящему изобретению не нужно добавлять переменные ни в один из вторых векторов 403a или 403b, которые соответствуют ведомым устройствам "А" и "В", потому что ведущее устройство 101 сконструировано так, чтобы принимать наличие значений по умолчанию равными ИСТИННО в случае распознавания того, что второй вектор 403a, 403b не длиннее самого длинного второго вектора 403с в сети. Значения по умолчанию представлены пунктирными значениями 407a, 407b во вторых векторах 403a, 403b. Этим пунктирным значениям 407a, 407b не нужно в действительности присутствовать во вторых векторах 403a, 403b при условии, что ведущее устройство 101 сконструировано так, чтобы распознавать действительный конец вторых векторов 403a, 403b и затем всегда при необходимости выдавать значения по умолчанию ИСТИННО. Каждый из вторых векторов 401a, 401b, 401c, 403a, 403b, 403с предпочтительно включает в себя указатель длины (не показан) для использования ведущим устройством 101 при определении длины вектора. Нет, однако, причин, по которым вторые векторы 403а, 403b не могут в действительности содержать переменные, соответствующие неопределенным функциям. В этом случае неопределенные переменные во вторых векторах 403a, 403b должны быть действительно равны ИСТИННО. Следует отметить, что второй вектор 403c ведомого устройства "C" также содержит пунктирные значения 407c, которые функционируют в точности так, как и описано выше для пунктирных значений 407a и 407b, и которые используются, когда сеть расширяется, чтобы включить в себя еще одно новое ведомое устройство, что приводит к необходимости определить новые функции.
Возвращаясь вновь к фиг.2b, отметим, что необходимо также определить те новые функции, которые ранее были частью пустой области 211 (т.е. не поддерживались ни одним из ведомых устройств "А" или "В"), но которые поддерживаются ведомым устройством "С" (см. вторую новую область 217). Для сохранения данного примера назовем ее функцией t. Согласно настоящему изобретению новые функции, которые концептуально расположены во второй новой области 217, должны быть добавлены к первому вектору 401c. Кроме того, изменяется ведущее устройство 101, чтобы распознавать первый вектор с форматом первого вектора 401c. Таким образом, на фиг.4c первый вектор 401c включает в себя также переменную, соответствующую функции t. Эта переменная установлена равной ИСТИННО для указания того, что ведомое устройство "С" поддерживает данную функцию. Также согласно настоящему изобретению не нужно добавлять переменные ни в один из первых векторов 401a или 401b, которые соответствуют ведомым устройствам "А" и "В", потому что ведущие устройство 101 сконструировано так, чтобы принимать наличие значений по умолчанию равными ЛОЖНО в случае распознавания того, что первый вектор 401a, 401b не длиннее самого длинного первого вектора 401c в сети. Это представлено пунктирными значениями 405a, 405b в первых векторах 401a, 401b. Этим пунктирным значениям 405a, 405b не нужно в действительности присутствовать в первых векторах 401a, 401b при условии, что ведущее устройство 101 сконструировано так, чтобы распознавать действительный конец первых векторов 401a, 401b и затем всегда при необходимости выдавать значения по умолчанию ЛОЖНО. Нет, однако, причин, по которым первые векторы 401a, 401b не могут в действительности содержать переменные, соответствующие неопределенным функциям. В этом случае неопределенные переменные в первых векторах 401a, 401b должны быть действительно равны ЛОЖНО. Следует отметить, что первый вектор 401c ведомого устройства "C" также содержит пунктирные значения 405c, которые функционируют в точности так, как и описано выше для пунктирных значений 405a и 405b.
Для функционирования данной системы важно, чтобы в любом случае, когда ведущее устройство 101 получает управляющее программное обеспечение 107, которое содержит новую кодирующую схему для мандатной информации 109, это ведущее устройство 101 также обновлялось, предпочтительно посредством нового программного обеспечения, так чтобы оно знало смыслы вновь определенных переменных. Без обновления программного обеспечения ведущее устройство 101 будет полагать, что новое ведомое устройство поддерживает каждую функцию, поддерживаемую ранее всеми существовавшими до этого ведомыми устройствами (см. общую область 205), когда на самом деле это может не иметь места. Чтобы избежать ошибок такого рода, ведущее устройство 101 может сравнивать действительную длину мандатной информации 109 с ожидаемой длиной. Если происходит нестыковка, то целостность системы подвергается опасности, и должна вызываться подходящая программа обработки ошибок. Воплощение такой программы обработки ошибок зависит от системы и находится вне предмета данного рассмотрения.
В рассмотренном ранее выполнении изобретения, в котором мандатная информация 109 загружается из ведущего устройства 101 в ведомое устройство 103, в другом аспекте настоящего изобретения имеется ведомое устройство, проверяющее мандатную информацию 109 для того, чтобы определить, какие, как ожидает ведущее устройство 101, функции поддерживаются этим ведомым устройством, и чтобы определить, имеет ли оно в действительности аппаратное обеспечение для поддержания этих функций. Альтернативно, если мандатная информация 109 не вводится с программным обеспечением, которое загружается из ведущего устройства 101 в ведомое устройство 103, то управляющее программное обеспечение 107 может само включать в себя команды для того, чтобы убедиться, что ожидаемая аппаратная среда действительно существует на ведомом устройстве 103. Это определение может быть необходимо, если есть вероятность того, что ведущее устройство 101 приняло обновленный вариант программного обеспечения 107 до того, как аппаратное обеспечение ведомого устройства 103 действительно обновлено. В случае, если это произойдет, ведомое устройство 103 должно известить ведущее устройство 101 о проявлении ошибочного состояния.
Изобретение описано со ссылкой на конкретное выполнение. Для специалиста, однако, сразу ясно, что изобретение можно воплотить в специфических формах, отличных от описанного выше предпочтительного выполнения. Это можно сделать без отхода от духа изобретения. Предпочтительное выполнение является просто иллюстрацией и не должно рассматриваться как какое-либо ограничение. Объем изобретения задается прилагаемой формулой изобретения, а не предыдущим описанием, и в него должны включаться все видоизменения и эквиваленты, которые попадают в пределы формулы изобретения.
Заявленное устройство относится к системам, содержащим ведущие и ведомые устройства. Техническим результатом является обеспечение возможности предоставления ведущему устройству информации, касающейся того, какие функции поддерживаются ведомым устройством, без осуществления переговоров между этими устройствами. Для этого аппаратура для использования в системе с ведущим устройством содержит средство для считывания мандатной информации, средство для запоминания мандатной информации, система "ведущий-ведомый" содержит ведомое и ведущее устройство и интерфейс. Способ предоставления ведущему устройству мандатной информации включает в себя нераздельное связывание мандатной информации с управляющей программой, введение в ведущее устройство управляющей программы и связанной мандатной информации и считывание в ведущем устройстве связанной мандатной информации, способ добавления нового ведомого устройства в систему с ведущим устройством включает в себя запоминание в ведущем устройстве нового первого вектора, запоминание в ведущем устройстве нового второго вектора, размещение в ведущем устройстве дополнительных запоминающих ячеек и переопределение первого и второго векторов. Аппаратура для определения набора функций содержит входное средство для приема первого вектора, первое и второе средства введения переменных. 5 с. и 6 з.п. ф-лы, 4 ил.
US 5237676 A, 17.08.1993 | |||
Устройство сопряжения | 1988 |
|
SU1603394A1 |
US 4773005 A, 20.09.1988 | |||
US 5202964 A, 13.04.1993 | |||
Устройство для обмена информацией | 1987 |
|
SU1476482A1 |
Устройство для сопряжения ЭВМ с телеграфными аппаратами | 1984 |
|
SU1251092A1 |
SU 1300485 A1, 30.03.1987. |
Авторы
Даты
2001-12-10—Публикация
1995-04-25—Подача