RU2108621C1 - Отказоустойчивая вычислительная система и способ ее формирования - Google Patents
Отказоустойчивая вычислительная система и способ ее формирования Download PDFInfo
- Publication number
- RU2108621C1 RU2108621C1 RU93005211A RU93005211A RU2108621C1 RU 2108621 C1 RU2108621 C1 RU 2108621C1 RU 93005211 A RU93005211 A RU 93005211A RU 93005211 A RU93005211 A RU 93005211A RU 2108621 C1 RU2108621 C1 RU 2108621C1
- Authority
- RU
- Russia
- Prior art keywords
- machine
- engine
- operating system
- input
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1687—Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
- G06F11/2076—Synchronous techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Ceramic Products (AREA)
- Manufacture Of Alloys Or Alloy Compounds (AREA)
- Compositions Of Oxide Ceramics (AREA)
Abstract
Изобретение относится к области операционной системы мультипроцессорных отказоустойчивых вычислительных систем. При отказе первичного средства обработки дублирующее средство обработки может взять на себя управление без прерывания работы. В системе используются два средства обработки, каждое из которых содержит машину операционной системы, машину ввода-вывода и средство хранения информации. 2 с. и 10 з.п.ф-лы, 10 ил.
Description
Изобретение относится к области операционной системы мультипроцессорных отказоустойчивых вычислительных систем, реализуемых на основе программных средств.
В сферах применения вычислительных систем часто желательно обеспечить непрерывную работу вычислительной системы даже при отказе компонентов. Например, персональные компьютеры (ПК) или рабочие станции часто используют вычислительную сеть для обеспечения разделения данных, прикладных задач, файлов, вычислительной мощности, коммуникаций и других ресурсов, таких как печатающие устройства, модемы, массовая память и тому подобные. В большинстве случаев разделение ресурсов осуществляется посредством использования сетевого сервера. Сервер представляет собой блок обработки, предназначенный для распределения централизованных ресурсов, распределения данных и разделения этих ресурсов между пользователями ПК и рабочих станций. Сервер, сеть и ПК или рабочие станции, объединенные вместе, составляют вычислительную систему. Если возникает неисправность в сетевом сервере, ПК и рабочие станции в сети не могут больше получать доступ к необходимым централизованным ресурсам и система выходит из строя.
Для поддержания работы вычислительной системы во время отказа компонентов требуется избыточная система или система с резервированием. Известная из предыдущего уровня техники система с резервированием включает полную аппаратную избыточность. Во время работы системы предусматриваются два идентичных процессора с одинаковыми входами на аппаратном сигнальном уровне. Обычно один процессор рассматривается как первичный процессор, а другой - как вторичный процессор. Если происходит отказ первичного процессора, система переключается на вторичный процессор. Пример такой системы с аппаратной избыточностью описывается у Ловелла [3], в котором две идентичные вычислительные системы принимают одинаковые входные сигналы и исполняют одинаковые операции. Однако, при отсутствии неисправности только один компьютер обеспечивает выходную информацию, но в случае возникновения отказа управление выходом принимает на себя второй компьютер. Во время работы выходные схемы резервного компьютера запрещаются до момента возникновения неисправности в основном компьютере. В этот момент подается разрешение на выходные схемы резервного компьютера
Использование идентичных процессоров или аппаратных средств имеет множество потенциальных недостатков. Одним из них является сложность и большая стоимость синхронизации процессоров на сигнальном уровне.
Использование идентичных процессоров или аппаратных средств имеет множество потенциальных недостатков. Одним из них является сложность и большая стоимость синхронизации процессоров на сигнальном уровне.
Другой известный способ создания системы с резервированием относится к системе с "контрольной точкой" (сохранение состояния процесса в контрольной точке). Система с контрольной точкой работает по принципу "запуск из конечного состояния". Этот принцип устанавливает, что если два устройства находятся в одном и том же состоянии, то при подаче идентичных входных сигналов на каждое устройство на выходах этих устройств будут идентичные выходные сигналы и каждое устройство будет переходить в одно и то же состояние.
В системе с контрольной точкой полное состояние устройства, такое как состояние процессора или связанной с ним памяти, передается в резервный процессор после каждой операции основного процессора. В случае возникновения неисправности резервной процессор будет находиться в последнем истинном состоянии основного процессора. Последняя операция загружается в резервный процессор и работа продолжается с этого момента с использованием резервного процессора. Или же информационное состояние передается в массовую память после каждой операции основного процессора. В случае возникновения неисправности заполненное информационное состояние передается в резервный процессор, который может использоваться или не использоваться для выполнения других операций перед возникновением этого события.
Известная система с контрольной точкой описывается у Глейзера [6], в которой первичный процессор используется для выполнения определенных задач. Вторичный процессор используется для выполнения других задач. Периодически состояние первичного процессора передается во вторичный процессор. При отказе первичного процессора любые операции, исполняемые первичным процессором со времени последней синхронизации первичного и вторичного процессоров, исполняются вторичным процессором для приведения его текущего состояния в соответствие с первичным процессором. Система Глейзера, также как и другие системы с контрольной точкой, обладает несколькими недостатками. Одним из недостатков являются количества времени и памяти, необходимые для передачи состояния первичной системы во вторичную систему. Другим недостатком систем с контрольной точкой является прерывание обслуживания при отказе первичной системы. Вторичная система должна "приводить в соответствие скорость работы" путем исполнения сообщений в строке сообщений.
Одна предыдущая попытка решить эту задачу определяла обновление только тех частей состояния первичной системы, которые были изменены с момента предыдущего обновления информации. Однако, это требует усложнения схем управления памятью и данными.
Целью настоящего изобретения является создание системы резервирования, для которой не требуется специальных аппаратных средств для синхронизации резервной системы.
Другой целью настоящего изобретения является создание резервной системы, которая прозрачна для асинхронных событий.
Следующей целью настоящего изобретения является создание усовершенствованной резервной системы для работы сетевого сервера.
Дальнейшей целью настоящего изобретения является создание непрерывного обслуживания при возникновении единого отказа компонента аппаратуры.
Изобретение направлено на способ и устройство создания отказоустойчивой системы резервирования, которая в случае отказа первичной системы передает управление дублирующей системе без прерывания работы. Основная и резервная системы обработки представляют собой отдельные компьютеры, связанные между собой высокоскоростным каналом связи. Изобретение обеспечивает программное решение синхронизации резервной системы. Настоящее изобретение применяется в качестве сервера сети, но его принципы могут успешно использоваться в другой среде обработки информации. Каждый сервер может использовать один или несколько процессоров. Серверы используют операционную систему специальной архитектуры. Настоящее изобретение разделяет эту операционную систему на две "машины". Машина ввода/вывода (В/В) ответственна за управление и прием всех данных и асинхронных событий в системе. Машина ввода/вывода связывается с физическими устройствами и драйверами устройств и управляет ими. Машина операционной системы (ОС) используется для работы с данными, принимаемыми от машины ввода/вывода. В первичном сервере эти машины определяются как первичная машина ввода/вывода и первичная машина ОС.
Все события или данные, которые могут изменять состояние операционной системы, разделяются на отдельные каналы через машину ввода/вывода и преобразуются в формат сообщения. Сообщения выстраиваются в очередь сообщений, доступ к которой осуществляется машиной ОС. Поэтому, несмотря на синхронизацию событий (т. е. асинхронные события), машина ОС принимает все события последовательно через непрерывный последовательный поток входных данных. В результате машина ОС является автоматом запуска из конечного состояния с одномерным входным "представлением" остальной части системы. Таким образом, хотя машина ОС работает по асинхронным событиям, обработка этих событий управляется через одноразрядную входную последовательность.
При запуске или при первом задействовании вторичного процессора первичный процессор "зависает" и таким образом все инструкции или другие события изменения состояния приостанавливаются до тех пор, пока машина ОС не войдет в стабильное состояние. В этот момент состояние передается в машину ОС резервной системы. С того момента идентичные сообщения (события) передаются на каждую машину ОС. Поскольку обе системы начинают работать с идентичного состояния и принимают идентичные входы, машины ОС как часть систем формируют идентичные выходы и переходят в идентичные состояния.
Резервная система также делит операционную систему на вторичную машину ОС и вторичную машину ввода/вывода. Вторичная машина ввода/вывода связывается с первичной машиной ввода/вывода. При отказе первичной системы остальная часть вычислительной системы переключается на вторичную систему фактически без прерывания. Это становится возможным потому, что каждое событие исполняется по существу последовательно резервной системой и первичной системой. Таким образом, при отказе компонентов работа системы не прерывается. Кроме того, как только достигается начальная синхронизация, никакой передачи состояния не требуется. Это упрощает систему, снижает требования к управлению памятью и обеспечивает обслуживание без прерывания.
На фиг. 1 изображена блок-схема предпочтительного варианта реализации настоящего изобретения; на фиг. 2 - подробное изображение ввода/вывода фиг. 1; на фиг. 3 - подробное изобретение машины ОС фиг. 1; на фиг. 4 - блок-схема, иллюстрирующая работу машины ОС во время исполнения запросов и событий; на фиг. 5 - блок-схема, иллюстрирующая работу первичной и вторичной машин ввода-вывода во время исполнения событий; на фиг. 6, 7 - блок-схема, иллюстрирующая работу первичной и вторичной машин ввода/вывода во время исполнения запросов; на фиг. 8 - схема, иллюстрирующая переходы из одного состояния в другое согласно настоящего изобретения; на фиг. 9 - блок-схема, иллюстрирующая синхронизацию первичной и вторичной систем; на фиг. 10 - блок-схема альтернативного варианта этого изобретения.
Описывается отказоустойчивая система, используемая в качестве сервера сети. В последующем описании определяются конкретные детали с целью обеспечения более полного описания настоящего изобретения. Однако, для специалиста в данной области техники должно быть очевидно, что настоящее изобретение может быть реализовано на практике без этих конкретных деталей. В других случаях хорошо известные признаки не описываются подробно, чтобы подчеркнуть сущность.
Блок-схема предпочтительного варианта этого изобретения приводится на фиг. 1. Изобретение касается первичного процессора и операционной системы, в основном разработанной для тех элементов, которые находятся внутри штриховой линии 21, и резервного или вторичного процессора и операционной системы, в основном разработанной для тех элементов, которые находятся внутри штриховой линии 22. Первичная операционная система 21 включает машину операционной системы (ОС) 10, связанную с машиной ввода/вывода (В/В) 12. Машина ввода/вывода и машина ОС связываются через очереди "событие" и "запрос". Машина В/В записывает события в очередь событий, а машина ОС считает события. Машина ОС записывает запросы в очередь запросов, а машина В/В считывает запрос.
Резервная система 22 включает свою собственную машину ОС 16, которая связывается через очередь событий 17 и очередь запросов 42 с машиной В/В 18. Машина В/В 12 связывается с машиной В/В 18 через высокоскоростные коммуникационные шины 15А и 15B. Шины 15А и 15B представляют один аппаратный канал, который используется для связи двух типов сообщений, А и B. Высокоскоростная коммуникационная шина используется для передачи событий из первичного сервера во вторичный сервер (15А). Она также используется для других связей машин В/В (15B). Машина В/В 12 может также иметь доступ к массовой памяти через линию 13. Машина В/В также связывается с другими устройствами, такими как таймеры, клавиатуры, дисплеи и т.д., показанные символически как блок 44А, связанный с машиной В/В 12 через линию 64. Машина В/В 18 связывается через линию 19 с массовой памятью 20. Машина В/В 12 и машина В/В 18 подключаются к сети 23. Машина В/В 18 соединяется с блоком 44B (таймеры, клавиатуры, дисплеи и т.д.) через шину 65.
Машина В/В 12 принимает данные и синхронные события от вычислительной системы, для которой она является блоком. Например, если изобретение используется как сетевой сервер, машина В/В 12 принимает пакеты из локальной сети (ЛВС) от другого устройства, связанного с сетью. Машина В/В также управляет и сопрягается с физическими устройствами и драйверами устройств, такими как устройство массовой памяти 14, клавиатура или таймер.
Машина ОС работает по приему данных от машин В/В через очереди событий 11 и 17. После выполнения необходимой операции данные возвращаются в машины В/В через очереди запросов 41 и 42 для вывода на другие системные устройства.
Первичный сервер 21 принимает данные или события из сети 23 по входной линии 24. Машина В/В 12 преобразует эти события или данные в формат "сообщение". Каждое сообщение отражает данные или событие, которое может изменять состояние операционной системы. Машина В/В 12 выдает эти сообщения на шину 15А и, когда машина В/В 18 сигнализирует, что она принимает сообщение, сообщение затем передается машинами В/В 12 и 18 на обе машины ОС через шины очереди сообщений о событиях 11 и 17. Эти сообщения последовательно исполняются машинами ОС 10 и 16. За счет очередности сообщений временная зависимость устраняется из системы таким образом, что все асинхронные события преобразуются в синхронную строку сообщений о событиях. Путем отделения машины ОС от машины В/В эта машина в состоянии работать как автомат конечного состояния, имеющий одномерное изображение системы (т.е. очередь сообщений о событиях).
Шины 15А и 15B, связывающие первичную машину В/В 12 с вторичной машиной В/В 18, используют двунаправленный коммуникационный канал. В идеальном случае шины 15А и 15B обеспечивают высокоскоростную связь, имеют малую задержку и низкие непроизводительные издержки центрального процессора (ЦП). Для данного изобретения может быть использован любой подходящий коммуникационный канал, включая расширитель шины и платы локальной вычислительной сети (ЛВС).
Машина ОС и машина В/В могут использоваться по желанию на одном процессоре. Иначе, могут применяться отдельные процессоры, один - для машины ОС и один - для машины B/B. В этом изобретении могут быть также использованы дополнительные машины ОС с дополнительными процессорами. Затем состояния всех машин ОС копируются.
Безотносительно к тому, используется ли один или два процессора для машины ОС и машины В/В, ОЗУ системы делится между этими двумя машинами. Машины В/В могут иметь доступ к памяти машины ОС, но машина ОС не имеет доступа в память машины В/В. Это происходит потому, что адреса буфера памяти могут отличаться для первичной и вторичной машин В/В, приводят к тому, что состояния первичной и вторичной машин ОС становятся различными, если им был разрешен доступ к адресам памяти машины В/В.
Необходимо, чтобы основной и резервный серверы имели идентичные процессоры. Производительность процессоров должна быть одинаковой (тип ЦП, скорость ЦП), и процессоры должны исполнять инструкции идентичным образом, необязательно соблюдать идентичность по контактам и уровню цикла шин, а только по значениям, записанным в память, и по последовательности инструкций. Например, микропроцессор 80386, изготовленный фирмой "Интел", Санта Клара, Калифорния, может использоваться в первичном сервере, а Интел 80486 - во вторичном сервере. Вторичная машина должна иметь больший объем ОЗУ по сравнению с первичной машиной. Кроме того, как первичный, так и вторичный серверы должны иметь одинаковую емкость и конфигурацию дисковой памяти.
В аппарат и/или программные средства могут быть внесены дополнения и изменения без потерь в сервисе обслуживания. Например, пользователь может пожелать добавить ОЗУ в первичный и вторичный серверы. Для реализации этого первичный и вторичный серверы отключаются от системы. Если первичный сервер переводится в автономный режим работы, вторичный сервер расценивает это как неисправность и будет начинать работать в режиме первичного сервера и, таким образом, не происходит разрыва или прерывания работы системы. Затем в сервер, находящийся в автономном режиме, вносятся изменения и он переводится в диалоговый режим. Серверы затем повторно синхронизируются, и другой сервер переводится в автономный режим и обновляется. После внесения изменений во второй сервер он переводится в диалоговый режим и серверы повторно синхронизируются и запускаются в работу с использованием добавленного ОЗУ. Таким образом, аппаратные и программные изменения могут быть внесены без потери в сервисе обслуживания. Несмотря на то, что изобретение связывается с сетевыми серверами, оно в равной степени может использоваться в универсальных вычислительных системах.
Для инициализации вторичной операционной системы все новые события не поступают на первичную машину ОС 10 до тех пор, пока она не перейдет в стабильное состояние. В этот момент состояние машины ОС 10 (занесенное в память отображения машины ОС 10) передается через шину сообщений 15В в машину ОС 16 резервной операционной системы. Тогда машина ОС 10 имеет идентичное состояние с машиной ОС 16. В этот момент все сообщения, формируемые машиной В/В 12, которые передаются на машину ОС 10, также поступают на шину 15А машины В/В 18 для передачи в машину ОС 16. Поскольку обе машины ОС 10 и 16 начинают работу в идентичном состоянии и принимают идентичные входные сигналы, каждая машина ОС будет переходить в идентичное состояние после каждого события или сообщения.
Согласно настоящему изобретению идентичные сообщения формируют идентичные состояния в первичной и вторичной машинах операционной системы, и, таким образом, операции по профилактическому копированию памяти в контрольных точках предыдущего состояния не требуется. Времязависимые признаки минимизируются и синхронизации соответствующих машин ОС для одновременной работы не требуется, поскольку синхронные и асинхронные события поступают в очередь сообщений и она в свою очередь служит в качестве способа преобразования асинхронных событий в синхронные.
Если в первичной системе происходит сбой, вторичная машина В/В 18 вторичной операционной системы связывается с сетью 23. Затем вторичная машина В/В 18 используется для генерации сообщений, которые поступают на вторичную машину ОС 16. Из-за того, что резервная операционная система находится в том же состоянии, что и основная операционная система, то во время переключения сервера никаких потерь в производительности для клиентов, использующих сервер, не возникает.
Разделение машин В/В и ОС
Согласно настоящему изобретению машины В/В и ОС, по существу, логически независимы. Для предотвращения нежелательного изменения состояния, которое не может быть скопировано в резервную машину ОС, данные, разделяемые машинами В/В и ОС, управляются следующим образом. Каждая машина имеет свой собственный автономный диспетчер процесса, интерпретатор команд, систему управления памятью и код, связанный с той частью ОС, которая тесно связана с его функцией.
Согласно настоящему изобретению машины В/В и ОС, по существу, логически независимы. Для предотвращения нежелательного изменения состояния, которое не может быть скопировано в резервную машину ОС, данные, разделяемые машинами В/В и ОС, управляются следующим образом. Каждая машина имеет свой собственный автономный диспетчер процесса, интерпретатор команд, систему управления памятью и код, связанный с той частью ОС, которая тесно связана с его функцией.
Разделение между машиной ОС и машиной В/В делается выше уровня аппаратных драйверов, в слое обеспечения драйверов. Программное обеспечение слоя обеспечения драйверов дублируется как в машину В/В, так и в машину ОС и обеспечивает одинаковый интерфейс верхнего уровня. Программное обеспечение поддержки слоя модифицируется для машины В/В и машины ОС. Слой поддержки драйверов машины В/В обеспечивает интерфейсы с уровнем драйверов и связи с физическими аппаратными драйверами. Он преобразует события, возникающие на уровне аппаратного драйвера, в сообщения, которые поступают в очередь событий машины ОС.
Машина ОС не имеет программы поддержки интерфейса аппаратных драйверов, такие как регистровые прерывания или распределения адресов портов ввода/вывода. Когда машина ОС запрашивает операцию, включающую аппаратный компонент (например, запись или считывание с диска), программное обеспечение уровня поддержки драйверов в машине ОС преобразует воздействие в запрос и передает его в очередь запросов машины В/В для исполнения. Результаты этого запроса затем возвращаются в машину ОС как сообщение о событии, формируемом слоем поддержки драйверов машины В/В.
Машина ввода/вывода
Как показано на фиг.2, машина В/В содержит три уровня: уровень драйверов, уровень программного управления и уровень сообщений. Драйверы устройств 26А-26Е обеспечивают управление аппаратными элементами, такими как печатающие устройства, устройства памяти (например, дисковые накопители), дисплеи, адаптеры ЛВС, клавиатуры и т.д. Уровень программного управления включает контроллеры для драйверов устройств. Например, дисковый блок 27 управляет драйвером дискового устройства (например, драйвер дискового устройства 26A). Дисковый блок 27 управляет инициированием операции считывания и записи на диск. Кроме того, дисковый блок 27 следит за состоянием дисковой операции. Дисковый блок 27 первичной машины В/В (т.е. машины В/В 12) связывает состояние дисковых операций с резервной машиной В/В. Первичная массовая память 14 и вторичная массовая память 20 является, по существу, идентичными системами. Если первичная машина В/В выполняет операцию чтения с диска 14, она связывается с машиной В/В 18, на которой операция чтения завершена. Если первичная машина В/В выполняет сначала чтение, данные могут быть посланы как сообщение через шину 15В на вторичную машину В/В 18. В других случаях машина В/В 18 считывает данные с ее собственного дискового накопителя 20.
Как показано на фиг.2, машина В/В содержит три уровня: уровень драйверов, уровень программного управления и уровень сообщений. Драйверы устройств 26А-26Е обеспечивают управление аппаратными элементами, такими как печатающие устройства, устройства памяти (например, дисковые накопители), дисплеи, адаптеры ЛВС, клавиатуры и т.д. Уровень программного управления включает контроллеры для драйверов устройств. Например, дисковый блок 27 управляет драйвером дискового устройства (например, драйвер дискового устройства 26A). Дисковый блок 27 управляет инициированием операции считывания и записи на диск. Кроме того, дисковый блок 27 следит за состоянием дисковой операции. Дисковый блок 27 первичной машины В/В (т.е. машины В/В 12) связывает состояние дисковых операций с резервной машиной В/В. Первичная массовая память 14 и вторичная массовая память 20 является, по существу, идентичными системами. Если первичная машина В/В выполняет операцию чтения с диска 14, она связывается с машиной В/В 18, на которой операция чтения завершена. Если первичная машина В/В выполняет сначала чтение, данные могут быть посланы как сообщение через шину 15В на вторичную машину В/В 18. В других случаях машина В/В 18 считывает данные с ее собственного дискового накопителя 20.
Блок 28 ЛВС управляет внешними коммуникациями, также как в локальной вычислительной сети. Однако, это изобретение не ограничивается локальными вычислительными сетями и может применяться любой тип связи. Контроллер ЛВС принимает информационные пакеты из сети и определяет, можно ли послать этот пакет в машину ОС.
Блок отображения информации 29 управляет коммуникациями устройства отображения информации, такого как экран на ЭЛТ, через драйвер устройства 26 С. Блок таймера 30 обеспечивает управление системными часами, а блок клавиатуры 31 обеспечивает интерфейс и связь с клавиатурой.
Блок сообщений 47 преобразует системные события в сообщения с целью формирования очереди событий машины ОС и обслуживает очередь запросов от машины ОС. Сообщение состоит из поля заголовка и поля данных. Поле заголовка отражает тип сообщения или операцию. Поле данных содержит данные, над которыми выполняются операции. Уровень сообщений связывает сообщения о событиях с машинами В/В через шину событий 15A.
Машина ОС
Применительно к фиг.3 машина ОС включает уровень сообщений 32 для выборки из очереди сообщений, которые принимаются последовательно от машины В/В и для выборки запросов для обеспечения машины ОС запросами к блоку запросов 47 машины В/В. Машина ОС также включает программные средства управления, соответствующие программным средствам управления машины В/В. Например, машина ОС включает программные средства управления диском 33, программные средства управления ЛВС 34, программные средства управления сообщениями 35, программные средства управления таймером 36 и программные средства клавиатуры 37. Верхний уровень 48 машины ОС представляет операционную систему вычислительной системы, использующую данное изобретение.
Применительно к фиг.3 машина ОС включает уровень сообщений 32 для выборки из очереди сообщений, которые принимаются последовательно от машины В/В и для выборки запросов для обеспечения машины ОС запросами к блоку запросов 47 машины В/В. Машина ОС также включает программные средства управления, соответствующие программным средствам управления машины В/В. Например, машина ОС включает программные средства управления диском 33, программные средства управления ЛВС 34, программные средства управления сообщениями 35, программные средства управления таймером 36 и программные средства клавиатуры 37. Верхний уровень 48 машины ОС представляет операционную систему вычислительной системы, использующую данное изобретение.
Программные средства управления диском 33 управляют зеркальным копированием данных на резервные диски 14 и 20. Когда завершается дисковая операция, такая как операция считывания диска, программные средства управления диском 33 определяют, будут ли машины В/В 12 и 18 выполнять операцию считывания или первичная машина В/В будет выполнять считывание и передачу данных на вторичную машину В/В 18. Программные средства управления таймером 36 управляют временными событиями. В общем случае операционная система имеет таймер, который периодически прерывается. Часто это прерывание таймера используется для времязависимых операций. В этом изобретении прерывание таймера само по себе является событием во входной очереди. Путем включения прерывания таймера в сообщение таймерные события становятся относительными вместо абсолютных. Таймерные события изменяются с асинхронных событий на синхронные. Блок 34 ЛВС, дисплейный блок 35 и блок клавиатуры 37 управляют, соответственно, событиями в сети, дисплее и клавиатуре.
Работа машины ОС осуществляется следующим образом
Когда машина ОС принимает сообщение о событии, в состоянии машины ОС могут произойти некоторые изменения и эти изменения занимают некоторое конечное время. В данном изобретении, как только сообщение было принято машиной ОС, эта машина выполняет все операции, которые должны исполняться как функция сообщения. После выполнения всех таких операций машина ОС проверяет очередь сообщений, чтобы убедиться в наличии другого сообщения, готового к исполнению. Если другого сообщения нет, машина ОС становится неактивной до появления сообщения. Такая методика работы требуется для того, чтобы первичная машина ОС и вторичная машина ОС оставались синхронизированными. Новые сообщения могут быть получены первичной и вторичной машинами ОС в различные моменты времени из-за асинхронной работы машины В/В. Поэтому отсутствие или наличие нового события не может быть обработано или использовано для изменения состояния машины ОС.
Когда машина ОС принимает сообщение о событии, в состоянии машины ОС могут произойти некоторые изменения и эти изменения занимают некоторое конечное время. В данном изобретении, как только сообщение было принято машиной ОС, эта машина выполняет все операции, которые должны исполняться как функция сообщения. После выполнения всех таких операций машина ОС проверяет очередь сообщений, чтобы убедиться в наличии другого сообщения, готового к исполнению. Если другого сообщения нет, машина ОС становится неактивной до появления сообщения. Такая методика работы требуется для того, чтобы первичная машина ОС и вторичная машина ОС оставались синхронизированными. Новые сообщения могут быть получены первичной и вторичной машинами ОС в различные моменты времени из-за асинхронной работы машины В/В. Поэтому отсутствие или наличие нового события не может быть обработано или использовано для изменения состояния машины ОС.
В предпочтительном варианте настоящего изобретения среда ОС определяется как предварительно непустая. Предварительное обнуление является собственно асинхронным событием. Согласно предыдущему уровню техники, исполняемая задача может быть прервана и заменена другой задачей посредством прерывания от таймера. Поскольку настоящая система одновременно исполняет одно сообщение, прерывание от таймера или запрос на предварительное обнуление не оказывают воздействия на машину ОС до тех пор, пока она не доходит до этого сообщения в очереди сообщений. Задача, запускаемая на машине ОС, должна прекращать управление перед тем, как событие таймера может быть принято и исполнено машиной ОС.
Межмашинная связь
В настоящем изобретении обеспечивается управление между машиной ОС и машиной В/В. Изобретение строится на принципе сохранения одиночного источника входа в машину ОС, тем самым предотвращая временную зависимость событий и изменений, сделанных машинами В/В, от состояния машины ОС.
В настоящем изобретении обеспечивается управление между машиной ОС и машиной В/В. Изобретение строится на принципе сохранения одиночного источника входа в машину ОС, тем самым предотвращая временную зависимость событий и изменений, сделанных машинами В/В, от состояния машины ОС.
Связь между машиной В/В и машиной ОС отличается тем, что:
1. Машина ОС может осуществлять доступ только к своей собственной памяти. Все коммуникации между машиной ОС и машиной В/В должны возникать в памяти машины ОС. Машина ОС не может иметь доступ к памяти, предназначенной для машины В/В. Связность памяти сохраняется. Первичная и вторичная машины ОС зеркально копируются в данном изобретении, а первичная и вторичная машины В/В - нет. Поэтому содержимое памяти каждой машины В/В может быть различным. Пока машины ОС не обращаются в память В/В, сохраняется состояние синхронизации.
1. Машина ОС может осуществлять доступ только к своей собственной памяти. Все коммуникации между машиной ОС и машиной В/В должны возникать в памяти машины ОС. Машина ОС не может иметь доступ к памяти, предназначенной для машины В/В. Связность памяти сохраняется. Первичная и вторичная машины ОС зеркально копируются в данном изобретении, а первичная и вторичная машины В/В - нет. Поэтому содержимое памяти каждой машины В/В может быть различным. Пока машины ОС не обращаются в память В/В, сохраняется состояние синхронизации.
2. Когда машина ОС запрашивает модификацию блока памяти машиной В/В, машина ОС не может иметь доступа в этот блок памяти до тех пор, пока машина В/В не посылает обратно событие, указывающее машине ОС, что модификация проведена. Первичная и вторичная машины ОС не работают в режиме точной синхронизации. Они могут иметь некоторые перекосы и отклонения в их операциях (хотя состояния всегда сходятся). Кроме того, первичная и вторичная машины В/В могут модифицировать в различные моменты времени память машины ОС. Если затем машиной ОС принимаются решения, связанные с текущим содержимым ячейки памяти в процессе изменения их машиной В/В и ячейки памяти содержат различные данные, благодаря различным временам модификации, синхронизация состояний между машинами ОС будет потеряна.
В реальной работе, если машина ОС запрашивает копирование данных из машины В/В, она указывает рабочему буферу сохранять данные и передает адрес рабочего буфера в машину В/В. Машина В/В копирует запрашиваемые данные в рабочий буфер и формирует событие в машину ОС, подтверждающее, что данные перемещены. Машина ОС копирует данные из рабочего буфера в конечное их место назначения и освобождает рабочий буфер.
3. Машина В/В не может изменять память, обозначенную как память машины ОС, если она не имеет явного контроля над этой ячейкой памяти машины ОС. Как только машина В/В передает обратное управление машине ОС (через событие), машина В/В не может иметь доступа к этой памяти.
4. Программные средства машины ОС не могут "упорядочить" изменения значения памяти без передачи управления процессором во время цикла упорядоченного опроса абонентов, поскольку машина ОС не может предварительно обнулиться или прерваться согласно настоящему изобретению. Все изменения делаются через события, а новые события не принимаются до тех пор, пока процессор не переустанавливается запускаемым процессором.
При отказе первичного сервера вторичный сервер становится основным сервером. Адрес машины ОС не изменяется, но сообщения, принимаемые из "сети", перенаправляются для непосредственной их передачи на вторичный сервер.
Зеркальное копирование диска
Первичная память 14 и вторичная память 20 должны, согласно данного изобретения, зеркально копироваться. Когда новая вторичная машина входит в диалоговый режим, дисковая система распределяет драйверы во вторичной машине в соответствии с драйверами на первичной машине. Драйверы на двух машинах маркируются счетчиками "текущий уровень синхронизации", который может быть использован для индикации, какой из драйверов не является больше текущим или что два драйвера уже полностью синхронизированы. Если в состоянии синхронизации происходит какое-либо изменение (например, отказывает другой сервер), текущий уровень синхронизации получает приращение от сохранившегося сервера. Сохранившаяся машина также запускает блоки отслеживания памяти, которые записываются на диск. Когда отказавшая машина снова входит в диалоговый режим, после проверки на соответствие состояния среды с прежним, отремонтированная машина может быть вторично синхронизирована путем передачи только тех блоков памяти, которые были изменены при возникновении неисправности. Когда система впервые включается и основная первичная машина входит в диалоговый режим, она отслеживает, какой из дисковых блоков был изменен по тем же причинам.
Первичная память 14 и вторичная память 20 должны, согласно данного изобретения, зеркально копироваться. Когда новая вторичная машина входит в диалоговый режим, дисковая система распределяет драйверы во вторичной машине в соответствии с драйверами на первичной машине. Драйверы на двух машинах маркируются счетчиками "текущий уровень синхронизации", который может быть использован для индикации, какой из драйверов не является больше текущим или что два драйвера уже полностью синхронизированы. Если в состоянии синхронизации происходит какое-либо изменение (например, отказывает другой сервер), текущий уровень синхронизации получает приращение от сохранившегося сервера. Сохранившаяся машина также запускает блоки отслеживания памяти, которые записываются на диск. Когда отказавшая машина снова входит в диалоговый режим, после проверки на соответствие состояния среды с прежним, отремонтированная машина может быть вторично синхронизирована путем передачи только тех блоков памяти, которые были изменены при возникновении неисправности. Когда система впервые включается и основная первичная машина входит в диалоговый режим, она отслеживает, какой из дисковых блоков был изменен по тем же причинам.
Связь первичной и вторичной машин В/В
Машина В/В первичной системы определяет последовательность событий, подаваемых на первичную машину ОС и вторичную машину ОС. Событие плюс данные, которые были модифицированы в памяти первичной машины ОС, связываются с вторичной машиной ОС перед тем, как первичная машина ОС передает событие в очередь событий. Эта связь осуществляется через шину 15A. Машина В/В вторичной системы модифицирует память вторичной машины ОС и передает событие во вторичную машину ОС.
Машина В/В первичной системы определяет последовательность событий, подаваемых на первичную машину ОС и вторичную машину ОС. Событие плюс данные, которые были модифицированы в памяти первичной машины ОС, связываются с вторичной машиной ОС перед тем, как первичная машина ОС передает событие в очередь событий. Эта связь осуществляется через шину 15A. Машина В/В вторичной системы модифицирует память вторичной машины ОС и передает событие во вторичную машину ОС.
Кроме коммуникации событий, первичная и вторичная машины В/В связывают и другую информацию. Обеспечиваются такие механизмы, которые позволяют программам обслуживания слоя различных драйверов связываться с их партнерами в другой системе. Эта связь является двунаправленной и осуществляется через шину 15B. Примеры такой связи включают расширение запросов на ввод/вывод от диска и связь данных ввода/вывода диска, когда данные запоминаются только на одной из систем, благодаря отказу аппаратных средств диска.
Имеются две процедуры, используемые для связи между машинами ОС. "AddFSEVent" используется машиной В/В для передачи сообщения в машину ОС, а "Make 10 Reguest" вызывается машиной ОС для связи запроса к машине В/В. AddFSEVent может быть вызвана только первичной машиной В/В. Оба вызова используют тип запроса или тип события для идентификации выполнения запроса или события. Кроме того, оба обращения передают параметр, определяемый функционально-ориентированным образом. Например, это может быть указатель на структуру данных в памяти машины ОС.
Когда машина В/В первичной системы модифицирует структуру данных в машине ОС, подобные модификации должны быть сделаны во вторичной машине ОС перед тем, как событие передается в машину ОС. AddFSEVent может задавать указатели на структуры данных в машине ОС, которые должны быть переданы во вторичный сервер вместе с событиями для передачи модификаций машины ОС во вторичную систему.
Во вторичной системе в машине В/В имеются процедуры управления, по одной на каждый тип запроса, которые вызываются, когда принимаются сообщения от первичного сервера. Процедура управления вызывается с первоначальным параметром и указателями на массивы в машине ОС, которые необходимо модифицировать.
Процедуры управления событиями во вторичной машине В/В имеют вариант приема или отмены хранения информации. Отмена хранения информации должна использоваться в случае, если событие возникает в ответ на запрос от машины ОС, а вторичная система еще не передавала запрос. Если событие не отменяло хранение информации, тогда потенциально память может быть преждевременно временно изменена в машине ОС. Обычно блоки управления событиями во вторичной машине В/В снимают невыполненный запрос, который они отслеживают и сигнализируют о готовности к приему события. Отметим, что блоки управления событиями во вторичной системе могут выполнять другие модификации в памяти машины ОС, если это необходимо для прикладной задачи.
Для первичной машины В/В важно ожидать до тех пор, пока вторичная система не принимает событие перед его передачей и в первичную машину ОС. В других случаях первичная машина ОС может обрабатывать событие и выдавать ответ перед тем, как исходное событие передается во вторичную систему (событие может быть задержано в очереди первичной системы, ожидая посылки во вторичную систему). Если первичная система выработала запрос, который был функцией события, не полностью переданного во вторичную систему, тогда при отказе первичной системы ее состояние, как видно со стороны внешнего пользователя, не должно синхронизироваться вторичной системой.
Состояния сервера во время работы и переходов
Программные средства машины В/В работают в четырех состояниях: неактивное состояние сервера, первичная система при отсутствии состояния вторичной системы, первичная система при наличии состояния вторичной системы и состояние вторичной системы. Кроме того, машина В/В осуществляет следующие переходы из состояния в состояние: из состояния неактивного сервера в состояние первичной системы без вторичной, состояние первичной системы без вторичной в состояние первичной системы с вторичной и состояние вторичной системы в состояние первичной системы. Имеется несколько дополнительных состояний, которые возникают во время синхронизации вторичной системы.
Программные средства машины В/В работают в четырех состояниях: неактивное состояние сервера, первичная система при отсутствии состояния вторичной системы, первичная система при наличии состояния вторичной системы и состояние вторичной системы. Кроме того, машина В/В осуществляет следующие переходы из состояния в состояние: из состояния неактивного сервера в состояние первичной системы без вторичной, состояние первичной системы без вторичной в состояние первичной системы с вторичной и состояние вторичной системы в состояние первичной системы. Имеется несколько дополнительных состояний, которые возникают во время синхронизации вторичной системы.
Состояния системы, согласно данного изобретения, иллюстрируются на фиг. 8. Как отмечено, машина В/В работает в одном из четырех состояний S1, S2, S3 и S4. Состояние S1 (машина не находится в состоянии сервера) возникает, когда машина В/В работает, а машина ОС - нет. Состояние S2 (первичная система без вторичной) возникает, когда загружаются как машина В/В, так и машина ОС, но система зеркально не копируется. Когда система зеркально копируется. Когда система зеркально копируется, она переходит в состояние, когда первичная машина ОС и машина В/В работает как первичная машина В/В.
Состояние S3 определяется как первичная система с вторичной. В этом состоянии машина В/В запускается в зеркально скопированную первичную систему. Состояние S4 (вторичная система с первичной) возникает в том случае, когда машина В/В запускается в зеркально скопированную вторичную систему.
Имеется пять возможных переходов из состояния в состояние, которые могут быть опробованы машиной В/В. Они обозначаются линиями Т1-Т5. Первый переход Е1 обеспечивает переход из состояния S1 в состояние S2. Этот переход возникает после запуска машины ОС.
Второй переход Т2 обеспечивает переход из состояния S2 в состояние S3 и происходит в первичной системе в тот момент, когда она синхронизируется с вторичной системой. Переход Т3 осуществляется из состояния S1 в состояние S4 и возникает во вторичной системе в тот момент, когда машина ОС синхронизируется с первичной системой.
Переход Т4 обеспечивает переход из состояния S4 в состояние S2 и происходит при отказе первичной системы. Переход S5 осуществляется из состояния S3 в состояние S2 и возникает при отказе вторичной системы.
Слежение за вторичным сервером и исполнение запросов
Машина В/В вторичной системы принимает запросы из ее собственной машины ОС, но обычно не исполняет их. Вместо этого она вводит запрос в очередь и ожидает до тех пор, пока первичная система В/В отвечает на запрос, а затем получает копию ответа (событие, сформированное первичной системой В/В), снимает из очереди свою собственную копию запроса и обеспечивает передачу события в его собственную машину ОС.
Машина В/В вторичной системы принимает запросы из ее собственной машины ОС, но обычно не исполняет их. Вместо этого она вводит запрос в очередь и ожидает до тех пор, пока первичная система В/В отвечает на запрос, а затем получает копию ответа (событие, сформированное первичной системой В/В), снимает из очереди свою собственную копию запроса и обеспечивает передачу события в его собственную машину ОС.
Вторичная машина В/В может вводить запросы в очередь от машины ОС по некоторым причинам. Первая из них, машина ОС обычно ожидает некоторый вид ответного сообщения на каждый из ее запросов. Если первичная система отказывает, тогда вторичная система (теперь первичная система) формирует запрос и вырабатывает соответствующее ответное событие. Другой причиной является то, что вторичная система ожидает до тех пор, пока она не принимает запрос перед тем, как она может принять ответное событие (случай, который может возникнуть, если первичная система работает значительно впереди вторичной системы), в остальных случаях вторичная система может передавать данные в ее машину ОС в тот момент, когда машина ОС не вполне готова принять ответное событие. Если вторичная машина имеет запрос, введенный в очередь, она будет принимать ответное сообщение, если нет, она сигнализирует первичной системе "снять запоминание" и попытаться снова.
Имеются запросы, выдаваемые машиной ОС, которые должны исполняться обоими серверами, а затем иметь фактически выполненное событие, скоординированное первичной системой. Одним из примеров такого запроса является запись на диск. Вторичная система сигнализирует первичной системе, когда она выполняет запрос; первичная система ожидает до тех пор, пока выполняется запись и принимается подтверждение о выполнении от вторичной системы перед тем, как последняя генерирует завершение события.
Блок-схема, иллюстрирующая исполнение событий и запросов, приводится на фиг. 4-7. Ссылаясь на фиг. 4, работа машин ОС иллюстрируется следующим образом.
Работа машины ОС, когда она вырабатывает запрос, показана на этапах 51 и 52. Работа машины ОС, когда она принимает событие, иллюстрируется этапами 53 и 54. На этапе 51 слой управления ОС определяет, что необходимо для выполнения операции ввода/вывода. На этапе 52 машина ОС генерирует запрос для машины В/В и вводит режим ожидания, ожидая ответного события от машины В/В.
На этапе 53 событие принимается от машины В/В в очередь событий машины ОС. Событие передается на соответствующий блок слоя управления, такой как дисковый блок, блок ЛВС, блок клавиатуры и т.д. На этапе 54 слой управления завершает начальное событие В/В посредством согласования его с первоначальным запросом.
Блок-схема, иллюстрирующая работу машины В/В во время состояний обработки события, приводится на фиг.5. Этапы 53-58 иллюстрируют первичную машину В/В, а этапы 59-63 иллюстрируют вторичную машину В/В. На этапе 55 слой управления первичной машины В/В определяет, имеется ли событие для очереди машины ОС. На этапе 56 это событие встраивается в сообщение и посылается на вторичную машину В/В. Первичная машина В/В затем ожидает до тех пор, пока вторичная машина В/В не подтвердит сообщение перед передачей его на первичную машину ОС. В блоке решения 57 формируется решение, принято ли событие вторичной машиной ОС. Если событие не принимается, первичная машина В/В ожидает до тех пор, пока не будет получено подтверждение. Если вторичная машина В/В приняла событие, удовлетворяющее состоянию блока 57, машина В/В помещает событие в очередь событий первичной машины ОС на этапе 58.
Вторичная машина В/В на этапе 59 ожидает событие от первичной машины В/В. В блоке решения 60 вторичная машина В/В определяет, находится ли она в состоянии готовности для приема события. Если вторичная машина В/В не готова, она не посылает сообщение приема в первичную машину В/В на этапе 61 и возвращается на этап 59 для ожидания другого события. Если вторичная машина В/В готова получить сообщение и условия в блоке решения 60 выполняются, вторичная машина В/В посылает подтверждение события в первичную машину В/В на этапе 62. Затем вторичная машина В/В помещает событие в очередь событий вторичной машины ОС на этапе 63.
Фиг. 6 иллюстрирует состояние обработки машины В/В, когда запросы на обработку генерируются машиной ОС. Этапы 70-74 иллюстрируют состояние первичной машины В/В во время этих операций, а этапы 75-81 (фиг.7) иллюстрируют вторичную машину В/В во время этих операций. На этапе 70 уровень сообщений машины В/В определяет, имеется ли запрос, готовый для очереди запросов. На этапе 71 запрос исполняется машиной В/В. Этот запрос может представлять запрос на операцию записи на диск, посылку пакета в ЛВС и т.д. В блоке решения 72 определяется, требуется ли также исполнение запроса вторичной машины В/В. Если другого исполнения не требуется, первичная машина В/В переходит к этапу 74. Если требуется вторичное исполнение, первичная машина В/В переходит к блоку решения 73. Если вторичный процессор завершает работу, первичная машина В/В переходит к этапу 74А. Если вторичный этап не завершается, первичная машина В/В ожидает до тех пор, пока не завершится вторичный этап. В блоке решения 74А делается определение, генерируется ли запрос о завершении события. Если ответ положительный, первичная машина В/В переходит к этапу 74B и вырабатывает ответ о завершении события. Если завершение события не требуется, первичная машина В/В переходит к этапу 74C и завершает работу.
На этапе 75 уровень сообщений вторичной машины В/В определяет, имеется ли запрос, поступающий из машины ОС. В блоке решения 76 определяется, требуется ли вторичный процессор для исполнения запроса. Если вторичная машина В/В используется для исполнения запроса, вторичная машина В/В переходит к этапу 77 и исполняет запрос. После исполнения запроса вторичная машина В/В информирует первичную машину В/В об окончании операции. Если вторичная машина В/В не исполняет запрос, то она переходит к блоку решения 79 и определяет, вырабатывает ли запрос завершение события. Если запросом не вырабатывается завершение события, вторичная машина В/В переходит к этапу 80 и завершает работу. Если запрос вырабатывает событие, вторичная машина В/В ожидает соответствующее событие от первичной машины на этапе 81.
Последовательность синхронизации сервера
Во время синхронизации вторичной системы с первичной системой полное состояние машины ОС, также как и состояние первичной машины В/В, относящееся к состоянию машины ОС, должно быть связано с вторичной системой. Для инициации синхронизации первичной и вторичной систем машина ОС первичной системы "зависает" для новых событий. Таким образом, новые события не поступают в очередь сообщений первичной системы. После опустошения очереди сообщений первичной системы машина ОС первичной системы зацикливается, ожидая нового события. Когда машина ОС ожидает нового события, она снова находится в стабильном состоянии и остается в таком состоянии до тех пор, пока не вводится новое событие. Полное состояние машины ОС тогда содержится в образе памяти машины ОС; затем образ памяти просто передается во вторичную систему. В конце концов обе машины ОС получают одинаковый набор новых событий и начинают зеркальное копирование друг друга.
Во время синхронизации вторичной системы с первичной системой полное состояние машины ОС, также как и состояние первичной машины В/В, относящееся к состоянию машины ОС, должно быть связано с вторичной системой. Для инициации синхронизации первичной и вторичной систем машина ОС первичной системы "зависает" для новых событий. Таким образом, новые события не поступают в очередь сообщений первичной системы. После опустошения очереди сообщений первичной системы машина ОС первичной системы зацикливается, ожидая нового события. Когда машина ОС ожидает нового события, она снова находится в стабильном состоянии и остается в таком состоянии до тех пор, пока не вводится новое событие. Полное состояние машины ОС тогда содержится в образе памяти машины ОС; затем образ памяти просто передается во вторичную систему. В конце концов обе машины ОС получают одинаковый набор новых событий и начинают зеркальное копирование друг друга.
Блок-схема, иллюстрирующая последовательность синхронизации, согласно данному изобретению, приводится на фиг. 9. Этапы 85-89 отражают состояния и переходы первичного сервера. Этапы 90-93 отражают состояния и переходы вторичного сервера. Первичный сервер вначале находится в состоянии S2 на этапе 85, а вторичный сервер вначале находится в состоянии S1 (только машина В/В) на этапе 90.
Машины В/В координируют последовательность синхронизации. Когда серверам подается команда на синхронизацию, программные средства управления первичной машины В/В подготавливают синхронизацию на этапе 86. Это позволяет слоям поддержки различных драйверов связываться с машиной ОС и выполнять любые задачи, которые будут сохранять синхронизацию. Первичная система запускает "зависание" машины ОС и приостанавливает также прием запросов от машины ОС.
Затем любые ожидающие запросы, которые исполняются машиной В/В, обрабатываются (и соответствующее завершенное событие, передаваемое в образ машины ОС в памяти, скрывается и не подается в это время в машину ОС). На этапах 87 и 91 машины В/В обмениваются информацией о состоянии. Первичная машина В/В передает информацию о своем состоянии во вторичную машину В/В таким образом, что машины В/В осознают состояния друг друга плюс что вторичная машина В/В распознает любое ожидающее состояние от машины В/В. Этот этап отображается этапом 91 последовательности вторичной машины В/В.
На этапе 88 первичная машина В/В передает образ памяти машины ОС на вторичный сервер. Это соответствует этапу 92 последовательности вторичного сервера, в которой вторичная машина В/В принимает образ памяти машины ОС от первичного сервера.
На этапе 89 синхронизация завершается и первичная система находится в состоянии S3 (первичная с вторичной). Подобным образом, согласно этапу 93 вторичного сервера, процесс синхронизации завершается, и вторичный сервер находится в состоянии S4.
Во время процесса синхронизации могут возникнуть отказы сервера или коммуникаций. Если отказывает первичная система или нарушается связь сервера с сервером, вторичная система должна быть в порядке. Если отказывает вторичная система или коммуникация, первичная система должна быть восстановлена и возвратиться в состояние S2 "Первичная без вторичной". Эти отказы указываются в разное время во время процесса синхронизации. После внесения изменений скрытые и поставленные в очередь события возвращаются в машину ОС и машина В/В снова начинает обработку запросов от машины ОС. Если отказ происходит во время синхронизации, программные средства управления машиной В/В уничтожают все изменения, которые были сделаны для синхронизации, и возвращаются обратно в состояние до зеркального копирования.
Переход при отказе первичного сервера
При возникновении отказа вторичной системы все сообщения в очереди, которые должны быть посланы во вторичную систему, отбрасываются. Если сообщения являются событиями машины ОС, они просто передаются в нее. Уровень обслуживания драйверов машины В/В полностью обрабатывает любые запросы, которые ожидают уведомления от вторичной системы.
При возникновении отказа вторичной системы все сообщения в очереди, которые должны быть посланы во вторичную систему, отбрасываются. Если сообщения являются событиями машины ОС, они просто передаются в нее. Уровень обслуживания драйверов машины В/В полностью обрабатывает любые запросы, которые ожидают уведомления от вторичной системы.
Несколько машин ОС и дополнительные процессоры
Настоящее изобретение использует термины "первичные" и "вторичные" серверы, каждый из которых имеет одну машину ОС. Альтернативный вариант, согласно настоящему изобретению, иллюстрируется на фиг.10, на которой первичный и/или вторичный сервер может иметь одну или более машин ОС. Согласно фиг.10, первичный сервер включает три процессора. Процессор 1 использует машину В/В первичного сервера. Первая и вторая машины ОС используются, соответственно, в процессоре 2 и процессоре 3.
Настоящее изобретение использует термины "первичные" и "вторичные" серверы, каждый из которых имеет одну машину ОС. Альтернативный вариант, согласно настоящему изобретению, иллюстрируется на фиг.10, на которой первичный и/или вторичный сервер может иметь одну или более машин ОС. Согласно фиг.10, первичный сервер включает три процессора. Процессор 1 использует машину В/В первичного сервера. Первая и вторая машины ОС используются, соответственно, в процессоре 2 и процессоре 3.
Подобным образом вторичный сервер имеет первый процессор, использующий машину В/В, и второй и третий процессоры, использующие первую и вторую машины ОС. Во время работы несколько очередей событий обеспечивается для каждой машины ОС таким образом, что каждая машина ОС работает с одинаковыми событиями. В этом случае состояния каждой машины ОС могут по существу обслуживаться идентично таким образом, что при отказе одного сервера начинает работать второй.
Таким образом описана отказоустойчивая вычислительная система.
Claims (12)
1. Способ формирования отказоустойчивой вычислительной системы, заключающийся в том, что создают первое средство обработки, содержащее первую машину операционной системы и первую машину ввода-вывода, создают второе средство обработки, содержащее вторую машину операционной системы и вторую машину ввода-вывода, определяют состояние первого средства обработки и обеспечивают передачу состояния первого средства обработки во вторые средства обработки, определяют наличие сообщения для первой машины операционной системы, передают сообщение в первую машину ввода-вывода, в которой преобразуют каждое сообщение во входные сигналы, отличающийся тем, что передают входные сигналы в первую машину операционной системы, а затем передают входные сигналы во вторую машину операционной системы через вторую машину ввода-вывода, обрабатывают входные сигналы в первой машине операционной системы и во второй машине операционной системы таким образом, что первая и вторая машины переходят в идентичные состояния.
2. Способ по п.1, отличающийся тем, что определяют наличие отказа первого средства обработки и передают каждое сообщение во вторую машину ввода-вывода, в которой преобразуют каждое сообщение во входные сигналы, передают входные сигналы во вторую машину операционной системы, обрабатывают входные сигналы во второй машине операционной системы.
3. Способ по п.1, отличающийся тем, что определение состояния первого средства обработки основано на обработке первой машинной операционной системы любых доступных ей сообщений до тех пор, пока первая машина операционной системы не переходит в режим "Ожидание нового сообщения", передача состояния первого средства обработки во вторые средства обработки основана на передаче образа памяти первой машины операционной системы через первую и вторую машины ввода-вывода во вторую машины операционной системы.
4. Способ по п.1, отличающийся тем, что первые средства обработки включают по крайней мере один процессор.
5. Способ по п.1, отличающийся тем, что вторые средства обработки включают по крайней мере один процессор.
6. Способ по п.1, отличающийся тем, что генерируют запрос для выполнения операции ввода-вывода в первую машину операционной системы, передают запрос в первую машину ввода-вывода для обработки первой машиной ввода-вывода, генерируют ответ в первую машину операционной системы для индикации исполнения указанного запроса.
7. Отказоустойчивая вычислительная система, содержащая первое средство обработки, состоящее из первой машины операционной системы и первой машины ввода-вывода, причем вход-выход первой машины операционной системы соединен с первым входом-выходом первой машины ввода-вывода, второе средство обработки, состоящее из второй машины ввода-вывода и второй машины операционной системы, причем первый вход-выход второй машины ввода-вывода соединен с входом-выходом второй машины операционной системы, первая и вторая машины операционной системы выполнены идентичными по записанным в их память значениям и по последовательности команд, отличающаяся тем, что второй вход-выход первой машины ввода-вывода соединен с вторым входом-выходом второй машины ввода-вывода, выход первой машины ввода-вывода соединен с входом второй машины ввода-вывода.
8. Система по п.7, отличающаяся тем, что содержит первое средство хранения информации, причем вход-выход первого средства хранения информации соединен с входом-выходом первого средства обработки, первое средство хранения информации выполнено с возможностью запоминания образа памяти, соответствующего состоянию первой машины операционной системы.
9. Система по п.8, отличающаяся тем, что содержит второе средство хранения информации, причем вход-выход второго средства хранения соединен с входом-выходом второго средства обработки, второе средство хранения информации выполнено с возможностью запоминания образа памяти, соответствующего состоянию второй машины операционной системы.
10. Система по п.7, отличающаяся тем, что первая и вторая машины ввода-вывода выполнены с возможностью управления связью внешними входными и выходными устройствами.
11. Система по п. 7, отличающаяся тем, что первая машина операционной системы выполнена с возможностью управления исполнением инструкций отказоустойчивой вычислительной системы.
12. Система по п.11, отличающаяся тем, что вторая машина операционной системы выполнена с возможностью управления исполнением инструкций отказоустойчивой вычислительной системы, когда первая машина операционной системы не может исполнять инструкции.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/586,807 US5157663A (en) | 1990-09-24 | 1990-09-24 | Fault tolerant computer system |
US586,807 | 1990-09-24 | ||
PCT/US1991/005679 WO1992005487A1 (en) | 1990-09-24 | 1991-08-09 | Fault tolerant computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
RU93005211A RU93005211A (ru) | 1997-12-20 |
RU2108621C1 true RU2108621C1 (ru) | 1998-04-10 |
Family
ID=24347179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU93005211A RU2108621C1 (ru) | 1990-09-24 | 1991-08-09 | Отказоустойчивая вычислительная система и способ ее формирования |
Country Status (13)
Country | Link |
---|---|
US (2) | US5157663A (ru) |
EP (1) | EP0550457B1 (ru) |
JP (1) | JP3156083B2 (ru) |
KR (1) | KR0137406B1 (ru) |
AT (1) | ATE152261T1 (ru) |
AU (1) | AU660939B2 (ru) |
BR (1) | BR9106875A (ru) |
CA (1) | CA2091993C (ru) |
DE (1) | DE69125840T2 (ru) |
FI (1) | FI101432B (ru) |
NO (1) | NO302986B1 (ru) |
RU (1) | RU2108621C1 (ru) |
WO (1) | WO1992005487A1 (ru) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2562059C2 (ru) * | 2010-07-22 | 2015-09-10 | Эл Джи Электроникс Инк. | Способ и устройство для передачи и приема данных нисходящей линии связи для мобильной станции без мобильности в состоянии бездействия |
RU2570837C2 (ru) * | 2010-09-24 | 2015-12-10 | Юрепиен Юнион | Аппарат и способ |
RU170236U1 (ru) * | 2016-09-19 | 2017-04-18 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Томский государственный университет систем управления и радиоэлектроники" (ТУСУР) | Резервированная многоканальная вычислительная система |
RU2641477C1 (ru) * | 2014-04-14 | 2018-01-17 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство для конфигурирования обеспечивающего резервирование решения в архитектуре облачных вычислений |
RU2683613C1 (ru) * | 2018-03-30 | 2019-03-29 | Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) | Система управления сетью pos-терминалов |
Families Citing this family (337)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
JP2864741B2 (ja) * | 1990-12-19 | 1999-03-08 | 株式会社日立製作所 | データインテグリティを保証する通信システム |
DE69231452T2 (de) * | 1991-01-25 | 2001-05-03 | Hitachi Ltd | Fehlertolerantes Rechnersystem mit Verarbeitungseinheiten die je mindestens drei Rechnereinheiten haben |
JP3189903B2 (ja) * | 1991-06-03 | 2001-07-16 | 富士通株式会社 | ケーパビリティの退避・復元機構を持つ装置 |
DE69227956T2 (de) * | 1991-07-18 | 1999-06-10 | Tandem Computers Inc | Multiprozessorsystem mit gespiegeltem Speicher |
US5278969A (en) * | 1991-08-02 | 1994-01-11 | At&T Bell Laboratories | Queue-length monitoring arrangement for detecting consistency between duplicate memories |
EP0537903A2 (en) * | 1991-10-02 | 1993-04-21 | International Business Machines Corporation | Distributed control system |
WO1993009494A1 (en) * | 1991-10-28 | 1993-05-13 | Digital Equipment Corporation | Fault-tolerant computer processing using a shadow virtual processor |
US5379417A (en) * | 1991-11-25 | 1995-01-03 | Tandem Computers Incorporated | System and method for ensuring write data integrity in a redundant array data storage system |
JPH05191388A (ja) * | 1992-01-14 | 1993-07-30 | Fujitsu Ltd | 通信処理システム |
EP0559222A2 (en) * | 1992-03-06 | 1993-09-08 | Microsoft Corporation | Improved method for loading programs |
JPH05260134A (ja) * | 1992-03-12 | 1993-10-08 | Fujitsu Ltd | 伝送装置の監視システム |
FR2688907B1 (fr) * | 1992-03-20 | 1994-05-27 | Kiota Int | Procede d'enregistrement et de lecture d'une bande magnetique bicouche et systeme de mise en óoeuvre. |
CA2106280C (en) * | 1992-09-30 | 2000-01-18 | Yennun Huang | Apparatus and methods for fault-tolerant computing employing a daemon monitoring process and fault-tolerant library to provide varying degrees of fault tolerance |
US5715386A (en) * | 1992-09-30 | 1998-02-03 | Lucent Technologies Inc. | Apparatus and methods for software rejuvenation |
GB2273180A (en) * | 1992-12-02 | 1994-06-08 | Ibm | Database backup and recovery. |
US5751932A (en) * | 1992-12-17 | 1998-05-12 | Tandem Computers Incorporated | Fail-fast, fail-functional, fault-tolerant multiprocessor system |
US5914953A (en) | 1992-12-17 | 1999-06-22 | Tandem Computers, Inc. | Network message routing using routing table information and supplemental enable information for deadlock prevention |
US5469573A (en) * | 1993-02-26 | 1995-11-21 | Sytron Corporation | Disk operating system backup and recovery system |
US5608872A (en) * | 1993-03-19 | 1997-03-04 | Ncr Corporation | System for allowing all remote computers to perform annotation on an image and replicating the annotated image on the respective displays of other comuters |
US5664195A (en) * | 1993-04-07 | 1997-09-02 | Sequoia Systems, Inc. | Method and apparatus for dynamic installation of a driver on a computer system |
JP3047275B2 (ja) * | 1993-06-11 | 2000-05-29 | 株式会社日立製作所 | バックアップ切り換え制御方法 |
AU7211194A (en) * | 1993-06-23 | 1995-01-17 | Vinca Corporation | Method for improving disk mirroring error recovery in a computer system including an alternate communication path |
US5812748A (en) * | 1993-06-23 | 1998-09-22 | Vinca Corporation | Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system |
US5978565A (en) | 1993-07-20 | 1999-11-02 | Vinca Corporation | Method for rapid recovery from a network file server failure including method for operating co-standby servers |
AU7211594A (en) * | 1993-07-20 | 1995-02-20 | Vinca Corporation | Method for rapid recovery from a network file server failure |
US6289390B1 (en) | 1993-08-18 | 2001-09-11 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US5473771A (en) * | 1993-09-01 | 1995-12-05 | At&T Corp. | Fault-tolerant processing system architecture |
US5566299A (en) * | 1993-12-30 | 1996-10-15 | Lockheed Martin Corporation | Fault tolerant method and system for high availability document image and coded data processing |
KR0128271B1 (ko) * | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템 |
JP2790034B2 (ja) * | 1994-03-28 | 1998-08-27 | 日本電気株式会社 | 非運用系メモリ更新方式 |
JP3140906B2 (ja) * | 1994-04-12 | 2001-03-05 | 株式会社エヌ・ティ・ティ・データ | システムファイルの更新及び復元方法 |
JPH10506483A (ja) * | 1994-06-10 | 1998-06-23 | テキサス・マイクロ・インコーポレーテッド | フォールト・トレラントなコンピュータ・システムのためのメイン・メモリ・システム及びチェックポイント用プロトコル |
US5566297A (en) * | 1994-06-16 | 1996-10-15 | International Business Machines Corporation | Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments |
US5659682A (en) * | 1994-06-16 | 1997-08-19 | International Business Machines Corporation | Scheme to determine completion of directory operations for server recovery |
JPH0816421A (ja) * | 1994-07-04 | 1996-01-19 | Hitachi Ltd | 一重化/二重化切り替え入出力ポートを有する電子装置とフォールトトレラントシステム |
JPH0816446A (ja) * | 1994-07-05 | 1996-01-19 | Fujitsu Ltd | クライアント/サーバ・システム |
US5537533A (en) * | 1994-08-11 | 1996-07-16 | Miralink Corporation | System and method for remote mirroring of digital data from a primary network server to a remote network server |
US5764903A (en) * | 1994-09-26 | 1998-06-09 | Acer America Corporation | High availability network disk mirroring system |
US5996001A (en) * | 1994-09-27 | 1999-11-30 | Quarles; Philip | High availability on-line transaction processing system |
US5649152A (en) | 1994-10-13 | 1997-07-15 | Vinca Corporation | Method and system for providing a static snapshot of data stored on a mass storage system |
US5835953A (en) | 1994-10-13 | 1998-11-10 | Vinca Corporation | Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating |
KR0133337B1 (ko) * | 1994-12-21 | 1998-04-21 | 양승택 | 타켓 시스템 이중화 운용관리 장치 및 방법 |
US5757642A (en) * | 1995-01-20 | 1998-05-26 | Dell Usa L.P. | Multi-function server input/output subsystem and method |
CA2167634A1 (en) * | 1995-01-23 | 1996-07-24 | Michael E. Fisher | Method and apparatus for maintaining network connections across a voluntary process switchover |
US5790791A (en) * | 1995-05-12 | 1998-08-04 | The Boeing Company | Apparatus for synchronizing flight management computers where only the computer chosen to be the master received pilot inputs and transfers the inputs to the spare |
US5675723A (en) * | 1995-05-19 | 1997-10-07 | Compaq Computer Corporation | Multi-server fault tolerance using in-band signalling |
US5696895A (en) * | 1995-05-19 | 1997-12-09 | Compaq Computer Corporation | Fault tolerant multiple network servers |
US5822512A (en) * | 1995-05-19 | 1998-10-13 | Compaq Computer Corporartion | Switching control in a fault tolerant system |
TW292365B (en) | 1995-05-31 | 1996-12-01 | Hitachi Ltd | Computer management system |
US6901433B2 (en) * | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5621885A (en) * | 1995-06-07 | 1997-04-15 | Tandem Computers, Incorporated | System and method for providing a fault tolerant computer program runtime support environment |
US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
JP3086779B2 (ja) * | 1995-06-19 | 2000-09-11 | 株式会社東芝 | メモリ状態復元装置 |
US5594863A (en) * | 1995-06-26 | 1997-01-14 | Novell, Inc. | Method and apparatus for network file recovery |
US5933599A (en) * | 1995-07-17 | 1999-08-03 | Microsoft Corporation | Apparatus for presenting the content of an interactive on-line network |
US6728959B1 (en) | 1995-08-08 | 2004-04-27 | Novell, Inc. | Method and apparatus for strong affinity multiprocessor scheduling |
US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
US5956509A (en) * | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US6029175A (en) * | 1995-10-26 | 2000-02-22 | Teknowledge Corporation | Automatic retrieval of changed files by a network software agent |
US5737514A (en) * | 1995-11-29 | 1998-04-07 | Texas Micro, Inc. | Remote checkpoint memory system and protocol for fault-tolerant computer system |
US5745672A (en) * | 1995-11-29 | 1998-04-28 | Texas Micro, Inc. | Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer |
US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
US5751939A (en) * | 1995-11-29 | 1998-05-12 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory |
US5802265A (en) * | 1995-12-01 | 1998-09-01 | Stratus Computer, Inc. | Transparent fault tolerant computer system |
US5838921A (en) * | 1995-12-08 | 1998-11-17 | Silicon Graphics, Inc. | Distributed connection management system with replication |
GB2308040A (en) * | 1995-12-09 | 1997-06-11 | Northern Telecom Ltd | Telecommunications system |
GB9601585D0 (en) * | 1996-01-26 | 1996-03-27 | Hewlett Packard Co | Fault-tolerant processing method |
GB9601584D0 (en) * | 1996-01-26 | 1996-03-27 | Hewlett Packard Co | Fault-tolerant processing method |
US5777874A (en) * | 1996-02-12 | 1998-07-07 | Allen-Bradley Company, Inc. | Programmable controller backup system |
US5761518A (en) * | 1996-02-29 | 1998-06-02 | The Foxboro Company | System for replacing control processor by operating processor in partially disabled mode for tracking control outputs and in write enabled mode for transferring control loops |
US5905860A (en) * | 1996-03-15 | 1999-05-18 | Novell, Inc. | Fault tolerant electronic licensing system |
US5708776A (en) * | 1996-05-09 | 1998-01-13 | Elonex I.P. Holdings | Automatic recovery for network appliances |
US5796934A (en) * | 1996-05-31 | 1998-08-18 | Oracle Corporation | Fault tolerant client server system |
US6032271A (en) * | 1996-06-05 | 2000-02-29 | Compaq Computer Corporation | Method and apparatus for identifying faulty devices in a computer system |
US5852724A (en) * | 1996-06-18 | 1998-12-22 | Veritas Software Corp. | System and method for "N" primary servers to fail over to "1" secondary server |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US6321270B1 (en) * | 1996-09-27 | 2001-11-20 | Nortel Networks Limited | Method and apparatus for multicast routing in a network |
TW379298B (en) * | 1996-09-30 | 2000-01-11 | Toshiba Corp | Memory updating history saving device and memory updating history saving method |
US6484208B1 (en) | 1996-10-15 | 2002-11-19 | Compaq Information Technologies Group, L.P. | Local access of a remotely mirrored disk in a computer network |
US5917997A (en) * | 1996-12-06 | 1999-06-29 | International Business Machines Corporation | Host identity takeover using virtual internet protocol (IP) addressing |
JP3507307B2 (ja) * | 1996-12-27 | 2004-03-15 | キヤノン株式会社 | 情報処理装置およびネットワークプリントシステムおよびその制御方法およびプログラムが格納された記憶媒体 |
US6151688A (en) | 1997-02-21 | 2000-11-21 | Novell, Inc. | Resource management in a clustered computer system |
JPH10240557A (ja) * | 1997-02-27 | 1998-09-11 | Mitsubishi Electric Corp | 待機冗長化システム |
US6654933B1 (en) | 1999-09-21 | 2003-11-25 | Kasenna, Inc. | System and method for media stream indexing |
US5941999A (en) * | 1997-03-31 | 1999-08-24 | Sun Microsystems | Method and system for achieving high availability in networked computer systems |
US6073209A (en) * | 1997-03-31 | 2000-06-06 | Ark Research Corporation | Data storage controller providing multiple hosts with access to multiple storage subsystems |
US7389312B2 (en) * | 1997-04-28 | 2008-06-17 | Emc Corporation | Mirroring network data to establish virtual storage area network |
US5892928A (en) * | 1997-05-13 | 1999-04-06 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver |
US6247898B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Computer fan speed control system |
US6243838B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Method for automatically reporting a system failure in a server |
US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
US6192434B1 (en) | 1997-05-13 | 2001-02-20 | Micron Electronics, Inc | System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6253334B1 (en) | 1997-05-13 | 2001-06-26 | Micron Electronics, Inc. | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses |
US6170067B1 (en) | 1997-05-13 | 2001-01-02 | Micron Technology, Inc. | System for automatically reporting a system failure in a server |
US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
US6249834B1 (en) | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
US6324608B1 (en) | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
US6163853A (en) | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method for communicating a software-generated pulse waveform between two servers in a network |
US6122758A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for mapping environmental resources to memory for program access |
US6292905B1 (en) * | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
US6134673A (en) * | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method for clustering software applications |
US6122746A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for powering up and powering down a server |
US6269417B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Method for determining and displaying the physical slot number of an expansion bus device |
US6148355A (en) * | 1997-05-13 | 2000-11-14 | Micron Electronics, Inc. | Configuration management method for hot adding and hot replacing devices |
US6282673B1 (en) | 1997-05-13 | 2001-08-28 | Micron Technology, Inc. | Method of recording information system events |
US5987554A (en) * | 1997-05-13 | 1999-11-16 | Micron Electronics, Inc. | Method of controlling the transfer of information across an interface between two buses |
US6195717B1 (en) | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
US6526333B1 (en) | 1997-05-13 | 2003-02-25 | Micron Technology, Inc. | Computer fan speed control system method |
US6134668A (en) * | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method of selective independent powering of portion of computer system through remote interface from remote interface power supply |
US6163849A (en) * | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method of powering up or powering down a server to a maintenance state |
US6219734B1 (en) | 1997-05-13 | 2001-04-17 | Micron Electronics, Inc. | Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver |
US6338150B1 (en) * | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6173346B1 (en) | 1997-05-13 | 2001-01-09 | Micron Electronics, Inc. | Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals |
US6170028B1 (en) | 1997-05-13 | 2001-01-02 | Micron Electronics, Inc. | Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6073255A (en) * | 1997-05-13 | 2000-06-06 | Micron Electronics, Inc. | Method of reading system log |
US6304929B1 (en) | 1997-05-13 | 2001-10-16 | Micron Electronics, Inc. | Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6182180B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Apparatus for interfacing buses |
US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
US6138250A (en) * | 1997-05-13 | 2000-10-24 | Micron Electronics, Inc. | System for reading system log |
US6202111B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
US6499073B1 (en) | 1997-05-13 | 2002-12-24 | Micron Electronics, Inc. | System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals |
US6179486B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver |
US6266721B1 (en) | 1997-05-13 | 2001-07-24 | Micron Electronics, Inc. | System architecture for remote access and control of environmental management |
US6247079B1 (en) * | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc | Apparatus for computer implemented hot-swap and hot-add |
US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
US6249828B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver |
US6418492B1 (en) | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
US6490610B1 (en) | 1997-05-30 | 2002-12-03 | Oracle Corporation | Automatic failover for clients accessing a resource through a server |
US6199110B1 (en) | 1997-05-30 | 2001-03-06 | Oracle Corporation | Planned session termination for clients accessing a resource through a server |
US5983371A (en) * | 1997-07-11 | 1999-11-09 | Marathon Technologies Corporation | Active failure detection |
JP3111935B2 (ja) * | 1997-08-15 | 2000-11-27 | 日本電気株式会社 | Lanエミュレーションサーバ二重化方式 |
US6212585B1 (en) | 1997-10-01 | 2001-04-03 | Micron Electronics, Inc. | Method of automatically configuring a server after hot add of a device |
US6088816A (en) * | 1997-10-01 | 2000-07-11 | Micron Electronics, Inc. | Method of displaying system status |
US6154835A (en) * | 1997-10-01 | 2000-11-28 | Micron Electronics, Inc. | Method for automatically configuring and formatting a computer system and installing software |
US6263387B1 (en) | 1997-10-01 | 2001-07-17 | Micron Electronics, Inc. | System for automatically configuring a server after hot add of a device |
GB2330034A (en) | 1997-10-01 | 1999-04-07 | Northern Telecom Ltd | A narrowband to broadband interface for a communications system |
US6138179A (en) * | 1997-10-01 | 2000-10-24 | Micron Electronics, Inc. | System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk |
US6199173B1 (en) | 1997-10-01 | 2001-03-06 | Micron Electronics, Inc. | Method for mapping environmental resources to memory for program access |
US6009541A (en) * | 1997-10-01 | 1999-12-28 | Micron Electronics, Inc. | Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine |
US6175490B1 (en) | 1997-10-01 | 2001-01-16 | Micron Electronics, Inc. | Fault tolerant computer system |
US6065053A (en) * | 1997-10-01 | 2000-05-16 | Micron Electronics, Inc. | System for resetting a server |
US6035420A (en) * | 1997-10-01 | 2000-03-07 | Micron Electronics, Inc. | Method of performing an extensive diagnostic test in conjunction with a bios test routine |
US6014667A (en) * | 1997-10-01 | 2000-01-11 | Novell, Inc. | System and method for caching identification and location information in a computer network |
US6173420B1 (en) * | 1997-10-31 | 2001-01-09 | Oracle Corporation | Method and apparatus for fail safe configuration |
US6799224B1 (en) * | 1998-03-10 | 2004-09-28 | Quad Research | High speed fault tolerant mass storage network information server |
DE19810814B4 (de) * | 1998-03-12 | 2004-10-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung |
DE19810807A1 (de) * | 1998-03-12 | 1999-09-23 | Ericsson Telefon Ab L M | Gerät und Verfahren zum Umsetzen von Meldungen |
US6185695B1 (en) * | 1998-04-09 | 2001-02-06 | Sun Microsystems, Inc. | Method and apparatus for transparent server failover for highly available objects |
US6260155B1 (en) | 1998-05-01 | 2001-07-10 | Quad Research | Network information server |
US6061602A (en) * | 1998-06-23 | 2000-05-09 | Creative Lifestyles, Inc. | Method and apparatus for developing application software for home automation system |
US6195739B1 (en) | 1998-06-29 | 2001-02-27 | Cisco Technology, Inc. | Method and apparatus for passing data among processor complex stages of a pipelined processing engine |
US6101599A (en) * | 1998-06-29 | 2000-08-08 | Cisco Technology, Inc. | System for context switching between processing elements in a pipeline of processing elements |
US6513108B1 (en) | 1998-06-29 | 2003-01-28 | Cisco Technology, Inc. | Programmable processing engine for efficiently processing transient data |
US6119215A (en) * | 1998-06-29 | 2000-09-12 | Cisco Technology, Inc. | Synchronization and control system for an arrayed processing engine |
US6836838B1 (en) | 1998-06-29 | 2004-12-28 | Cisco Technology, Inc. | Architecture for a processor complex of an arrayed pipelined processing engine |
US6154849A (en) * | 1998-06-30 | 2000-11-28 | Sun Microsystems, Inc. | Method and apparatus for resource dependency relaxation |
US6223234B1 (en) | 1998-07-17 | 2001-04-24 | Micron Electronics, Inc. | Apparatus for the hot swap and add of input/output platforms and devices |
US6205503B1 (en) | 1998-07-17 | 2001-03-20 | Mallikarjunan Mahalingam | Method for the hot swap and add of input/output platforms and devices |
US9361243B2 (en) | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
US8234477B2 (en) | 1998-07-31 | 2012-07-31 | Kom Networks, Inc. | Method and system for providing restricted access to a storage medium |
DE19836347C2 (de) | 1998-08-11 | 2001-11-15 | Ericsson Telefon Ab L M | Fehlertolerantes Computersystem |
US7305451B2 (en) * | 1998-08-24 | 2007-12-04 | Microsoft Corporation | System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network |
US6266785B1 (en) | 1998-09-01 | 2001-07-24 | Ncr Corporation | File system filter driver apparatus and method |
US6247141B1 (en) | 1998-09-24 | 2001-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Protocol for providing replicated servers in a client-server system |
US6728839B1 (en) | 1998-10-28 | 2004-04-27 | Cisco Technology, Inc. | Attribute based memory pre-fetching technique |
US6460146B1 (en) * | 1998-12-04 | 2002-10-01 | Cisco Technology, Inc. | System and method for establishing processor redundancy |
US6389459B1 (en) * | 1998-12-09 | 2002-05-14 | Ncr Corporation | Virtualized storage devices for network disk mirroring applications |
US6173386B1 (en) | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
US6385747B1 (en) | 1998-12-14 | 2002-05-07 | Cisco Technology, Inc. | Testing of replicated components of electronic device |
US6920562B1 (en) | 1998-12-18 | 2005-07-19 | Cisco Technology, Inc. | Tightly coupled software protocol decode with hardware data encryption |
US6853623B2 (en) | 1999-03-05 | 2005-02-08 | Cisco Technology, Inc. | Remote monitoring of switch network |
US6457138B1 (en) * | 1999-04-19 | 2002-09-24 | Cisco Technology, Inc. | System and method for crash handling on redundant systems |
US6298474B1 (en) | 1999-04-30 | 2001-10-02 | Intergral Vision, Inc. | Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system and computer-readable storage medium having a program for executing the method |
US6681341B1 (en) | 1999-11-03 | 2004-01-20 | Cisco Technology, Inc. | Processor isolation method for integrated multi-processor systems |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
TW454120B (en) | 1999-11-11 | 2001-09-11 | Miralink Corp | Flexible remote data mirroring |
US7203732B2 (en) * | 1999-11-11 | 2007-04-10 | Miralink Corporation | Flexible remote data mirroring |
US6338126B1 (en) * | 1999-12-06 | 2002-01-08 | Legato Systems, Inc. | Crash recovery without complete remirror |
US6769027B1 (en) * | 2000-01-31 | 2004-07-27 | Avaya Technology Corp. | System and method for using multi-headed queues for bookmarking in backup/recover scenarios |
US6738826B1 (en) | 2000-02-24 | 2004-05-18 | Cisco Technology, Inc. | Router software upgrade employing redundant processors |
JP2001256067A (ja) * | 2000-03-08 | 2001-09-21 | Mitsubishi Electric Corp | プロセッサ省電力制御方法、記憶媒体、およびプロセッサ省電力制御装置 |
US6892237B1 (en) | 2000-03-28 | 2005-05-10 | Cisco Technology, Inc. | Method and apparatus for high-speed parsing of network messages |
JP3651353B2 (ja) * | 2000-04-04 | 2005-05-25 | 日本電気株式会社 | デジタルコンテンツ再生システム及びデジタルコンテンツ配信システム |
US6735717B1 (en) * | 2000-04-13 | 2004-05-11 | Gnp Computers, Inc. | Distributed computing system clustering model providing soft real-time responsiveness and continuous availability |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6691225B1 (en) | 2000-04-14 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Method and apparatus for deterministically booting a computer system having redundant components |
US6802022B1 (en) | 2000-04-14 | 2004-10-05 | Stratus Technologies Bermuda Ltd. | Maintenance of consistent, redundant mass storage images |
US6901481B2 (en) | 2000-04-14 | 2005-05-31 | Stratus Technologies Bermuda Ltd. | Method and apparatus for storing transactional information in persistent memory |
US6505269B1 (en) | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
US6892221B2 (en) * | 2000-05-19 | 2005-05-10 | Centerbeam | Data backup |
US7225244B2 (en) * | 2000-05-20 | 2007-05-29 | Ciena Corporation | Common command interface |
US6983362B1 (en) | 2000-05-20 | 2006-01-03 | Ciena Corporation | Configurable fault recovery policy for a computer system |
US6742134B1 (en) | 2000-05-20 | 2004-05-25 | Equipe Communications Corporation | Maintaining a local backup for data plane processes |
US6715097B1 (en) | 2000-05-20 | 2004-03-30 | Equipe Communications Corporation | Hierarchical fault management in computer systems |
US6760859B1 (en) | 2000-05-23 | 2004-07-06 | International Business Machines Corporation | Fault tolerant local area network connectivity |
US7263476B1 (en) | 2000-06-12 | 2007-08-28 | Quad Research | High speed information processing and mass storage system and method, particularly for information and application servers |
US20020004849A1 (en) * | 2000-06-22 | 2002-01-10 | Elink Business | Fault tolerant internet communications system |
US6728897B1 (en) | 2000-07-25 | 2004-04-27 | Network Appliance, Inc. | Negotiating takeover in high availability cluster |
US7277956B2 (en) | 2000-07-28 | 2007-10-02 | Kasenna, Inc. | System and method for improved utilization of bandwidth in a computer system serving multiple users |
CA2457557A1 (en) * | 2000-08-10 | 2002-02-21 | Miralink Corporation | Data/presence insurance tools and techniques |
US6977927B1 (en) | 2000-09-18 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system of allocating storage resources in a storage area network |
US6804819B1 (en) | 2000-09-18 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, system, and computer program product for a data propagation platform and applications of same |
US7386610B1 (en) | 2000-09-18 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Internet protocol data mirroring |
US6871271B2 (en) | 2000-12-21 | 2005-03-22 | Emc Corporation | Incrementally restoring a mass storage device to a prior state |
US6941490B2 (en) * | 2000-12-21 | 2005-09-06 | Emc Corporation | Dual channel restoration of data between primary and backup servers |
US7054927B2 (en) * | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
US6990667B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US6862692B2 (en) | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
US6606690B2 (en) | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
AU2002247257A1 (en) | 2001-03-02 | 2002-09-19 | Kasenna, Inc. | Metadata enabled push-pull model for efficient low-latency video-content distribution over a network |
US8244864B1 (en) | 2001-03-20 | 2012-08-14 | Microsoft Corporation | Transparent migration of TCP based connections within a network load balancing system |
US7065672B2 (en) | 2001-03-28 | 2006-06-20 | Stratus Technologies Bermuda Ltd. | Apparatus and methods for fault-tolerant computing using a switching fabric |
US7028228B1 (en) | 2001-03-28 | 2006-04-11 | The Shoregroup, Inc. | Method and apparatus for identifying problems in computer networks |
US7296194B1 (en) | 2002-03-28 | 2007-11-13 | Shoregroup Inc. | Method and apparatus for maintaining the status of objects in computer networks using virtual state machines |
US7197561B1 (en) * | 2001-03-28 | 2007-03-27 | Shoregroup, Inc. | Method and apparatus for maintaining the status of objects in computer networks using virtual state machines |
US6971043B2 (en) * | 2001-04-11 | 2005-11-29 | Stratus Technologies Bermuda Ltd | Apparatus and method for accessing a mass storage device in a fault-tolerant server |
US6928579B2 (en) * | 2001-06-27 | 2005-08-09 | Nokia Corporation | Crash recovery system |
US7072911B1 (en) * | 2001-07-27 | 2006-07-04 | Novell, Inc. | System and method for incremental replication of changes in a state based distributed database |
US6920579B1 (en) | 2001-08-20 | 2005-07-19 | Network Appliance, Inc. | Operator initiated graceful takeover in a node cluster |
US7137026B2 (en) | 2001-10-04 | 2006-11-14 | Nokia Corporation | Crash recovery system |
US7177267B2 (en) * | 2001-11-09 | 2007-02-13 | Adc Dsl Systems, Inc. | Hardware monitoring and configuration management |
US6954877B2 (en) * | 2001-11-29 | 2005-10-11 | Agami Systems, Inc. | Fault tolerance using logical checkpointing in computing systems |
US7296125B2 (en) * | 2001-11-29 | 2007-11-13 | Emc Corporation | Preserving a snapshot of selected data of a mass storage system |
US7730153B1 (en) | 2001-12-04 | 2010-06-01 | Netapp, Inc. | Efficient use of NVRAM during takeover in a node cluster |
US6802024B2 (en) | 2001-12-13 | 2004-10-05 | Intel Corporation | Deterministic preemption points in operating system execution |
KR100441712B1 (ko) * | 2001-12-29 | 2004-07-27 | 엘지전자 주식회사 | 확장 가능형 다중 처리 시스템 및 그의 메모리 복제 방법 |
US7007142B2 (en) * | 2002-02-19 | 2006-02-28 | Intel Corporation | Network data storage-related operations |
US7039828B1 (en) | 2002-02-28 | 2006-05-02 | Network Appliance, Inc. | System and method for clustered failover without network support |
GB0206604D0 (en) * | 2002-03-20 | 2002-05-01 | Global Continuity Plc | Improvements relating to overcoming data processing failures |
US7571221B2 (en) * | 2002-04-03 | 2009-08-04 | Hewlett-Packard Development Company, L.P. | Installation of network services in an embedded network server |
US7058849B2 (en) * | 2002-07-02 | 2006-06-06 | Micron Technology, Inc. | Use of non-volatile memory to perform rollback function |
US7885896B2 (en) | 2002-07-09 | 2011-02-08 | Avaya Inc. | Method for authorizing a substitute software license server |
US8041642B2 (en) | 2002-07-10 | 2011-10-18 | Avaya Inc. | Predictive software license balancing |
US7240048B2 (en) * | 2002-08-05 | 2007-07-03 | Ben Pontius | System and method of parallel pattern matching |
US6782424B2 (en) * | 2002-08-23 | 2004-08-24 | Finite State Machine Labs, Inc. | System, method and computer program product for monitoring and controlling network connections from a supervisory operating system |
US7216363B2 (en) * | 2002-08-30 | 2007-05-08 | Avaya Technology Corp. | Licensing duplicated systems |
US7707116B2 (en) | 2002-08-30 | 2010-04-27 | Avaya Inc. | Flexible license file feature controls |
US7966520B2 (en) * | 2002-08-30 | 2011-06-21 | Avaya Inc. | Software licensing for spare processors |
US7698225B2 (en) | 2002-08-30 | 2010-04-13 | Avaya Inc. | License modes in call processing |
US7228567B2 (en) * | 2002-08-30 | 2007-06-05 | Avaya Technology Corp. | License file serial number tracking |
US7681245B2 (en) | 2002-08-30 | 2010-03-16 | Avaya Inc. | Remote feature activator feature extraction |
US7051053B2 (en) * | 2002-09-30 | 2006-05-23 | Dinesh Sinha | Method of lazily replicating files and monitoring log in backup file system |
US20040078339A1 (en) * | 2002-10-22 | 2004-04-22 | Goringe Christopher M. | Priority based licensing |
US7171452B1 (en) | 2002-10-31 | 2007-01-30 | Network Appliance, Inc. | System and method for monitoring cluster partner boot status over a cluster interconnect |
US7890997B2 (en) | 2002-12-26 | 2011-02-15 | Avaya Inc. | Remote feature activation authentication file system |
US7246255B1 (en) * | 2003-01-17 | 2007-07-17 | Unisys Corporation | Method for shortening the resynchronization time following failure in a computer system utilizing separate servers for redundancy |
US7155638B1 (en) * | 2003-01-17 | 2006-12-26 | Unisys Corporation | Clustered computer system utilizing separate servers for redundancy in which the host computers are unaware of the usage of separate servers |
US7149923B1 (en) * | 2003-01-17 | 2006-12-12 | Unisys Corporation | Software control using the controller as a component to achieve resiliency in a computer system utilizing separate servers for redundancy |
US7260557B2 (en) * | 2003-02-27 | 2007-08-21 | Avaya Technology Corp. | Method and apparatus for license distribution |
US7231489B1 (en) | 2003-03-03 | 2007-06-12 | Network Appliance, Inc. | System and method for coordinating cluster state information |
US7373657B2 (en) | 2003-03-10 | 2008-05-13 | Avaya Technology Corp. | Method and apparatus for controlling data and software access |
US20040181696A1 (en) * | 2003-03-11 | 2004-09-16 | Walker William T. | Temporary password login |
US20040184464A1 (en) * | 2003-03-18 | 2004-09-23 | Airspan Networks Inc. | Data processing apparatus |
JP2004295465A (ja) * | 2003-03-27 | 2004-10-21 | Hitachi Ltd | 計算機システム |
US7127442B2 (en) * | 2003-04-01 | 2006-10-24 | Avaya Technology Corp. | Ironclad notification of license errors |
US7739543B1 (en) | 2003-04-23 | 2010-06-15 | Netapp, Inc. | System and method for transport-level failover for loosely coupled iSCSI target devices |
US7260737B1 (en) | 2003-04-23 | 2007-08-21 | Network Appliance, Inc. | System and method for transport-level failover of FCP devices in a cluster |
US7194655B2 (en) * | 2003-06-12 | 2007-03-20 | International Business Machines Corporation | Method and system for autonomously rebuilding a failed server and a computer system utilizing the same |
US20050039074A1 (en) * | 2003-07-09 | 2005-02-17 | Tremblay Glenn A. | Fault resilient/fault tolerant computing |
US7593996B2 (en) * | 2003-07-18 | 2009-09-22 | Netapp, Inc. | System and method for establishing a peer connection using reliable RDMA primitives |
US7716323B2 (en) * | 2003-07-18 | 2010-05-11 | Netapp, Inc. | System and method for reliable peer communication in a clustered storage system |
US7467191B1 (en) | 2003-09-26 | 2008-12-16 | Network Appliance, Inc. | System and method for failover using virtual ports in clustered systems |
US7096331B1 (en) * | 2003-09-29 | 2006-08-22 | Emc Corporation | System and method for managing data associated with copying and replication procedures in a data storage environment |
US7447860B1 (en) * | 2003-09-29 | 2008-11-04 | Emc Corporation | System and method for managing data associated with copying and recovery procedures in a data storage environment |
US7222143B2 (en) * | 2003-11-24 | 2007-05-22 | Lenovo (Singapore) Pte Ltd. | Safely restoring previously un-backed up data during system restore of a failing system |
US7340639B1 (en) | 2004-01-08 | 2008-03-04 | Network Appliance, Inc. | System and method for proxying data access commands in a clustered storage system |
US7966294B1 (en) | 2004-01-08 | 2011-06-21 | Netapp, Inc. | User interface system for a clustered storage system |
US7353388B1 (en) | 2004-02-09 | 2008-04-01 | Avaya Technology Corp. | Key server for securing IP telephony registration, control, and maintenance |
US7272500B1 (en) | 2004-03-25 | 2007-09-18 | Avaya Technology Corp. | Global positioning system hardware key for software licenses |
US8621029B1 (en) | 2004-04-28 | 2013-12-31 | Netapp, Inc. | System and method for providing remote direct memory access over a transport medium that does not natively support remote direct memory access operations |
US7328144B1 (en) | 2004-04-28 | 2008-02-05 | Network Appliance, Inc. | System and method for simulating a software protocol stack using an emulated protocol over an emulated network |
US7496782B1 (en) | 2004-06-01 | 2009-02-24 | Network Appliance, Inc. | System and method for splitting a cluster for disaster recovery |
US7478263B1 (en) | 2004-06-01 | 2009-01-13 | Network Appliance, Inc. | System and method for establishing bi-directional failover in a two node cluster |
EP1782237A2 (en) * | 2004-07-13 | 2007-05-09 | Teneros, Inc. | Autonomous service appliance |
US7363366B2 (en) * | 2004-07-13 | 2008-04-22 | Teneros Inc. | Network traffic routing |
US20060015764A1 (en) * | 2004-07-13 | 2006-01-19 | Teneros, Inc. | Transparent service provider |
US7321906B2 (en) * | 2004-07-23 | 2008-01-22 | Omx Technology Ab | Method of improving replica server performance and a replica server system |
US7587400B2 (en) * | 2004-08-12 | 2009-09-08 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set for transparent session migration |
US7613710B2 (en) * | 2004-08-12 | 2009-11-03 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set |
US7743333B2 (en) * | 2004-08-12 | 2010-06-22 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set for scrollable cursors |
US7415470B2 (en) * | 2004-08-12 | 2008-08-19 | Oracle International Corporation | Capturing and re-creating the state of a queue when migrating a session |
US7502824B2 (en) * | 2004-08-12 | 2009-03-10 | Oracle International Corporation | Database shutdown with session migration |
US7707405B1 (en) | 2004-09-21 | 2010-04-27 | Avaya Inc. | Secure installation activation |
US7747851B1 (en) | 2004-09-30 | 2010-06-29 | Avaya Inc. | Certificate distribution via license files |
US8229858B1 (en) | 2004-09-30 | 2012-07-24 | Avaya Inc. | Generation of enterprise-wide licenses in a customer environment |
US7965701B1 (en) | 2004-09-30 | 2011-06-21 | Avaya Inc. | Method and system for secure communications with IP telephony appliance |
US7434630B2 (en) * | 2004-10-05 | 2008-10-14 | Halliburton Energy Services, Inc. | Surface instrumentation configuration for drilling rig operation |
KR100651388B1 (ko) * | 2004-11-25 | 2006-11-29 | 삼성전자주식회사 | 이동통신 단말기에서 착신알림 설정방법 |
JP4182948B2 (ja) * | 2004-12-21 | 2008-11-19 | 日本電気株式会社 | フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 |
DE102004062116B3 (de) * | 2004-12-23 | 2006-05-11 | Ab Skf | Lageranordnung für einen Computertomographen |
US7496787B2 (en) * | 2004-12-27 | 2009-02-24 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US9176772B2 (en) * | 2005-02-11 | 2015-11-03 | Oracle International Corporation | Suspending and resuming of sessions |
US8073899B2 (en) * | 2005-04-29 | 2011-12-06 | Netapp, Inc. | System and method for proxying data access commands in a storage system cluster |
US7743286B2 (en) * | 2005-05-17 | 2010-06-22 | International Business Machines Corporation | Method, system and program product for analyzing demographical factors of a computer system to address error conditions |
US20070028144A1 (en) * | 2005-07-29 | 2007-02-01 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US20070038891A1 (en) * | 2005-08-12 | 2007-02-15 | Stratus Technologies Bermuda Ltd. | Hardware checkpointing system |
US7814023B1 (en) | 2005-09-08 | 2010-10-12 | Avaya Inc. | Secure download manager |
US7370235B1 (en) * | 2005-09-29 | 2008-05-06 | Emc Corporation | System and method for managing and scheduling recovery after a failure in a data storage environment |
US7401251B1 (en) * | 2005-09-29 | 2008-07-15 | Emc Corporation | Architecture for managing failover and recovery after failover in a data storage environment |
US7793329B2 (en) | 2006-02-06 | 2010-09-07 | Kasenna, Inc. | Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique |
JP4585463B2 (ja) * | 2006-02-15 | 2010-11-24 | 富士通株式会社 | 仮想計算機システムを機能させるためのプログラム |
CN100353330C (zh) * | 2006-03-10 | 2007-12-05 | 四川大学 | 一种基于ip网络的磁盘镜像方法 |
JP4808524B2 (ja) * | 2006-03-17 | 2011-11-02 | 株式会社日立製作所 | データ処理方法、データ処理システム及びデータ処理プログラム |
WO2007140475A2 (en) * | 2006-05-31 | 2007-12-06 | Teneros, Inc. | Extracting shared state information from message traffic |
AU2012202229B2 (en) * | 2006-08-04 | 2014-07-10 | Tsx Inc. | Failover system and method |
US7725764B2 (en) | 2006-08-04 | 2010-05-25 | Tsx Inc. | Failover system and method |
US7734947B1 (en) | 2007-04-17 | 2010-06-08 | Netapp, Inc. | System and method for virtual interface failover within a cluster |
US7958385B1 (en) | 2007-04-30 | 2011-06-07 | Netapp, Inc. | System and method for verification and enforcement of virtual interface failover within a cluster |
US8130084B2 (en) * | 2007-04-30 | 2012-03-06 | International Business Machines Corporation | Fault tolerant closed system control using power line communication |
US8346719B2 (en) | 2007-05-17 | 2013-01-01 | Novell, Inc. | Multi-node replication systems, devices and methods |
US8818936B1 (en) | 2007-06-29 | 2014-08-26 | Emc Corporation | Methods, systems, and computer program products for processing read requests received during a protected restore operation |
US8421614B2 (en) * | 2007-09-19 | 2013-04-16 | International Business Machines Corporation | Reliable redundant data communication through alternating current power distribution system |
US7870374B2 (en) * | 2007-09-27 | 2011-01-11 | International Business Machines Corporation | Validating physical and logical system connectivity of components in a data processing system |
US8489554B2 (en) | 2007-10-05 | 2013-07-16 | Ge Intelligent Platforms, Inc. | Methods and systems for operating a sequence of events recorder |
US9201745B2 (en) * | 2008-01-23 | 2015-12-01 | Omx Technology Ab | Method of improving replica server performance and a replica server system |
US8688798B1 (en) | 2009-04-03 | 2014-04-01 | Netapp, Inc. | System and method for a shared write address protocol over a remote direct memory access connection |
CN102216726A (zh) * | 2009-04-24 | 2011-10-12 | 株式会社东京技术 | 渐开线齿轮齿廓测量方法 |
US9256598B1 (en) | 2009-08-19 | 2016-02-09 | Emc Corporation | Systems, methods, and computer readable media for copy-on-demand optimization for large writes |
US8706834B2 (en) | 2011-06-30 | 2014-04-22 | Amazon Technologies, Inc. | Methods and apparatus for remotely updating executing processes |
EP2701065B1 (de) * | 2012-08-24 | 2015-02-25 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines redundanten Automatisierungssystems |
US9251002B2 (en) | 2013-01-15 | 2016-02-02 | Stratus Technologies Bermuda Ltd. | System and method for writing checkpointing data |
US10185631B2 (en) * | 2013-07-04 | 2019-01-22 | Data Deposit Box Inc. | System and method of performing continuous backup of a data file on a computing device |
US9965363B2 (en) | 2013-12-14 | 2018-05-08 | Netapp, Inc. | Techniques for LIF placement in SAN storage cluster synchronous disaster recovery |
WO2015102873A2 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Dynamic checkpointing systems and methods |
WO2015102874A2 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Method of delaying checkpoints by inspecting network packets |
WO2015102875A1 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Checkpointing systems and methods of using data forwarding |
EP3110106B1 (en) * | 2014-04-14 | 2019-11-06 | Huawei Technologies Co., Ltd. | Disaster recovery data center configuration method and apparatus in cloud computing architecture |
US9558143B2 (en) * | 2014-05-09 | 2017-01-31 | Micron Technology, Inc. | Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device |
US9830237B2 (en) * | 2015-09-25 | 2017-11-28 | Netapp, Inc. | Resynchronization with compliance data preservation |
US11947465B2 (en) | 2020-10-13 | 2024-04-02 | International Business Machines Corporation | Buffer overflow trapping |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4471429A (en) * | 1979-12-14 | 1984-09-11 | Honeywell Information Systems, Inc. | Apparatus for cache clearing |
US4530052A (en) * | 1982-10-14 | 1985-07-16 | Honeywell Information Systems Inc. | Apparatus and method for a data processing unit sharing a plurality of operating systems |
US4590554A (en) * | 1982-11-23 | 1986-05-20 | Parallel Computers Systems, Inc. | Backup fault tolerant computer system |
US4615001A (en) * | 1984-03-29 | 1986-09-30 | At&T Bell Laboratories | Queuing arrangement for initiating execution of multistage transactions |
US4658351A (en) * | 1984-10-09 | 1987-04-14 | Wang Laboratories, Inc. | Task control means for a multi-tasking data processing system |
US4979108A (en) * | 1985-12-20 | 1990-12-18 | Ag Communication Systems Corporation | Task synchronization arrangement and method for remote duplex processors |
SE454730B (sv) * | 1986-09-19 | 1988-05-24 | Asea Ab | Forfarande och datorutrustning for stotfri omkoppling av funktionen fran aktiva enheter till beredskapsenheter i en centralenhet |
US4959768A (en) * | 1989-01-23 | 1990-09-25 | Honeywell Inc. | Apparatus for tracking predetermined data for updating a secondary data base |
DE69021712T2 (de) * | 1990-02-08 | 1996-04-18 | Ibm | Wiederanlaufkennzeichnungsmechanismus für fehlertolerierende Systeme. |
-
1990
- 1990-09-24 US US07/586,807 patent/US5157663A/en not_active Expired - Lifetime
-
1991
- 1991-08-09 AU AU84310/91A patent/AU660939B2/en not_active Expired
- 1991-08-09 CA CA002091993A patent/CA2091993C/en not_active Expired - Lifetime
- 1991-08-09 DE DE69125840T patent/DE69125840T2/de not_active Expired - Lifetime
- 1991-08-09 AT AT91915106T patent/ATE152261T1/de not_active IP Right Cessation
- 1991-08-09 JP JP51451591A patent/JP3156083B2/ja not_active Expired - Lifetime
- 1991-08-09 BR BR919106875A patent/BR9106875A/pt not_active IP Right Cessation
- 1991-08-09 EP EP91915106A patent/EP0550457B1/en not_active Expired - Lifetime
- 1991-08-09 KR KR1019930700894A patent/KR0137406B1/ko not_active IP Right Cessation
- 1991-08-09 RU RU93005211A patent/RU2108621C1/ru active
- 1991-08-09 WO PCT/US1991/005679 patent/WO1992005487A1/en active IP Right Grant
-
1992
- 1992-10-20 US US07/964,077 patent/US5455932A/en not_active Expired - Lifetime
-
1993
- 1993-03-23 NO NO931062A patent/NO302986B1/no not_active IP Right Cessation
- 1993-03-23 FI FI931276A patent/FI101432B/fi not_active IP Right Cessation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2562059C2 (ru) * | 2010-07-22 | 2015-09-10 | Эл Джи Электроникс Инк. | Способ и устройство для передачи и приема данных нисходящей линии связи для мобильной станции без мобильности в состоянии бездействия |
RU2570837C2 (ru) * | 2010-09-24 | 2015-12-10 | Юрепиен Юнион | Аппарат и способ |
RU2641477C1 (ru) * | 2014-04-14 | 2018-01-17 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство для конфигурирования обеспечивающего резервирование решения в архитектуре облачных вычислений |
US10205806B2 (en) | 2014-04-14 | 2019-02-12 | Huawei Technologies Co., Ltd. | Method and apparatus for configuring redundancy solution in cloud computing architecture |
RU170236U1 (ru) * | 2016-09-19 | 2017-04-18 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Томский государственный университет систем управления и радиоэлектроники" (ТУСУР) | Резервированная многоканальная вычислительная система |
RU2683613C1 (ru) * | 2018-03-30 | 2019-03-29 | Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) | Система управления сетью pos-терминалов |
WO2019190345A1 (ru) * | 2018-03-30 | 2019-10-03 | Публичное Акционерное Общество "Сбербанк России" | Система управления сетью pos-терминалов |
Also Published As
Publication number | Publication date |
---|---|
BR9106875A (pt) | 1993-07-20 |
CA2091993A1 (en) | 1992-03-25 |
DE69125840T2 (de) | 1997-10-23 |
FI101432B1 (fi) | 1998-06-15 |
DE69125840D1 (de) | 1997-05-28 |
FI931276A (fi) | 1993-05-21 |
AU8431091A (en) | 1992-04-15 |
FI101432B (fi) | 1998-06-15 |
KR0137406B1 (ko) | 1998-07-01 |
CA2091993C (en) | 1998-12-22 |
US5157663A (en) | 1992-10-20 |
WO1992005487A1 (en) | 1992-04-02 |
NO931062L (no) | 1993-05-24 |
EP0550457A1 (en) | 1993-07-14 |
NO302986B1 (no) | 1998-05-11 |
JPH06504389A (ja) | 1994-05-19 |
NO931062D0 (no) | 1993-03-23 |
JP3156083B2 (ja) | 2001-04-16 |
EP0550457B1 (en) | 1997-04-23 |
US5455932A (en) | 1995-10-03 |
EP0550457A4 (en) | 1995-10-25 |
FI931276A0 (fi) | 1993-03-23 |
AU660939B2 (en) | 1995-07-13 |
ATE152261T1 (de) | 1997-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2108621C1 (ru) | Отказоустойчивая вычислительная система и способ ее формирования | |
JP3694273B2 (ja) | 多重パスi/o要求機構を有するデータ処理システム | |
US7058731B2 (en) | Failover and data migration using data replication | |
US7779291B2 (en) | Four site triangular asynchronous replication | |
US5668943A (en) | Virtual shared disks with application transparent recovery | |
JP2505928B2 (ja) | フォ―ルト・トレラント・システムのためのチェックポイント機構 | |
US6145066A (en) | Computer system with transparent data migration between storage volumes | |
US6950915B2 (en) | Data storage subsystem | |
JP2894676B2 (ja) | 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法 | |
US20010001870A1 (en) | System and method for on-line, real time, data migration | |
EP1217523A1 (en) | Method and apparatus for re-synchronizing paired disk volumes via communication line | |
US7752404B2 (en) | Toggling between concurrent and cascaded triangular asynchronous replication | |
JPH076099A (ja) | リモート・データの2重化のためのシステム及び方法 | |
US6785840B1 (en) | Call processor system and methods | |
US7734884B1 (en) | Simultaneous concurrent and cascaded triangular asynchronous replication | |
JP2000305856A (ja) | ディスクサブシステム及びこれらの統合システム | |
US7680997B1 (en) | Data recovery simulation | |
US11468091B2 (en) | Maintaining consistency of asynchronous replication | |
JPH06175788A (ja) | バックアップ装置及びその方法 | |
JPH11120017A (ja) | 自動採番システム、二重系システム、クラスタシステム |