PL183365B1 - Sposób zarządzania systemem komputerowym opartym na mikroprocesorze - Google Patents
Sposób zarządzania systemem komputerowym opartym na mikroprocesorzeInfo
- Publication number
- PL183365B1 PL183365B1 PL96322454A PL32245496A PL183365B1 PL 183365 B1 PL183365 B1 PL 183365B1 PL 96322454 A PL96322454 A PL 96322454A PL 32245496 A PL32245496 A PL 32245496A PL 183365 B1 PL183365 B1 PL 183365B1
- Authority
- PL
- Poland
- Prior art keywords
- memory
- archiving
- read
- data
- standard
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 operations
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1466—Management of the backup or restore process to make the backup process non-disruptive
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Supplying Of Containers To The Packaging Station (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
- Shovels (AREA)
- Telephone Function (AREA)
- Control And Other Processes For Unpacking Of Materials (AREA)
- Storage Device Security (AREA)
Abstract
S posób zarzadzania system em kom puterow ym opartym na mikroprocesorze, zawierajacym pamiec prze- chow ujaca rozkazy, jednostke centralna kom putera oraz urzadzenie z pam iecia, w którym w kolejnych etapach ustanawia sie proces archiwizacji, urucham iany w syste- m ie kom puterow ym , dostosow anym do w ysylania sy- gnalu startu i sygnalu stopu i w ysylania przynajm niej jednego, zw iazanego z archiw izacja rozkazu czytania, pow odujacego odczyt oryginalnych danych z urzadzenia z pam iecia, dostarcza sie pierwsze rozkazy, zapam ietane w pamieci, do jednostki centralnej komputera i powoduje sie wykonanie przez jednostke centralna komputera przy- najm niej jednej standardowej operacji czytania danych z p am ieci, u trzy m u je sie rek o rd d an y ch zap isan y ch d o urzadzenia z pam iecia i ustala zaleznosc m iedzy odpo- w ied nim i obszaram i w obszarze pam ieci p ierw szego stopnia i w obszarze pamieci pomocniczej wspomnianego urzadzenia z pamiecia, okresla sie, po otrzymaniu sygnalu startu i otrzym ujac rozkaz czytania, czy rozkaz czytania dotyczy operacji czytania zw iazanego z archiw izacja, c z y cz y ta n ia sta n d a rd o w e g o o ra z p rz e p ro w a d z a sie jedna z operacji czytania albo dla potrzeb archiw izacji a lb o czy ta n ia stan d ard o w eg o , p rzeg lad a sie rek o rd i czyta dane z pam ieci pierw szego stopnia lub pam ieci p o m o c n ic z e j z g o d n ie z e w sp o m n ia n y m re k o rd e m i podczas przepro- w adzania drugiej ze w spom nianych operacji czytania zwiazanego z archiwizacja lub czytania standardow ego, czy ta sie dane z pam ieci pierw szego stopnia, znam ienny t ym , ze sledzi sie obszar F i g .3 PL PL PL PL PL PL PL
Description
Przedmiotem wynalazku jest sposób zarządzania systemem komputerowym opartym na mikroprocesorze, a w szczególności sposób archiwizacji danych zapamiętanych w urządzeniu z pamięcią dla zabezpieczenia przed możliwym wystąpieniem uszkodzenia urządzenia z pamięcią lub przed możliwością uszkodzenia danych, utraty danych, zainfekowania przez wirusa. W szczególności wynalazek dotyczy archiwizacji w komputerach osobistych PC.
Pojedynczy system komputerowy z jednym użytkownikiem, zawiera zwykle pamięć w postaci dysku twardego lub stałego. W takim systemie jedynie jeden program użytkowy ma dostęp do pamięci w każdej ustalonej chwili czasu. Zadanie archiwizacji danych zapamiętanych w pamięci jest realizowane przez program użytkowy, który w czasie operacji archiwizacji ma wyłączny dostęp do urządzenia z pamięcią do czasu, gdy aplikacja archi wuj ąca nie zakończy się.
Z wprowadzeniem środowisk wielozadaniowych, które umożliwiają jednoczesne uruchamianie wielu aplikacji i systemów sieciowych, które umożliwiają wielu użytkownikom korzystanie z tego samego oprogramowania, powstała możliwość wystąpienia sytuacji, w której więcej niż jedna aplikacja ma jednoczesny dostęp do tej samej pamięci. Powstanie takiej sytuacji rodzi możliwość konfliktu między aplikacjami. Na przykład jedna aplikacja może modyfikować lub usuwać plik aktualnie używany przez inną aplikację. Może to prowadzić do zamieszania i uszkodzenia urządzenia z pamięcią a w konsekwencji do utraty danych.
Metody znane jako blokowanie pliku lub blokowanie rekordu zostały wprowadzone do systemów operacyjnych aby uniknąć, w przypadku blokowania pliku, więcej niż jednej
183 365 aplikacji zapisującej do pliku, a w przypadku blokowania rekordu, dwóch aplikacji modyfikujących ten sam obszar danego pliku. Obie wspomniane metody są wystarczająco nowoczesne dla większości aplikacji, szczególnie wtedy, gdy każda aplikacja dokonuje jedynie stosunkowo niewielkich zmian w plikach, które są wspólne i dlatego nie opóźniają znacząco innych aplikacji żądających dostępu do pliku lub rekordu, które są zablokowane. Tym niemniej, specjalnym przypadkiem są aplikacje dla okresowej archiwizacji danych w systemach komputerowych.
Najmniejszą jednostką danych, która może być archiwowana jest pojedynczy plik, gdyż ani aplikacja archiwująca, ani system operacyjny nie mają wiedzy o wewnętrznej strukturze pliku, ponieważ mogłoby być to związanie z każdym programem użytkowym.
Dodatkowo, kopia zapasowa pliku musi być dokładnym odwzorowaniem oryginału w szczególnym punkcie czasu. Kopiowanie pliku nie jest jednak procesem natychmiastowym i czas trwania kopiowania będzie zależał od wielkości pliku i szybkości operacji kopiowania. Może to rodzić problemy, jeżeli w czasie działania aplikacji archiwującej inna aplikacja może modyfikować plik podczas procesu kopiowania.
Aby skopiować plik, aplikacja archiwująca przyznaje obszar pamięci o dostępie bezpośrednim (RAM) pełniącej rolę bufora przeniesienia i postępuje zamiennie wczytując bloki pliku źródłowego do bufora, a następnie zapisując zawartość bufora do pamięci pomocniczej. Jeżeli plik nie jest dostatecznie mały, bufor przeniesienia będzie wypełniany kilkakrotnie, a operacja kopiowania będzie wymagała kilkakrotnych operacji czytania i zapisywania dla wykonania pełnej kopii pliku.
Potencjalny problem, powodowany przez umożliwienie modyfikacji pliku w czasie procesu kopiowania można przedstawić na przykładzie, w którym plik kopiowany jest jako szereg 10 bloków. Jeżeli plik miałby zostać zmodyfikowany przez transakcję wymagającą zmian pliku w blokach 3 i 8, po tym, gdy bloki od 1 do 5 zostały już skopiowane, proces kopiowania uwzględni jedynie zmianę w bloku 8 ale nie uwzględni zmiany w bloku 3, ponieważ blok ten został już skopiowany zanim nastąpiła transakcja. Dlatego kopia zapasowa będzie zawierała jedynie część zmian, co może uczynić ją kompletnie bezużyteczną ponieważ aplikacja, która ją posiada, prawdopodobnie uzna plik za uszkodzony.
W naszym amerykańskim opisie patentu nr 5 086 502 ujawniono sposób sporządzania kopii każdej operacji zapisywania, gdy jest wykonana, za pomocą wykonywania wtórnej operacji zapisywania do pamięci pomocniczej. Uzupełnieniem tego sposobu są jeszcze dwie inne drogi tworzenia kopii plików w systemie komputerowym mającym wspólnie używaną pamięć.
Pierwsza polega na blokowaniu pliku w czasie archiwizacji. Zapobiega to modyfikacji pliku przez innych użytkowników przez odmówienie im dostępu do zapisywania. Jeżeli inny użytkownik uzyskał już dostęp do zapisu, aplikacja archiwująca musi albo przeskoczyć ten plik lub czekać dopóki nie uzyska wyłącznego dostępu do zapisu.
Drugą stanowi wykrywanie modyfikacji pliku. Po skopiowaniu pliku, aplikacja archiwująca może wykorzystać system operacyjny dla sprawdzenią czy jakaś modyfikacja nie została zrobiona w czasie trwania kopiowania. Jeżeli modyfikacja taka została zrobioną kopiowanie musi być powtórzone lub plik pominięty.
Żadna z tych ostatnich dwóch metod nie dostarcza odpowiedniego rozwiązania, ponieważ wiele plików (w szczególności pliki baz danych) są ciągle w użyciu. Ponadto metody te wymagają blokowania użytkowników w czasie archiwizacji.
Dodatkowo, jedynie kilka pomocniczych urządzeń z pamięcią i systemów operacyjnych jest zdolnych do przeprowadzenia długich transmisji z szybkością większą niż 15 megabajtów (Mb) na minutę i dlatego czas niezbędny do skopiowania dużego pliku jest znaczący. Jedynie w kilku programach użytkowych rozwiązano ten problem przez zapewnienie metod bezpiecznego kopiowania swoich własnych plików w dzielonym środowisku, ale procedura jest inna dla każdego z nich.
Aby wykonać kopię zapasową całej pamięci, aplikacja archiwująca musi wiedzieć jak działa poszczególna wbudowana procedura lub musi polegać na ręcznej interwencji w odpowiedniej chwili. Tak więc, ponieważ aplikacja wykonująca kopię zapasową musi skopiować
183 365 cały plik i ponieważ plik ten nie może być modyfikowany przez inny program użytkowy w czasie procesu kopiowania, użycie znanych dotychczas metod będzie wprowadzało opóźnienie w systemie komputerowym, w którym mamy do czynienia z pamięcią używaną wspólnie. Jest to szczególnie istotne przy kopiowaniu dużych plików.
W amerykańskim opisie patentu nr 5 163 148 udzielonego WallsOwi ujawniono system archiwizacji, w którym plik jest doprowadzony do stanu zgodnego zanim zacznie się archiwowanie: na przykład, jeżeli w związku z transakcją są wymagane operacje wielokrotne, wtedy wszystkie te operacje są zakończone. Jeżeli część archiwowanego pliku wymaga uaktualnienia, ta właśnie część oryginalnego pliku jest kopiowana na oddzielną część dysku, zanim archiwowanie będzie miało miejsce. Program archiwujący archiwuje pliki za pomocą zamiany tych części, które zostały uaktualnione, przez oryginalne części, które zostały skopiowane i zapamiętane gdzieś na dysku. Rozszerzona mapa dysku, która normalnie zawiera listę ścieżek i sektorów na dysku zajmowanych przez ten plik, jest rozszerzona tak, że zawiera konkordancję wiążącą ścieżkę i adresy sektorów skopiowanych, oryginalnych części pliku, ze ścieżką i adresem sektorów uaktualnionej części, które zajmują obszar z którego były kopiowane.
W naszym Międzynarodowym Zgłoszeniu Patentowym nr PCT/GB94/01581, opublikowanym 20 lipca 1995 w Publikacji nr W095/19599, ujawniono sposób zarządzania komputerem z urządzeniem z pamięcią, używanym wspólnie przez kilka programów użytkowych, który uwzględnia ponadto proces archiwowanią w skład którego wchodzi proces utrzymywania rekordu zmian danych dokonanych w urządzeniu z pamięcią podczas działania procesu archi wuj ącego. Użycie tego rekordu zapewnia, że dane widziane przez proces archiwizacji nie będą zmienione podczas jego działania, a jednocześnie umożliwia innym procesom normalne kontynuowanie uaktualniania pamięci, dzięki czemu unika się opóźnień związanych z techniką blokowania plików. Dodatkowe operacje są wykonywane na poziomie interfejsu systemu operacyjnego mikrokomputera w taki sposób, że nie mają wpływu na normalne użytkowanie komputera. W tym sposobie proces archiwizacji może wysłać sygnał startu i sygnał stopu i przeprowadzić przynajmniej jedną operację czytania w procesie archiwizacji, dla czytania danych oryginalnych z urządzenia z pamięcią np. twardego dysku. Jednostka centralna komputera CPU przeprowadza okresowo przynajmniej jedną normalną operację zapisu danych do obszaru pamięci pierwszego stopnia i przynajmniej jedną normalną operację czytania danych z urządzenia z pamięcią.
Po otrzymaniu sygnału startu, zostaje przeprowadzona operacja przechwytywania, dla przechwycenia operacji zapisywania i zapisania danych do obszaru pamięci pomocniczej tak, aby zachować dane oryginalne, które w innym wypadku mogłyby podlegać zapisowi kasującemu. Utrzymywany jest rekord zawierający informację o częściach pliku zapisanych w pamięci pomocniczej i podczas wykonywania jednej z operacji: archiwowania lub standardowej operacji czytania, rekord ten jest wywoływany dla odczytu danych z jednego z obszarów pamięci pierwszego stopnia lub obszaru pomocniczego zgodnie z rekordem. W ten sposób proces archiwizacji jest przeprowadzony z zachowaniem danych oryginalnych w takim stanie, w jakim były bezpośrednio przed wysłaniem sygnału startu. W tej chwili rekord definiuje części pliku za pomocą rekordów pliku, a nie za pomocą adresów ścieżki i sektora na dysku. Ma to pewne zalety i unika się w ten sposób problemu jaki może powstać w sytuacji, gdy rekord dotyczy adresu położenia na dysku, tzn. ścieżki i sektora.
Korzystne jest jeżeli rekord zawiera obszar delta, w którym zachowane są dane podstawowe, oraz mapę odniesień między rzeczywistym miejscem danych podstawowych i ich miejscem przewidywanym. Alternatywnie, dane pomocnicze mogą być zapisane w obszarze delta, a inne aplikacje mogą kontynuować zapisywanie do przewidywanych miejsc pamięci.
Korzystne jest, gdy obszar delta jest innym obszarem tego samego urządzenia, np. twardego dysku. Dodatkowe wymagane operacje są korzystnie zapamiętane i działają na poziomie interfejsu systemu operacyjnego systemu komputerowego. Jeśli oprogramowanie jest zapamiętane na poziomie systemu operacyjnego, to może być niewidoczne dla użytkownika tak, aby nie miało wpływu na oprogramowanie użytkowe.
183 365
Zapis archiwizacji może być zapamiętany na różnych nośnikach zapisu, np. taśmie, dysku optycznym lub w innym obszarze podstawowego nośnika pamięci. Po wykonaniu kopii zapasowej, można przywrócić plik w zwykły sposób.
Technika lokalizacji łańcucha opisującego środowisko i na jego podstawie ustalenia nazwy programu jest w pełni opisana w podręczniku Undocumented DOS przez Andrew Schulmana i innych, Addison-Wesley, 2nd Ed. 1993, ISBN 0-201-63287-Χ, rozdział 7, szczególnie strony 356-359.
Sposób zarządzania systemem komputerowym opartym na mikroprocesorze, zawierającym pamięć przechowującą rozkazy, jednostkę centralną komputera oraz urządzenie z pamięcią w którym w kolejnych etapach ustanawia się proces archiwizacji, uruchamiany w systemie komputerowym, dostosowanym do wysyłania sygnału startu i sygnału stopu i wysyłania przynajmniej jednego, związanego z archiwizacją rozkazu czytania, powodującego odczyt oryginalnych danych z urządzenia z pamięcią dostarcza się pierwsze rozkazy zapamiętane w pamięci, do jednostki centralnej komputera i powoduje się wykonanie przez jednostkę centralną komputera przynajmniej jednej standardowej operacji czytania danych z pamięci, utrzymuje się rekord danych zapisanych do urządzenia z pamięcią i ustala zależność między odpowiednimi obszarami w obszarze pamięci pierwszego stopnia i w obszarze pamięci pomocniczej wspomnianego urządzenia z pamięcią określa się, po otrzymaniu sygnału startu i otrzymując rozkaz czytania, czy rozkaz czytania dotyczy operacji czytania związanego z archiwizacją czy czytania standardowego oraz przeprowadza się jedną z operacji czytania albo dla potrzeb archiwizacji albo czytania standardowego, przegląda się rekord i czyta dane z pamięci pierwszego stopnia lub pamięci pomocniczej zgodnie ze wspomnianym rekordem i podczas przeprowadzania drugiej ze wspomnianych operacji czytania związanego z archiwizacją lub czytania standardowego, czyta się dane z pamięci pierwszego stopnią według wynalazku wyróżnia się tym, że śledzi się obszar pamięci z którego pochodzi rozkaz czytania i identyfikuje program, który zainicjował wspomniany rozkaz czytania podczas określania, czy rozkaz czytania dotyczy operacji czytania związanego z archiwizacją czy czytania standardowego. Podczas śledzenia pamięci korzystnie przegląda się stos i wyznacza adresy umieszczone na stosie oraz przegląda się te adresy.
Korzystnie, podczas śledzenia pamięci porównuje się kod w otoczeniu wspomnianych adresów z kodem oczekiwanym dla programu archiwizującego.
Podczas śledzenia pamięci korzystnie określa się Prefiks Segmentu Programu i Łańcuch Opisujący Środowisko związane z programem we wspomnianych adresach oraz wyznacza się nazwę programu z wykorzystaniem wspomnianego Łańcucha Opisującego Środowisko.
Sposób zarządzania systemem komputerowym opartym na mikroprocesorze, zawierającym pamięć przechowującą rozkazy, jednostkę centralną komputera oraz urządzenie z pamięcią w którym w kolejnych etapach ustanawia się proces archiwizacji, uruchamiany w systemie komputerowym, dostosowanym do wysyłania sygnału startu i sygnału stopu i wysyłania przynajmniej jednego, związanego z archiwizacją rozkazu czytania, powodującego odczyt oryginalnych danych z urządzenia z pamięcią dostarcza się pierwsze rozkazy zapamiętane w pamięci, do jednostki centralnej komputera i powoduje się wykonanie przez jednostkę centralną komputera przynajmniej jednej standardowej operacji czytania danych z pamięci, utrzymuje się rekord danych zapisanych do urządzenia z pamięcią i ustala zależność między odpowiednimi obszarami w obszarze pamięci pierwszego stopnia i w obszarze pamięci pomocniczej wspomnianego urządzenia z pamięcią określa się, po otrzymaniu sygnału startu i otrzymując rozkaz czytania, czy rozkaz czytania dotyczy operacji czytania związanego z archiwizacją czy czytania standardowego oraz przeprowadza się jedną z operacji czytania albo dla potrzeb archiwizacji albo czytania standardowego, przegląda się rekord i czyta dane z pamięci pierwszego stopnia lub pamięci pomocniczej zgodnie ze wspomnianym rekordem i podczas przeprowadzania drugiej ze wspomnianych operacji czytania związanego z archiwizacją lub czytania standardowego, czyta się dane z pamięci pierwszego stopnia, według wynalazku wyróżnia się tym, że przydziela się procesowi archiwizacji użytkownika identyfikator procesu lub zadania, przy czym podczas określania, czy rozkaz czytania dotyczy operacji czytania związanego z archiwizacją czy czytania standardowego określa się, czy operacja
183 365 czytania była żądana przez użytkownika lub jego program poprzez identyfikator procesu lub zadania.
Sposób zarządzania systemem komputerowym opartym na mikroprocesorze, zawierającym pamięć przechowującą rozkazy, jednostkę centralną komputera oraz urządzenie z pamięcią, w którym w kolejnych etapach ustanawia się proces archiwizacji, uruchamiany w systemie komputerowym, dostosowanym do wysyłania sygnału startu i sygnału stopu i wysyłania przynajmniej jednego, związanego z archiwizacją rozkazu czytania, powodującego odczyt oryginalnych danych z urządzenia z pamięcią, dostarcza się rozkazy zapamiętane w pamięci, do jednostki centralnej komputera i powoduje się wykonanie przez jednostkę centralną komputera przynajmniej jednej standardowej operacji czytania danych z pamięci, zapewnia się środki otwierające pliki dla otwarcia pliku, który ma być czytany standardowo i odmawiające dostępu do pliku przez inne operacje czytania, według wynalazku wyróżnia się tym, że stosuje się środki związane z procesem archiwizacji, wyłączające wspomnianą funkcję odmowy dostępu i umożliwiające jednoczesny dostęp do czytania pliku przez operację czytania związaną z archiwizacją! operację standardowego czytania.
W systemie komputerowym korzystnie utrzymuje się tablicę plików otwartych, przy czym deaktywuje się funkcję odmowy dostępu przez czasową, odwracalną zmianę tablicy.
Sposób zarządzania systemem komputerowym opartym na mikroprocesorze, zawierającym pamięć przechowującą rozkazy, jednostkę centralną komputera oraz urządzenie z pamięcią, w którym w kolejnych etapach ustanawia się proces archiwizacji, uruchamiany w systemie komputerowym, dostosowanym do wysyłania sygnału startu i sygnału stopu i wysyłania przynajmniej jednego, związanego z archiwizacją rozkazu czytania, powodującego odczyt oryginalnych danych z urządzenia z pamięcią, dostarcza się rozkazy zapamiętane w pamięci, do jednostki centralnej komputera i powoduje się wykonanie przez jednostkę centralną komputera przynajmniej jednej standardowej operacji czytania danych z pamięci, przy czym proces archiwizacji może działać na plikach, które są otwarte dla dostępu przez te rozkazy, według wynalazku wyróżnia się tym, że opóźnia się sygnał startu o założony okres braku aktywności, wystarczający do zakończenia każdego ciągu operacji zapisu do pliku, który ma być archiwowany.
Niniejszy wynalazek dostarcza ulepszeń, które znajdują zastosowanie do znanych sposobów. Wymagane jest aby system mógł odróżnić żądanie czytania pochodzące od programu archiwującego od żądania czytania pochodzącego od innych programów użytkowych, które mogą być uruchomione.
Przedmiot wynalazku zostanie objaśniony w przykładach wykonania na rysunku, na którym fig. 1 przedstawia schemat blokowy komputera osobistego i napęd kasety z taśmą, fig. 2a i fig. 2b - schematy ilustrujące mapę pamięci systemu na poziomie systemu operacyjnego standardowego komputera osobistego i komputera pracującego według wynalazku, fig. 3 - schemat blokowy sposobu zapisu danych w operacji archiwizacji, fig. 4 - schemat blokowy według drugiego wariantu wykonania sposobu z fig. 3, fig. 5 - schemat blokowy ilustrujący ulepszenie wykonań z odniesieniami do fig. 3 i fig. 4.
Na fig. 1 przedstawiono komputer osobisty 10 składający się z jednostki centralnej komputera 12, pamięci o dostępie bezpośrednim 14 i urządzenia z pamięcią nieulotną w postaci dysku twardego 16. W przedstawionym przykładzie dla celu archiwizacji korzysta się z jednostki taśmowej 18 sprzężonej z komputerem 10.
Częścią programu archiwizacji jest proces zapisu, którego działanie polega na przechwytywaniu standardowego czytania i zapisywania na twardy dysk 16, aby można było sterować przepływem danych między napędem dysku 16 i innymi częściami komputera 10.
Przed rozpoczęciem archiwizacji pliku uaktywniany jest przez program archiwizacji proces zapisu, dla przeadresowania wszystkich czynności związanych z zapisem do innego obszaru dysku 16, zwanego obszarem delta. Utrzymywana jest tablica odwzorowań delta, dla zapewnienia rekordu wszystkich operacji zapisu, które zostały przeadresowane do obszaru delta.
Tablica ta utrzymuje odwzorowanie między zamierzonym miejscem przeznaczenia danych na dysku 16, związane z każdą operacją zapisywania i rzeczywistym miejscem w pa
183 365 mięci w obszarze delta. Jeżeli wystąpi następna operacja zapisu do obszaru, który już jest odnotowany w tablicy, stare dane w obszarze delta mogą być zastąpione przez nowe dane. W ten sposób dane w podstawowej części dysku nie ulegają zmianie podczas tworzenia kopii zapasowych, ponieważ wszystkie zmiany sąprzeadresowane do obszaru delta.
Jeżeli program archiwujący wystąpi z żądaniem operacji czytania z dysku, żądanie to jest przekazywane bez zmian, tak że dane zwrócone do programu archiwującego pochodzą z oryginalnego obszaru głównej części dysku. Gdy z żądaniem czytania wystąpi inny program użytkowy, proces zapisu najpierw sprawdza tablicę czy zapis na dysk do tego obszaru nie wystąpił od momentu gdy proces rozpoczął przechwytywanie operacji zapisu, a gdyby to miało miejsce, operacja czytania jest przeadresowana do odpowiedniej pozycji w obszarze delta. Jeżeli nie odnotowana została operacja zapisu, tzn. część danych nie uległa zmianie od momentu gdy proces rozpoczął przechwytywanie operacji zapisu, wtedy operacja czytania jest przekazywana bez zmian.
W ten sposób zmiany danych zapamiętanych na dysku 16 są normalnie widziane przez wszystkie aplikacje, inne niż program archiwujący. Program archiwujący widzi dane, które nie ulegną zmianie, dopóki nie zostanie wydany rozkaz zakończenia procesu zapisywania, który przerywa proces przechwytywania operacji czytania i zapisu.
Gdy operacja tworzenia kopii zapasowej jest zakończona, uaktywniony zostaje proces zapisywania w celu przywrócenia komputera do stanu działania standardowego. Faza przywracania działania standardowego osiągnięta jest przez zastosowanie zmian, zapamiętanych w obszarze delta, do odpowiednich oryginalnych obszarów z danymi w głównej części dysku 16, z wykorzystaniem odwzorowań zapamiętanych w tablicy. Gdy zostają uwzględnione zmiany w obszarze delta, kontynuowane jest przechwytywanie operacji zapisywania na dysku jak to zostało opisane powyżej. Gdy nie ma więcej operacji zapisu, które nie zostały zastosowane do oryginalnego obszaru z danymi, przechwytywanie operacji zapisywania jest zatrzymane i system wraca do działania standardowego.
Kolejne usprawnienie jest następujące. Jeżeli utrzymywany jest rekord o stopniu zaawansowania przeprowadzonego procesu tworzenia kopii zapasowej, oprogramowanie może przekazywać bez zmian operację zapisu do głównej części pamięci dysku 16 po tym, gdy ta część dysku została już skopiowaną ponieważ ewentualna zmiana danych nie ma już znaczenia. Zmniejsza to rozmiar tablicy odwzorowującej delta. Dodatkowo, jeżeli informacja o obszarze głównej części dysku do której ta operacja jest skierowana była już wprowadzona do tablicy odwzorowań, może być teraz z tej tablicy usunięta, redukując w ten sposób czas fazy przywracania.
Wynalazek znajduje szczególne zastosowanie w komputerach osobistych kompatybilnych z IBM, tzn. w większości komputerów osobistych używających jako jednostki centralnej komputera (CPU) procesorów typu 8086, 8088, 80286, 80386, 80486 i Pentium produkowanych przez Intel i innych systemach pracujących w oparciu o mikroprocesor. W komputerach takich, gdy program pragnie uzyskać dostęp do pliku, wywołuje program standardowy, który zapisuje dane na dysk. Ten program standardowy, który w przypadku systemu operacyjnego DOS znany jest jako Przerwanie 21 hex (INT 21h), jest integralną częścią systemu operacyjnego. Działanie przeprowadzone przez ten program, znane jako program obsługi przerwań, zależy od parametrów przekazanych programowi na wejściu. Program ten przedstawiono na fig. 2ą jako fragment systemu operacyjnego w mapie pamięci systemu, punkt wejścia INT 21h wskazano strzałką. Aby możliwe było zastosowanie korzystnego sposób zgodnie z wynalazkiem, dodany jest dodatkowy kod programu na poziomie interfejsu systemu operacyjnego, jak pokazano na fig. 2b. W praktyce, w środowisku DOS, może on być załadowany do komputera jako sterownik urządzenia za pomocą pliku CONFIG.SYS.
Efektem dodanego oprogramowania jest zamiana rozkazów zapisywania danych na alternatywny zbiór rozkazów. W podobny sposób przechwycony może być rozkaz czytania danych i zastąpiony przez alternatywny zbiór rozkazów.
Stosowny ciąg działań, wynikający z alternatywnego zbioru rozkazów, przedstawiono w postaci schematu blokowego na fig. 3. W momencie otrzymania wywołania programu INT 21 h, program najpierw sprawdza czy wywołanie to jest wywołaniem zapisu. Jeżeli tak jest, pro
183 365 gram sprawdza na etapie 20, czy może to być przechwytywane wywołanie zapisu. Jeżeli nie, dane są zapisywane, krok 22, do obszaru danych oryginalnego 24.
Jeżeli wywołanie zapisu jest przechwytywane, wtedy program sprawdza tablicę odwzorowań delta, krok 26, czy poprzednio dokonany był zapis do oryginalnego obszaru pliku 24, określony za pomocą specyfikacji rekordów lub części w pliku. Jeżeli zapis był dokonany, krok 28, wtedy ta część obszaru delta 30, która poprzednio odpowiadała tej części oryginalnego pliku 24 w tablicy odwzorowań delta, jest zastąpiona przez nowe dane - krok 32.
Jeżeli wywołanie zapisu jest przechwytywane, ale poprzednio nie dokonano zapisu do tego oryginalnego obszaru pliku 24, wtedy zapis dodany jest do tablicy i przydzielony jest nowy obszar, obszaru delta, dla tych danych - krok 34. Dane zapisane są do nowego obszaru delta - krok 36.
Jeżeli wywołanie jest przechwytywanym wywołaniem czytania, następuje wtedy sprawdzenie (krok 42), czy wywołanie pochodzi od programu archiwującego. Jeżeli wywołanie pochodzi od programu archiwującego, program przechodzi do kroku 40 i dane są czytane z oryginalnego pliku 24.
Jeżeli wywołanie nie pochodzi od programu archiwującego, program sprawdza tablicę odwzorowań delta, czy zapis do oryginalnego obszaru pliku 24, odpowiadający temu wywołaniu czytania, był przeadresowany do obszaru delta - krok 44. Jeżeli nie był przeadresowany, krok 46, program przechodzi z powrotem do kroku 40 i dane są czytane z oryginalnego pliku 24. Jeżeli czytanie było przeadresowane, dane są czytane z poprawionej części obszaru delta 30 krok 48.
Jeżeli wywołanie INT 21h nie jest ani wywołaniem zapisu ani wywołaniem czytania, jest kierowane do standardowego programu obsługi przerwań INT 21h.
W drugim wariancie wykonania wynalazku, gdy operacje czytania i pisania są przechwytywane podczas procesu zapisywania, zamiast zapamiętywać zmienione dane w obszarze delta, gdy zrobiony jest pierwszy zapis w szczególnym obszarze pliku, oryginalne dane są zapamiętane w obszarze delta, a oryginalny plik może ulec zmianie. Dokonany jest wpis do tablicy odwzorowań, który wskazuje na oryginalną zawartość obszaru oryginalnego pliku, a który jest teraz zapamiętany w obszarze delta. Każdy kolejny zapis do tego samego obszaru pliku jest następnie ignorowany przez proces zapisywania. Żądania czytania z programu archiwującego są przeadresowywane do obszaru delta, jeżeli tablica odwzorowań wskazuje na zapisanie w obszarze oryginalnego pliku nowych danych.
Na fig. 4 przedstawiono drugi wariant wykonania za pomocą schematu blokowego. Schemat ten podobny jest do przedstawionego na fig. 3, gdzie kroki mające ten sam numer odniesienia oznaczają podobne działanie. Różnice między fig. 3 i fig. 4 są następujące;
W kroku 60, jeżeli przechwytywanie czytania jest aktywne, krok 38, i czytanie nie pochodzi od programu archiwującego, dane są czytane z oryginalnego obszaru danych. Jest to odwrotność kroku 42 na fig. 3.
Dodatkowy krok 62 wprowadzony jest po kroku 28, w którym są czytane dane z oryginalnego obszaru, zanim po raz pierwszy na ich miejscu nie zostaną zapisane nowe dane.
Krok 36 z fig. 3 jest zmodyfikowany tworząc nowy krok 64, który zawiera dodatkowy zapis do obszaru delta danych czytanych w kroku 62.
Krok 32 jest zmodyfikowany tworząc nowy krok 66, który już nie przeadresowuje danych aby zapisać je na starych w obszarze delta, ale zamiast tego zapisuje dane do oryginalnego obszaru danych.
Sposób drugi jest wolniejszy od pierwszego, ponieważ każde żądanie zapisu staje się jednym żądaniem czytania i dwoma żądaniami zapisu, w przeciwieństwie do prostego przeadresowania zapisu w sposobie pierwszym. Tym niemniej, drugi sposób nie wymaga zastosowania zmian zapamiętanych w obszarze delta do oryginalnego pliku po zakończeniu archiwizacji. Tablica odwzorowań delta i dane zapamiętane w obszarze delta mogą być po prostu odrzucone. Dodatkowo, z powodu tej różnicy, nie są konieczne dodatkowe zabezpieczenia umożliwiające odzyskanie danych w przypadku poważnych zakłóceń, (jak np. zanik prądu) występujących gdy zmiany delta nie zostały w pełni zastosowane do danych oryginalnych. W przypadku, gdy sposób przedstawiony powyżej stanowi część programu archiwującego,
183 365 przechwytywanie operacji czytania może mieć miejsce podczas archiwizacji i nie musi pociągać za sobą użycia programu systemu operacyjnego.
Szczegółowa implementacja systemu jak opisano w odniesieniu do fig. 3 i fig. 4 leży w możliwościach specjalisty, i jego pełny opis jest w związku z tym niekonieczny. Jeżeli system jest implementowany w MS.DOS, i jeżeli jest to wymagane, czytelnik może skorzystać z podręcznika IBM DOS Technical Reference Manuał.
Korzystne jest gdy wynalazek jest implementowany jako część samego systemu operacyjnego, albo jako integralna część oryginalnego kodu systemu operacyjnego, albo jako rozszerzenie do niego, w postaci sterownika urządzenia. W przypadku procesora Intel 80386 (lub wyższych) wynalazek zwykle działa na najwyższym poziomie uprzywilejowania, znanego jako Ring 0, gdzie dostęp do wszystkich elementów systemu nie ma ograniczeń.
Tym niemniej, działanie wynalazku nie dotyczy żadnej szczególnej architektury CPU. Może być on implementowany w innych systemach, np. na komputerach Macintosh, które używająjako procesora centralnego z szeregu 68000 i PowerPC.
Wynalazek może być wykorzystany w środowisku z wieloma użytkownikami. W tym przypadku korzystne jest, gdy wynalazek wykorzystany jest w środowisku z kontrolą dostępu do plików. Wynalazek będzie gwarantował wykonanie bezbłędnej kopii, gdy pozostała część systemu działa całkowicie efektywnie w taki sposób, jakby wynalazek nie był zastosowany. W przypadku braku kontroli dostępu do plików istnieje niebezpieczeństwo zniszczenia plików bez względu na to, czy wynalazek został zastosowany czy nie.
Wynalazek znajduje szczególnie zastosowanie do plików tworzonych przez bazy danych, jak np. dBase, które mogąbyć duże i są podzielone na rekordy. Rekordy, które są uaktualniane, zapisywane są w tablicy i obie wersje, uaktualniona i oryginalna są utrzymywane w pamięci dopóki nie zostanie zakończona archiwizacja. Tablica może zawierać np. punkt startowy w pliku, w którym zaczynają się dane uaktualnione i długość odpowiadającą ilości danych uaktualnionych. Alternatywnie tablica może zawierać znak rozpoznawczy uaktualnionych rekordów.
W przypadku wielu użytkowników lub pracy w sieci, gdy środowisko komputera umożliwia identyfikację szczególnego użytkownika pragnącego wykonać archiwizację, prezentowany sposób może również zawierać krok rozpoznający użytkownika i tylko archiwować te pliki użytkownika, w sposób opisany powyżej. W ten sposób nie jest niezbędne przechwytywanie wszystkich transakcji danych, ale tylko odnoszących się do tego użytkownika.
Sposób archiwizacji opisany powyżej, który może działać na zbiorach otwartych, polega na możliwości rozróżnienia między żądaniem pochodzącym od programu archiwującego i żądań pochodzących z innych źródeł, jak na przykład standardowych aplikacji. Pojawia się to w kroku 42 na fig. 3 lub kroku 60 na fig. 4.
Zakładając, że sposób dla zbiorów otwartych jest integralną częścią programu archiwującego, źródło żądania czytania może być łatwo określone, ponieważ program archiwujący wie jaki program tego zażądał. Problemy pojawiają się w sytuacji, gdy pewien program archiwizacji już istnieje, np. w postaci standardowego pakietu, nie wymagającego modyfikacji lub w takiej postaci, która nie może być zmieniona dla uwzględnienia sposobu dla otwartych plików, który to sposób musi być implementowany za pomocą dodatkowego kodu programu.
Zgodnie z pierwszym usprawnieniem, żądania programu archiwującego są odróżniane od innych żądań przez śledzenie łańcucha zdarzeń (tzn. patrzenie wstecz lub do góry) dla identyfikacji obszaru kodu, który zainicjował żądanie czytania. W podanym poniżej przykładzie takiej metody, system operacyjny MS.DOS będzie ponownie użyty dla ilustracji, tym niemniej podobna technika może być stosowana dla innych systemów operacyjnych.
Żądanie czytania jest zainicjowane przez wywołanie ΓΝΤ 21h, które standardowo byłoby skierowane do programu obsługi przerwań. Program obsługi przerwań ogólnie nie ma wiadomości o programie wywołującym. Dostaje po prostu polecenie wykonania poszczególnej funkcji i następnie wraca do programu wywołującego. W procesorach Intel wspomnianych uprzednio, a używanych w środowisku DOS, CPU automatycznie umieszcza adres powrotu programu wywołującego na stosie i skacze do pierwszego rozkazu programu przerwań.
183 365
Gdy funkcja została zakończona, program obsługi przerwań wysyła rozkaz IRET (powrót przerwania), który powoduje wyszukanie adresu ze stosu i kontynuuje wykonanie w miejscu wskazanym przez ten adres. Stąd, program obsługi przerwań nie musi i rzeczywiście nie ma informacji o programie wywołującym.
W systemie opisanym powyżej, z odniesieniami do fig. 3 i fig. 4, program przerwań INT 21h jest zastąpiony przez alternatywny zbiór rozkazów. Dodatkowo do funkcji opisanych do tej pory, rozkazy te mogą być zaadoptowane tak, aby dodatkowo określały źródło żądania jak następuje.
W tym usprawnieniu, program obsługi przerwań bada stos dla określenia adresu powrotu. W przypadku procesorów Intel serii 80x86 adres względny kodu i segment programu wywołującego będzie zapamiętany jako pierwsze i drugie słowo na górze stosu, tzn. odpowiednio jako SS:[SP] i SS:[SP+2]. Zarys kroków związanych z implementacją w MS.DOS został umieszczony na końcu tego opisu.
Program może patrzeć na źródło wywołania, jak zostało zdefiniowane przez stos i określić program, który wykonał to wywołanie na różne sposoby, których następujące przykłady podano poniżej.
Po pierwsze, mogą być zbadane różne charakterystyki kodu w pobliżu adresu powrotnego dla określenia, czy program wywołujący jest znanym programem archiwującym, ponieważ kod każdej wersji programu gotowego do użycia bez modyfikacji jest taki sam. Kod w pobliżu adresu powrotnego porównany jest z kodem oczekiwanym od używanego programu archiwującego, dla określenia czy porównanie to wskazuje na to, że wywołanie było wykonane przez program archi wuj ący.
Po drugie, nazwa programu może być ustalona przez odwołanie do Prefiksu Segmentu Programu (PSP) lub łańcucha opisującego środowisko, związanego z każdym załadowanym programem. Segment znany jest na podstawie zawartości stosu i może być odczytany PSP. Umożliwia to lokalizację łańcucha opisującego środowisko i na jego podstawie ustalenie nazwy programu w znany sposób.
W przypadku innego systemu operacyjnego niż DOS, identyfikacja programu wywołującego może być dokonana na podstawie innych parametrów stosu, włączając w to numery połączeń, numery identyfikacyjne zadań, numery procesów i inne. W pewnych systemach operacyjnych, dla ustalenia nazwy procesu mogą być również użyte zmienne globalne.
Proponowany sposób polega na identyfikacji pewnych znanych charakterystyk programu wołającego, jak np. nazwa programu, nazwa procesu lub programu składającego się z kilku modułów, lub przez identyfikację pewnego podpisu w kodzie programu, który może być znaną sekwencją bajtów, przez szukanie wstecz programu wołającego z wykorzystaniem stosu.
Zgodnie z drugim usprawnieniem, które może być użyte w środowisku sieciowym, identyfikacja programu wywołującego określana jest za pomocą zarezerwowania szczególnej nazwy użytkownika tylko dla celów archiwizacji. Zamiast ustalania tożsamości programu, identyfikowana jest nazwa użytkownika (jednoznaczna identyfikacja użytkownika), i wszystkie żądania użytkownika z zarezerwowaną nazwą traktowane są jako pochodzące od programu archiwującego. Ponieważ każdy użytkownik wymaga zarejestrowania się w systemie przed przyznaniem dostępu do plików, jest to efektywny sposób, zakładając oczywiście, że nazwa użytkownika jest użyta tylko dla archiwizacji, a nie w innym celu. Sposób ten nie wymaga zaawansowanej znajomości szczególnego programu archiwującego. W podobny sposób, dla określenia czy żądanie czytania pochodzi od procesu archiwizacji, czy od innej aplikacji może być wywołany specyficznie dla procesu archiwizacji identyfikator procesu lub zadania. Dwa zadania z tą samą tożsamością (id) nigdy nie istnieją w tej samej chwili czasu, tak więc jednoznacznie identyfikują proces w każdej chwili czasu (chociaż numery zadań mogą być użyte ponownie).
Poprzednio opisane sposoby dotyczyły żądania czytania, tym niemniej ta sama procedura może być zastosowana do zadania zapisu. W przypadku, gdy program archi wuj ący wysyła żądanie zapisu, może zostać podjęta odpowiednia akcja, która standardowo związana by była
183 365 z procedurą poprawiania błędów, ponieważ aplikacja archiwizacji standardowo nie powinna wysyłać żądania zapisu do programu obsługującego przerwania.
Jak opisano powyżej, dodatkowe rozkazy sprawdzają najpierw, czy wywołanie przerwania jest żądaniem czytania (lub zapisu) i jeżeli tak jest następuje sprawdzenie, czy było wysłane przez program archiwujący czy przez inną aplikację. W zasadzie kolejność tych dwóch operacji może zostać odwrócona i źródło wywołania jest określane zanim zostanie zbadany jego charakter.
Sposób archiwizacji plików otwartych opisany z odniesieniami do fig. 2 i fig. 3 zakłada, że dostęp do czytania może być zawsze przyznany aplikacji archiwizacji. W praktyce nie zawsze jest to słuszne, ponieważ plik może być już otwarty dla wyłącznego czytania/zapisu związanego z inną aplikacją i w związku z tym może być odmówiony dostęp dla aplikacji archi wuj ącej.
W obecnym wynalazku uwzględniono fakt, że ponieważ aplikacja archiwizacji nie powinna nigdy dokonywać zapisu do pliku który jest właśnie archiwowany i ponieważ sposób dla zbiorów otwartych opisany powyżej będzie zapewniał, że kopia pliku otrzymana przez aplikację archiwizacji nie ulegnie zmianie podczas wykonywania archiwizacji, całkowicie bezpieczne jest udzielenie dostępu do czytania pliku dla aplikacji archiwizacji.
Dostęp dla potrzeb archiwizacji może być osiągnięty w następujący sposób. System operacyjny ogólnie utrzymuje tablicę o wszystkich otwartych plikach, która zawiera taką informację jak identyfikatory obsługi plików, wskaźniki adresów względnych plików i prawa dostępu dla każdego otwartego pliku.
W przypadku systemu operacyjnego MS-DOS, pliki otwierane są z wykorzystaniem funkcji INT 21h. Stąd żądanie otwarcia pliku może być identyfikowane przez dodanie alternatywnego zbioru rozkazów jak opisano powyżej. Przez użycie techniki identyfikacji źródła jak to zostało opisane w poprzedniej części, lub za pomocą bezpośredniego rozkazu z programu archiwującego, można określić, czy żądanie otwarcia pliku było wykonane przez aplikację archiwującą i jeżeli ma to miejsce, tablica plików otwartych może być czasowo zmieniona dla zapewnienia przyznania dostępu, nawet gdy normalnie byłoby to niemożliwe. Gdy dostęp został przyznany, ale przed powrotem programu obsługującego przerwania, tablica przywrócona zostaje do poprzedniego stanu, tak że kolejne żądania dostępu z innych aplikacji będą odrzucone jak to ma miejsce w sytuacjach standardowych. Żądanie czytania z aplikacji archi wuj ącej będą spełnione nawet wtedy, gdy oryginalna aplikacja wierzy, że ma wyłączny dostęp do pliku.
W MS-DOS tablica otwartych plików nosi nazwę Tablicy Plików Systemu (SFT). SFT jest tablicą zawierającą wprowadzoną informację dla każdego otwartego pliku. Każda wprowadzona informacja zawiera tryb dostępu przyznany dla pliku. Dodatkowe rozkazy, które są niezbędne, modyfikują SFT, gdy aplikacja archiwująca wymaga dostępu do plików otwartych, przez tymczasowe zastąpienie odpowiedniej informacji w SFT aby stworzyć wrażenie, że prawa dostępu, które normalnie zapobiegają uzyskaniu dostępu przez program archiwujący, nie zostały jeszcze przyznane. Dostęp będzie więc przyznany i przyznana obsługa pliku. Przed powrotem do programu wywołującego, prawa dostępu w SFT są przy wrócone do stanu oryginalnego. Tablica Plików Systemu (SFT) jest opisana w pełni w podręczniku Undocumented DOS, odniesienie powyżej, patrz rozdział 8, strony 465-469 oraz 490-494. W szczególnym przypadku systemu operacyjnego DOS, kroki wymagane w obsłudze przerwań INT 21h gwarantujące dostęp do aplikacji archiwującej przedstawiono na fig. 5.
W odniesieniu do fig. 5, po otrzymaniu komendy otwarcia pliku jako wywołania z INT 21 h, w kroku 70 dokonane jest określenie źródła żądania, za pomocą jednej z technik opisanych w poprzedniej części. Jeżeli wywołanie pochodzi od aplikacji archiwującej, w kroku 72 następuje określenie czy zbiór do którego żądany jest dostęp jest już otwarty. Jeżeli uzyskana odpowiedź na jedno z pytań jest odmowna, program wraca do standardowego programu obsługi INT 21h, krok 74. Jeżeli odpowiedź na oba pytania jest TAK, wtedy wykonany zostaje zbiór rozkazów opisany na fig. 5. Przebiega to w następujący sposób. Każde wprowadzenie informacji do SFT zawiera tryb dostępu przyznany procesowi żądającemu (Atrybut Trybu Dostępu). W kroku 76, zapamiętany jest obecny lub oryginalny Atrybut Trybu Dostępu od
183 365 powiedniej wprowadzonej informacji. W kroku 78, Atrybut Trybu Dostępu jest zmieniony na stan nie odmawiaj niczego tak, że efektywnie SFT jest nie działająca w tym sensie, że nie zapobiega wielokrotnemu dostępowi do otwartego pliku. Teraz może zostać wywołany standardowy program obsługi przerwań w kroku 80, aby otworzyć w standardowy sposób plik dla potrzeb programu archi wuj ącego. Gdy program archi wuj ący skończył pracę związaną z plikiem, oryginalny, poprzednio zapamiętany atrybut trybu dostępu jest ponownie wprowadzony do SFT (krok 82). Na koniec, wykonanie przywrócone zostaje do programu wywołującego za pomocą rozkazu IRET, które czyta ze stosu (krok 84). Kroki zamieszczone w Dodatku uwzględniają fakt, że użyte zostało usprawnienie zapewniające dostęp do pliku.
Dokładny sposób, w jaki zmieniana została SFT, nie jest istotny i mogą być wykorzystane rozmaite sposoby. Korzystnym sposobem jest manipulowanie polami używanymi wspólnie share_prev_sft' i share_net_machine (patrz Undocumented DOS, strona 478). Przez manipulowanie tymi polami, np. przez zamianę wielkości zaprzeczenie czytania na nie zaprzeczaj niczego, może zostać uzyskany dostęp przez program archiwujący. Innym sposobem jest zmiana części programu SHARE, który jest częścią MS.DOS (patrz strony 490-494) tak, że dostęp zostanie przyznany.
Podobny sposób byłby użyty w środowiskach innych systemów operacyjnych, na przykład Novell NetWare.
Opisany powyżej sposób archiwizacji zbiorów otwartych, z odniesieniami do fig. 3 i fig. 4 zapewnia brak zmian w otwartym pliku podczas trwania archiwizacji. Nie ustala on jednak, czy plik znajduje się w dobrym stanie. Na przykład inna aplikacja mogłaby zapisywać zmiany, które wymagają szeregu operacji zapisu, niektóre z nich zostały już wykonane, a niektóre z nich nie. Ponieważ sposób archiwizacji działa na zbiorach otwartych, możliwe jest dla aplikacji archiwującej otrzymanie pliku zawierającego częściowo wprowadzone zmiany.
Wynalazek uwzględnia fakt, że można zapewnić dobrą kopię dobrego stanu pliku przez opóźnienie żądania otwarcia pliku przez aplikację archiwującą do czasu, kiedy nie jest wykonywana żadna zmiana. Ponieważ większość pracujących w sieci systemów operacyjnych, ze względu na wielozadaniowy charakter, jest specjalnie zaprojektowanych tak, aby można było jednocześnie uruchamiać wiele procesów, a możliwość opóźniania jednego procesu gdy inny kończy działanie jest powszechnym udogodnieniem takich systemów operacyjnych, może to być łatwo osiągnięte. Ogólnie nie ma wielkiego znaczenia czy operacja archiwizacji jest wstrzymana na krótki okres czasu, ponieważ użytkownicy nie są zwykle zależni od jej zakończenia, szczególnie gdy pliki mogą być archiwowane podczas ich otwarcia. Opóźnienie w żądaniu otwarcia pliku odpowiada opóźnieniu sygnału startu, który rozpoczyna wykonanie programu opisanego z odniesieniami do fig. 3 i fig. 4. Drugi sposób znajduje zastosowanie w sytuacjach, gdy nie ma programowych możliwości utrzymania transakcyjnej niepodzielności plików. Wtedy może być użyty inny sposób ustanowienia transakcyjnej niepodzielności, jak następuje. Przetwarzanie zazwyczaj występuje przez względnie krótki okres czasu, z dłuższymi przerwami między przetwarzaniami. Program użytkowy będzie ogólnie przeprowadzał wszystkie operacje zapisu wymagane dla pojedynczego przetworzenia w szybko powtarzających się zapisach cząstkowych, ponieważ w innym przypadku istnieje niebezpieczeństwo awarii zasilania lub podobnej awarii, co może powodować pojawienie się na dysku danych tylko częściowo zaktualizowanych, co przy ponownym uruchomieniu systemu będzie objawiało się komunikatem o uszkodzonym pliku. Oczywistym jest, że im krótszy jest czas, przez który transakcja zapisywana jest na dysku, tym mniej prawdopodobne jest wystąpienie poważnych problemów nie związanych z nią bezpośrednio (jak awaria zasilania). Przez pomiar czasu między kolejnymi operacjami zapisu, możliwe jest oszacowanie stanu pliku ze względu na dokonywanie transakcji. Na przykład, jeżeli zapis nie wystąpił przez powiedzmy ostatnią minutę, jest mało prawdopodobne, że aplikacja jest w trakcie zapisywania pojedynczej transakcji. Przez empiryczne dopasowanie okresu braku aktywności do charakterystyk aplikacji, może zostać ustalony wysoce niezawodny wskaźnik integralności transakcji. Stąd wynikają różne usprawnienia do sposobu ilustrowanego na fig. 3 i fig. 4, a mianowicie różne techniki dla zapewnienia dostępu do pliku i techniki dla zapewnienia, że plik archiwo
183 365 wany jest w dobrym stanie zanim archiwizacja będzie miała miejsce. Korzystne jest, gdy te różne usprawnienia użyte są w kombinacji. Tym niemniej mogą one być użyte wybiórczo i niezależnie i nie jest niezbędne, aby były one zastosowane w tej samej aplikacji.
Przedmiot wynalazku został przedstawiony głównie za pomocą systemu operacyjnego DOS, a mówiąc bardziej szczegółowo MS.DOS. Tym niemniej to aby wynalazek działał nie zależy od żadnej szczególnej architektury CPU. W szczególności nie jest ograniczony do systemu operacyjnego DOS i mógłby być implementowany w systemach Novell NetWare, OS/2, lub UNIX, i na komputerach Macintosh, które używają procesorów serii 6800 i Power PC.
Przykład kodu programu archiwującego:
. ;kod programu przed wywołaniem
6F00:0009 INT 21h (wywołanie INT 21h dla otwarcia pliku
6F00:000B ? (przerwanie wraca w to miejsce . (kod programu po wywołaniu
Dodatkowy program obsługi przerwań INT 21h według wynalazku:
| (zachowaj zawartość rejestrów za pomocą (zmiennych lokalnych (sprawdź, czy wywołanie jest żądaniem (które chcemy przechwycić, tzn. otwarcia, (czytania, zapisu itp. Jeżeli nie skocz ;do starej obsługi przerwań INT 21h. (Teraz zbadaj stos dla określenia adresu (programu wywołującego | |
| pop dx | (segment programu wywołującego jest teraz ;w rejestrze dx |
| pop cx | (adres względny programu wywołującego (jest teraz w rejestrze cx |
| push cx | (umieść adres względny z powrotem ;na stosie |
| push dx | (umieść z powrotem segment - zawartość (stosu jest przywrócona ;DX:CX wskazują teraz na adres programu (wywołującego, w tym przypadku 6F00:000B (ustal tożsamość programu wywołującego, ;np. badając kod programu przed lub ;po wywołaniu INT 21 h dla znanej cechy (charakterystycznej. |
| jmp gdzieindziej | (jeżeli program wywołujący nie (jest programem archi wuj ącym, wtedy skocz ;do innego kodu. |
| jmp gdzieindziej2 | (jeżeli plik nie jest używany, (skocz do innego kodu. (manipuluj tablicą tak, aby sprawiała (wrażenie, że dostęp jest przyznany. |
| pushf | (umieść znaczniki dla symulacji IRET |
183 365
| cali obsługę | ;wywołaj oryginalną obsługę przerwań ;dla otwarcia pliku (wywołanie otwarcia będzie zrealizowane i ;powróci tutaj |
| ;przywróć tablicę z powrotem do (oryginalnego stanu. |
| (odtwórz zawartość rejestrów ze zmiennych | |
| iret | (lokalnych (powrót do programu archwizacji. |
Instrukcja zapisu
Instrukcja czytania
'26
Zapiśz do obszaru danych oryginalnych
Zapisz z kasowaniem do obszaru _____delta ,. „
Sprawdzenie tablicy poprzednich zaolsów
N
Dodaj zapis do tablicy
Zaplsż do nowego obszaru _ delta N6
Sprawdzenie tablicy zapisów przeadresowanych
Czytanie z obszaru delta
Czytanie z obszaru danych oryginalnych
Obszar delta
Oryginalny Obszar danych
183 365
183 365
Rozkaz Otwarcia
Skocz do oryginalnego programu obsługi przerywań INT 2ih
Zmień tryb dostępu na nie odmawiaj niczego
Wywołaj dla otwarcia pliku oryginalny INT 21 h
183 365
Fig.1
PAMIĘĆ
Jednostka centralna komputera
Fig.2b
Fig.2a
System Operacyjny DOS
Nowy Punkt
Wejścia INT 21 h
Departament Wydawnictw UP RP. Nakład 60 egz. Cena 4,00 zł.
Claims (8)
- Zastrzeżenia patentowe1. Sposób zarządzania systemem komputerowym opartym na mikroprocesorze, zawierającym pamięć przechowującą rozkazy, jednostkę centralną komputera oraz urządzenie z pamięcią w którym w kolejnych etapach ustanawia się proces archiwizacji, uruchamiany w systemie komputerowym, dostosowanym do wysyłania sygnału startu i sygnału stopu i wysyłania przynajmniej jednego, związanego z archiwizacją rozkazu czytania, powodującego odczyt oryginalnych danych z urządzenia z pamięcią dostarcza się pierwsze rozkazy, zapamiętane w pamięci, do jednostki centralnej komputera i powoduje się wykonanie przez jednostkę centralną komputera przynajmniej jednej standardowej operacji czytania danych z pamięci, utrzymuje się rekord danych zapisanych do urządzenia z pamięcią i ustala zależność między odpowiednimi obszarami w obszarze pamięci pierwszego stopnia i w obszarze pamięci pomocniczej wspomnianego urządzenia z pamięcią określa się, po otrzymaniu sygnału startu i otrzymując rozkaz czytanią czy rozkaz czytania dotyczy operacji czytania związanego z archiwizacją czy czytania standardowego oraz przeprowadza się jedną z operacji czytania albo dla potrzeb archiwizacji albo czytania standardowego, przegląda się rekord i czyta dane z pamięci pierwszego stopnia lub pamięci pomocniczej zgodnie ze wspomnianym rekordem i podczas przeprowadzania drugiej ze wspomnianych operacji czytania związanego z archiwizacją lub czytania standardowego, czyta się dane z pamięci pierwszego stopnia, znamienny tym, że śledzi się obszar pamięci z którego pochodzi rozkaz czytania i identyfikuje program, który zainicjował wspomniany rozkaz czytania podczas określania (42, 60), czy rozkaz czytania dotyczy operacji czytania związanego z archiwizacją czy czytania standardowego.
- 2. Sposób według zastrz. 1, znamienny tym, że podczas śledzenia pamięci przegląda się stos i wyznacza adresy umieszczone na stosie oraz przegląda się te adresy.
- 3. Sposób według zastrz. 2, znamienny tym, że podczas śledzenia pamięci porównuje się kod w otoczeniu wspomnianych adresów z kodem oczekiwanym dla programu archiwizującego.
- 4. Sposób według zastrz. 2, znamienny tym, że podczas śledzenia pamięci określa się Prefiks Segmentu Programu i Łańcuch Opisujący Środowisko związane z programem we wspomnianych adresach oraz wyznacza się nazwę programu z wykorzystaniem wspomnianego Łańcucha Opisującego Środowisko.
- 5. Sposób zarządzania systemem komputerowym opartym na mikroprocesorze, zawierającym pamięć przechowującą rozkazy, jednostkę centralną komputera oraz urządzenie z pamięcią w którym w kolejnych etapach ustanawia się proces archiwizacji, uruchamiany w systemie komputerowym, dostosowanym do wysyłania sygnału startu i sygnału stopu i wysyłania przynajmniej jednego, związanego z archiwizacją rozkazu czytania, powodującego odczyt oryginalnych danych z urządzenia z pamięcią dostarcza się pierwsze rozkazy, zapamiętane w pamięci, do jednostki centralnej komputera i powoduje się wykonanie przez jednostkę centralną komputera przynajmniej jednej standardowej operacji czytania danych z pamięci, utrzymuje się rekord danych zapisanych do urządzenia z pamięcią i ustala zależność między odpowiednimi obszarami w obszarze pamięci pierwszego stopnia i w obszarze pamięci pomocniczej wspomnianego urządzenia z pamięcią określa się, po otrzymaniu sygnału startu i otrzymując rozkaz czytania, czy rozkaz czytania dotyczy operacji czytania związanego z archiwizacją czy czytania standardowego oraz przeprowadza się jedną z operacji czytania albo dla potrzeb archiwizacji albo czytania standardowego, przegląda się rekord i czyta dane z pamięci pierwszego stopnia lub pamięci pomocniczej zgodnie ze wspomnianym rekordem i podczas przeprowadzania drugiej ze wspomnianych operacji czytania związanego z archiwizacją lub czytania standardowego, czyta się dane z pamięci pierwszego stopnią znamienny tym, że przydziela się procesowi archiwizacji użytkownika, identyfikator procesu183 365 lub zadania, przy czym podczas określania (42, 60) czy rozkaz czytania dotyczy operacji czytania związanego z archiwizacją czy czytania standardowego określa się, czy operacja czytania była żądana przez użytkownika lub jego program poprzez identyfikator procesu lub zadania.
- 6. Sposób zarządzania systemem komputerowym opartym na mikroprocesorze, zawierającym pamięć przechowującą rozkazy, jednostkę centralną komputera oraz urządzenie z pamięcią w którym w kolejnych etapach ustanawia się proces archiwizacji, uruchamiany w systemie komputerowym, dostosowanym do wysyłania sygnału startu i sygnału stopu i wysyłania przynajmniej jednego, związanego z archiwizacją rozkazu czytanią powodującego odczyt oryginalnych danych z urządzenia z pamięcią dostarcza się rozkazy, zapamiętane w pamięci, do jednostki centralnej komputera i powoduje się wykonanie przez jednostkę centralną komputera przynajmniej jednej standardowej operacji czytania danych z pamięci, zapewnia się środki otwierające pliki dla otwarcia pliku, który ma być czytany standardowo i odmawiające dostępu do pliku przez inne operacje czytania, znamienny tym, że stosuje się są środki związane z procesem archiwizacji, wyłączające wspomnianą funkcję odmowy dostępu, i umożliwiające jednoczesny dostęp do czytania pliku przez operację czytania związaną z archiwizacją i operację standardowego czytania.
- 7. Sposób według zastrz. 6, znamienny tym, że w systemie komputerowym utrzymuje się tablicę plików otwartych, przy czym deaktywuje się funkcję odmowy dostępu przez czasową odwracalną zmianę tablicy.
- 8. Sposób zarządzania systemem komputerowym opartym na mikroprocesorze, zawierającym pamięć przechowującą rozkazy, jednostkę centralną komputera oraz urządzenie z pamięcią w którym w kolejnych etapach ustanawia się proces archiwizacji, uruchamiany w systemie komputerowym, dostosowanym do wysyłania sygnału startu i sygnału stopu i wysyłania przynajmniej jednego, związanego z archiwizacją rozkazu czytania, powodującego odczyt oryginalnych danych z urządzenia z pamięcią dostarcza się rozkazy zapamiętane w pamięci, do jednostki centralnej komputera i powoduje się wykonanie przez jednostkę centralną komputera przynajmniej jednej standardowej operacji czytania danych z pamięci, przy czym proces archiwizacji może działać na plikach, które są otwarte dla dostępu przez te rozkazy, znamienny tym, że opóźnia się sygnał startu o założony okres braku aktywności, wystarczający do zakończenia każdego ciągu operacji zapisu do pliką który ma być archiwowany. * * *
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GBGB9505939.0A GB9505939D0 (en) | 1995-03-23 | 1995-03-23 | A method of operating a computer system |
| US08/465,925 US5675725A (en) | 1993-07-19 | 1995-06-06 | Computer backup system operable with open files |
| PCT/GB1996/000651 WO1996029650A1 (en) | 1995-03-23 | 1996-03-18 | Computer backup system operable with open files |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| PL322454A1 PL322454A1 (en) | 1998-02-02 |
| PL183365B1 true PL183365B1 (pl) | 2002-06-28 |
Family
ID=26306735
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PL96322454A PL183365B1 (pl) | 1995-03-23 | 1996-03-18 | Sposób zarządzania systemem komputerowym opartym na mikroprocesorze |
Country Status (22)
| Country | Link |
|---|---|
| US (1) | US5675725A (pl) |
| EP (3) | EP0921466B1 (pl) |
| JP (2) | JP3769019B2 (pl) |
| KR (1) | KR100413915B1 (pl) |
| CN (2) | CN1627274A (pl) |
| AT (3) | ATE219262T1 (pl) |
| BG (1) | BG63373B1 (pl) |
| BR (1) | BR9607912A (pl) |
| CA (1) | CA2213312C (pl) |
| CZ (1) | CZ294040B6 (pl) |
| DE (3) | DE69613594T2 (pl) |
| DK (3) | DK0921467T3 (pl) |
| ES (3) | ES2179424T3 (pl) |
| GR (2) | GR3034153T3 (pl) |
| HU (1) | HU224852B1 (pl) |
| IS (1) | IS4535A (pl) |
| MX (1) | MX9707260A (pl) |
| NO (3) | NO317208B1 (pl) |
| NZ (1) | NZ304065A (pl) |
| PL (1) | PL183365B1 (pl) |
| PT (2) | PT921466E (pl) |
| WO (1) | WO1996029650A1 (pl) |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6061769A (en) * | 1995-09-27 | 2000-05-09 | International Business Machines Corporation | Data set backup in a shared environment |
| US5890165A (en) * | 1996-03-29 | 1999-03-30 | Emc Corporation | Method and apparatus for automatic discovery of databases |
| US5829047A (en) * | 1996-08-29 | 1998-10-27 | Lucent Technologies Inc. | Backup memory for reliable operation |
| US5966730A (en) * | 1996-10-30 | 1999-10-12 | Dantz Development Corporation | Backup system for computer network incorporating opportunistic backup by prioritizing least recently backed up computer or computer storage medium |
| CA2221216A1 (en) * | 1996-11-15 | 1998-05-15 | Mark Squibb | System and apparatus for merging a write event journal and an original storage to produce an updated storage using an event map |
| US6038665A (en) * | 1996-12-03 | 2000-03-14 | Fairbanks Systems Group | System and method for backing up computer files over a wide area computer network |
| US5794254A (en) * | 1996-12-03 | 1998-08-11 | Fairbanks Systems Group | Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets |
| KR19990060338A (ko) * | 1997-12-31 | 1999-07-26 | 윤종용 | 하드 디스크 드라이브의 바이러스에 의한 손상 데이터복구방법 |
| US6385707B1 (en) * | 1998-02-24 | 2002-05-07 | Adaptec, Inc. | Method and apparatus for backing up a disk drive upon a system failure |
| US6088694A (en) * | 1998-03-31 | 2000-07-11 | International Business Machines Corporation | Continuous availability and efficient backup for externally referenced objects |
| JP3440991B2 (ja) * | 1999-03-05 | 2003-08-25 | 日本電気株式会社 | ファイルリビジョン管理システム |
| US6453396B1 (en) * | 1999-07-14 | 2002-09-17 | Compaq Computer Corporation | System, method and computer program product for hardware assisted backup for a computer mass storage system |
| DE60115607D1 (de) * | 2000-03-01 | 2006-01-12 | Computer Ass Think Inc | Methode und system für die aktualisierung eines archivs einer datei |
| US6453859B1 (en) | 2001-01-08 | 2002-09-24 | Borgwarner Inc. | Multi-mode control system for variable camshaft timing devices |
| US6985915B2 (en) | 2001-02-28 | 2006-01-10 | Kiran Somalwar | Application independent write monitoring method for fast backup and synchronization of files |
| US6847983B2 (en) | 2001-02-28 | 2005-01-25 | Kiran Somalwar | Application independent write monitoring method for fast backup and synchronization of open files |
| JP3714184B2 (ja) * | 2001-03-29 | 2005-11-09 | 富士通株式会社 | 記憶装置のデータ領域間複写処理方法、及び記憶システム |
| ES2218311T3 (es) | 2001-06-28 | 2004-11-16 | Siemens Aktiengesellschaft | Procedimiento para la reduccion del tiempo de bloqueo durante la salvaguarda de los datos de una base de datos compartida. |
| US7752169B2 (en) * | 2002-06-04 | 2010-07-06 | International Business Machines Corporation | Method, system and program product for centrally managing computer backups |
| US7805401B2 (en) | 2003-04-14 | 2010-09-28 | Novell, Inc. | Method and apparatus for splitting a replicated volume |
| US7281014B2 (en) * | 2003-04-14 | 2007-10-09 | Novell, Inc. | Method and apparatus for moving data between storage devices |
| 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 |
| US20050131960A1 (en) * | 2003-12-15 | 2005-06-16 | Reed Benjamin C. | Method and system of accessing at least one target file in a computer system with an operating system with file locking implemented at file-open time |
| US7380246B2 (en) * | 2003-12-15 | 2008-05-27 | Lenovo (Singapore) Pte. Ltd. | Method and system of accessing at least one target file in a computer system with an operating system with file locking implemented with byte-range locking |
| CN100407158C (zh) * | 2005-04-21 | 2008-07-30 | 中兴通讯股份有限公司 | 一种在通信设备中保存数据文件的方法 |
| JP4577242B2 (ja) * | 2006-03-10 | 2010-11-10 | 日本電気株式会社 | データバックアップシステム、データバックアップ方法、及びその動作制御プログラム |
| US9015127B2 (en) * | 2006-12-27 | 2015-04-21 | Oracle America, Inc. | File archiving system and method |
| US20080215639A1 (en) * | 2007-01-04 | 2008-09-04 | Imusicdrive, Llc | Data Synchronization |
| US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
| US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
| US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
| WO2009009719A2 (en) * | 2007-07-11 | 2009-01-15 | Citrix Systems, Inc. | Methods and systems for providing a level of access to a computing device |
| JP4972046B2 (ja) * | 2008-07-14 | 2012-07-11 | 日本電信電話株式会社 | アクセス監視システムおよびアクセス監視方法 |
| CN101694636B (zh) * | 2009-10-21 | 2012-05-23 | 上海坚芯电子科技有限公司 | 非易失性数据存储器数据更新备份系统及方法 |
| JP5587050B2 (ja) * | 2010-06-22 | 2014-09-10 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及び、プログラム |
| US8495019B2 (en) | 2011-03-08 | 2013-07-23 | Ca, Inc. | System and method for providing assured recovery and replication |
| US10380022B2 (en) | 2011-07-28 | 2019-08-13 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
| US10838646B2 (en) | 2011-07-28 | 2020-11-17 | Netlist, Inc. | Method and apparatus for presearching stored data |
| US10198350B2 (en) | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
| JP5619198B2 (ja) * | 2013-02-04 | 2014-11-05 | 株式会社フィックスターズ | 情報処理装置、情報処理方法、およびプログラム |
| US10372551B2 (en) | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
| US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
| US10248328B2 (en) | 2013-11-07 | 2019-04-02 | Netlist, Inc. | Direct data move between DRAM and storage on a memory module |
| US9229821B2 (en) | 2013-11-13 | 2016-01-05 | International Business Machines Corporation | Reactionary backup scheduling around meantime between failures of data origination |
| CN104375906B (zh) * | 2014-11-19 | 2017-06-13 | 天津南大通用数据技术股份有限公司 | 一种基于文件系统的大规模备份数据快速校验方法 |
| CN112685222B (zh) | 2019-10-17 | 2024-09-13 | 伊姆西Ip控股有限责任公司 | 管理备份数据的方法、设备和计算机程序产品 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4686620A (en) * | 1984-07-26 | 1987-08-11 | American Telephone And Telegraph Company, At&T Bell Laboratories | Database backup method |
| US5065354A (en) * | 1988-09-16 | 1991-11-12 | Compaq Computer Corporation | Queued posted-write disk write method with improved error handling |
| GB2230626A (en) * | 1989-04-20 | 1990-10-24 | Croftlands Ltd | Computerised database system |
| DE69023770T2 (de) * | 1989-07-11 | 1996-05-23 | Intelligence Quotient Int | Verfahren zum betrieb eines datenverarbeitungssystems. |
| US5163148A (en) * | 1989-08-11 | 1992-11-10 | Digital Equipment Corporation | File backup system for producing a backup copy of a file which may be updated during backup |
| EP0516900B1 (en) * | 1991-06-04 | 1996-05-01 | International Business Machines Corporation | Data backup and recovery in a data processing system |
| CA2071346A1 (en) * | 1991-10-18 | 1993-04-19 | Claus William Mikkelsen | Method and means for time zero backup copy of data |
| US5241670A (en) * | 1992-04-20 | 1993-08-31 | International Business Machines Corporation | Method and system for automated backup copy ordering in a time zero backup copy session |
| US5241669A (en) * | 1992-04-20 | 1993-08-31 | International Business Machines Corporation | Method and system for sidefile status polling in a time zero backup copy process |
| US5379398A (en) * | 1992-04-20 | 1995-01-03 | International Business Machines Corporation | Method and system for concurrent access during backup copying of data |
-
1995
- 1995-06-06 US US08/465,925 patent/US5675725A/en not_active Expired - Lifetime
-
1996
- 1996-03-18 CN CNA021017905A patent/CN1627274A/zh active Pending
- 1996-03-18 DK DK98204147T patent/DK0921467T3/da active
- 1996-03-18 DE DE69613594T patent/DE69613594T2/de not_active Expired - Lifetime
- 1996-03-18 CN CNA021017913A patent/CN1627267A/zh active Pending
- 1996-03-18 NZ NZ304065A patent/NZ304065A/xx unknown
- 1996-03-18 JP JP52819196A patent/JP3769019B2/ja not_active Expired - Fee Related
- 1996-03-18 AT AT98204146T patent/ATE219262T1/de not_active IP Right Cessation
- 1996-03-18 ES ES98204146T patent/ES2179424T3/es not_active Expired - Lifetime
- 1996-03-18 AT AT98204147T patent/ATE202645T1/de not_active IP Right Cessation
- 1996-03-18 WO PCT/GB1996/000651 patent/WO1996029650A1/en not_active Ceased
- 1996-03-18 ES ES96907578T patent/ES2148739T3/es not_active Expired - Lifetime
- 1996-03-18 EP EP98204146A patent/EP0921466B1/en not_active Expired - Lifetime
- 1996-03-18 BR BR9607912A patent/BR9607912A/pt not_active IP Right Cessation
- 1996-03-18 MX MX9707260A patent/MX9707260A/es not_active IP Right Cessation
- 1996-03-18 DK DK98204146T patent/DK0921466T3/da active
- 1996-03-18 DE DE69608673T patent/DE69608673T2/de not_active Expired - Lifetime
- 1996-03-18 PT PT98204146T patent/PT921466E/pt unknown
- 1996-03-18 EP EP98204147A patent/EP0921467B1/en not_active Expired - Lifetime
- 1996-03-18 KR KR1019970706633A patent/KR100413915B1/ko not_active Expired - Fee Related
- 1996-03-18 CA CA002213312A patent/CA2213312C/en not_active Expired - Fee Related
- 1996-03-18 DK DK96907578T patent/DK0815512T3/da active
- 1996-03-18 CZ CZ19972930A patent/CZ294040B6/cs not_active IP Right Cessation
- 1996-03-18 EP EP96907578A patent/EP0815512B1/en not_active Expired - Lifetime
- 1996-03-18 PT PT98204147T patent/PT921467E/pt unknown
- 1996-03-18 ES ES98204147T patent/ES2159916T3/es not_active Expired - Lifetime
- 1996-03-18 PL PL96322454A patent/PL183365B1/pl not_active IP Right Cessation
- 1996-03-18 HU HU9900368A patent/HU224852B1/hu not_active IP Right Cessation
- 1996-03-18 DE DE69621841T patent/DE69621841T2/de not_active Expired - Lifetime
- 1996-03-18 AT AT96907578T patent/ATE193608T1/de not_active IP Right Cessation
-
1997
- 1997-07-31 IS IS4535A patent/IS4535A/is unknown
- 1997-08-28 BG BG101864A patent/BG63373B1/bg unknown
- 1997-08-29 NO NO19973991A patent/NO317208B1/no unknown
-
2000
- 2000-08-08 GR GR20000401848T patent/GR3034153T3/el not_active IP Right Cessation
-
2001
- 2001-09-24 GR GR20010401552T patent/GR3036695T3/el not_active IP Right Cessation
-
2004
- 2004-05-12 NO NO20041945A patent/NO20041945L/no not_active Application Discontinuation
- 2004-05-12 NO NO20041944A patent/NO20041944D0/no not_active Application Discontinuation
-
2005
- 2005-10-12 JP JP2005297373A patent/JP2006099784A/ja active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| PL183365B1 (pl) | Sposób zarządzania systemem komputerowym opartym na mikroprocesorze | |
| US5546534A (en) | Method of operating a computer system | |
| EP0730766B1 (en) | Computer method and apparatus for asynchronous ordered operations | |
| EP0660232B1 (en) | Method and system for selectively applying an appropriate object ownership model | |
| JPH0683686A (ja) | タイム・ゼロ・バックアップ・セッションの安全保護機能を有するデータ処理方法及びシステム | |
| US20070113291A1 (en) | Method for administrating the function access | |
| RU2155373C2 (ru) | Компьютерная дублирующая система, действующая с открытыми файлами | |
| US20040243751A1 (en) | Method for resource access co-ordination in a data processing system, data processing system and computer program | |
| AU695339C (en) | Computer backup system operable with open files | |
| US5797039A (en) | Method of efficiently sending packets onto a network by eliminating an interrupt | |
| KR100285534B1 (ko) | 컴퓨터 시스템의 작동방법 | |
| NZ331686A (en) | Computer backup system for open files permitting simultaneous access to a file by both the backup read operation and a normal write operation | |
| CA2153508C (en) | A method of operating a computer system | |
| CN1179219A (zh) | 可用打开文件操作的计算机备份系统 | |
| GB2290396A (en) | Backing-up shared data | |
| WO1995019599A9 (en) | File backup system | |
| JPH02253359A (ja) | 動的割当て領域のデータ内容保護方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Decisions on the lapse of the protection rights |
Effective date: 20070318 |