PL182609B1 - Sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym - Google Patents

Sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym

Info

Publication number
PL182609B1
PL182609B1 PL95321160A PL32116095A PL182609B1 PL 182609 B1 PL182609 B1 PL 182609B1 PL 95321160 A PL95321160 A PL 95321160A PL 32116095 A PL32116095 A PL 32116095A PL 182609 B1 PL182609 B1 PL 182609B1
Authority
PL
Poland
Prior art keywords
file
access
memory
parts
archiving
Prior art date
Application number
PL95321160A
Other languages
English (en)
Other versions
PL321160A1 (en
Inventor
Peter B. Malcolm
Original Assignee
Cheyenne Advanced Tech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cheyenne Advanced Tech Ltd filed Critical Cheyenne Advanced Tech Ltd
Publication of PL321160A1 publication Critical patent/PL321160A1/xx
Publication of PL182609B1 publication Critical patent/PL182609B1/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Photoreceptors In Electrophotography (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

pamietanych w systemie komputerowym, z zaloze- niem hierarchicznego zarzadzania pamiecia, wypo- sazonym w pamiec swobodnego dostepu, jednostke centralna, glówna pamiec masowa, pomocnicza pamiec archiwizacji oraz urzadzenie archiwizujace dane zawarte w systemie komputerowym, przepro- wadzany w etapach, w których w trybie normalnej pracy doprowadza sie instrukcje zapamietane w pamieci swobodnego dostepu do jednostki cen- tralnej i nakazuje sie jej wyszukiwanie dostepu do danych zapamietanych w glównej pamieci masowej generujac przynajmniej zadanie odczytu, identyfi- kuje sie plik do którego dostep jest zadany,........... jesli zadane czesci pliku nie znajduja sie w glównej pamieci masowej, odzyskuje sie zadane czesci pliku z pomocniczej pamieci archiwizacji i przesyla sie do glównej pamieci masowej dla realizacji dostepu, znamienny tym, ze w trybie normalnej pracy two- rzy sie baze danych identyfikujaca polozenie czesci pliku do których dostep ma byc zrealizowany, przy czym same czesci pliku znajduja sie poza baza da- nych, natomiast w trybie archiwizacji wyznacza sie, na podstawie bazy danych, polozenia tych czesci pliku, do których dostep byl zrealizowany. FIG. 3 PL PL PL

Description

Przedmiotem wynalazku jest sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym, zwłaszcza w hierarchicznym zarządzaniu pamięcią komputerowych plików danych.
Ostatnio pojemność pamięci twardego dysku komputera osobistego działającego jako urządzenie pamięci masowej gwałtownie wzrasta. Szczególnie dotyczy to danych na serwerach plików sieciowych, gdzie znane są zawierające wiele tysięcy plików podsystemy dysku twardego o pojemności 1GB (1 gigabajt) lub więcej.
Zazwyczaj wiele tych plików na serwerze plików sieciowych nie jest udostępnianych przez jakiś czas. Tak może się dziać z wielu powodów, na przykład plik może mieć już starą wersję, jest to zdublowana kopia, lub był on potrzebny tylko w ciągu jednego dnia. Plik faktycznie jest zbędny, jednak tylko właściciel pliku może określić, że tak jest rzeczywiście i konsekwentnie plik jest przechowywany jako rezerwa, lub dla zabezpieczenia. Prawidłowa praktyka komputerowa sugeruje, że w przypadku wątpliwości pliki powinny być zachowane jako niezidentyfikowane. Naturalną konsekwencją tego jest, że dysk twardy jest wypełniony nieaktualnymi plikami. Tak dzieje się faktycznie w każdym mikroprocesorze osobistego systemu komputerowego, od urządzeń najmniejszych do największych.
Hierarchiczne zarządzenie pamięcią HSM jest znanym technicznym rozwiązaniem tego problemu. Najbardziej operatywne systemy zachowują zapis ostatnich danych i czas pliku jest datowany. Wiele z nich zachowuje również zapis ostatnich danych i czas pliku jest dostępny. System HSM cyklicznie przegląda listę plików na twardym dysku sprawdzając ich ostatnio dostępne datę/czas. Jeżeli plik nie był używany przez określony okres czasu, zazwyczaj 1 do 6 miesięcy, wtedy plik jest archiwizowany, to znaczy przenoszony do pamięci pomocniczej, takiej jak taśma i usuwany z dysku twardego.
System HSM jest właściwie zintegrowany z zasobem rezerwowym. Rozważane są udogodnienia związane z systemem HSM, dublowania na taśmie, w którym nieaktywny próg jest ograniczony do trzech miesięcy. Proces tworzenia rezerwy przebiega okresowo (właściwie przynajmniej raz na tydzień) i notuje, że ostatnie dane dostępne pochodzą z pliku wprowadzonego dawniej niż przed trzema miesiącami. System rezerwy zabezpiecza trzy rezerwowe kopie pliku na różnych taśmach (albo czeka aż do następnej okazji, kiedy ma trzy kopie) i wtedy usuwa plik. Jeżeli kiedykolwiek plik będzie potrzebny, użytkownik może w prosty sposób przywrócić go z trzech taśm rezerwowych. System rezerwy zabezpiecza to, że taśmy zawierające archiwalne kopie pliku nie są przegrywane. Ten sposób wprowadza długoterminowe rozwiązanie problemu, a w międzyczasie taśmy są usuwane, z łatwością przemieszczane i w związku z tym operacja nie jest kosztowna.
Plik raz usunięty za pomocą systemu HSM więcej nie pojawia się na dysku pierwotnym. To może być niekorzystne, gdyż użytkownik, albo program użytkowy, powinien mieć dostęp do pożądanego pliku, a tymczasem nie ma śladu pliku na badanym dysku. I wtedy użytkownik nie ma możliwości zidentyfikowania, że plik mógłby być przywrócony i aplikacja może prowadzić do fatalnej pomyłki wynikającej z mylącej informacji.
W warunkach idealnych zamiast usuwać plik bez śladu, powinien być on stale uwzględniony na liście w katalogu dysku, korzystnie z jakimiś środkami identyfikującymi, że został przesunięty do zasobu rezerwowego lub pamięci pomocniczej, ale bez aktualnych danych pliku zajmujących przestrzeń dyskową. Udoskonalenia tego rodzaju zostały wprowa
182 609 dzone w wielu systemach HSM i są znane jako migracja. System HSM właściwie opuszcza adnotacje dotyczące pliku w katalogu i, albo przemieszcza dane pliku z małą resztką zawierającą identyfikację miejsca, gdzie plik został przesunięty i może być znaleziony, albo usuwa kompletne dane pozostawiając plik o zerowej długości.
Dalsze udoskonalenie systemów HSM znane jako de-migracja powoduje, że system HSM automatycznie przywraca przesunięte pliki na dysk pierwotny w przypadku, gdy użytkownik lub aplikacja próbuje go udostępnić. Oczywiście jest to możliwe tylko wtedy, jeśli pamięć pomocnicza zawierająca przesunięty plik jest ciągle włączona do tego systemu. Przesunięte dane są przechowywane w urządzeniu podręcznym (near-line) na przykład w magazynku dysków optycznych (jukebox) a żądanie dostępu do pliku może być nawet tymczasowo zawieszone do momentu, aż plik zostanie przywrócony, a następnie dopuszcza się postępowanie takie jakby plik nigdy nie był przesuwany.
Opisane systemy HSM są efektywne, jeśli są wprowadzone do wielkiej liczby relatywnie małych plików używanych jednocześnie przez jednego użytkownika. Jednak rozważa się system bazy danych, w którym wielu użytkowników działa pojedynczo oraz wielkie pliki bazy danych zawierające nazwiska klientów i zapisy adresów, lub podobne dane archiwalne. Dopóki nowe zapisy klienta są ciągle dodawane i zapisy aktualnych klientów są zmieniane, plik nie jest nigdy przeznaczony do przesunięcia, gdyż musi być zawsze dostępny. Niemniej jednak, taki plik będzie miał właściwie wiele zapisów dotyczących nieaktualnych klientów, które dokładnie muszą być przetrzymywane dla przyszłych możliwych potrzeb, ale te zapisy mogą być niedostępne w znacznym okresie czasu. Obszar dysku zajęty przez takie nieaktualne zapisy może często obejmować większość obszaru zajętego przez integralny plik.
Znany jest bezpośredni dostęp do pliku, w którym mała ilość danych może być wpisana do, albo odczytana z części pliku przypadkowo. Kiedy nastąpi nowy bezpośredni dostęp do pliku, plik ma zerową długość aż do wpisania danych do niego. Dopóki plik ma bezpośredni dostęp, pierwszy fragment wpisanych danych nie potrzebuje koniecznie być przy ofsecie 0 (to znaczy na początku pliku), może on być wpisany w każdej pozycji. Na przykład 10 bajtów danych mogłoby być wpisane z ofsetu 1000. Plik wtedy może mieć logiczną długość 1010 bajtów, gdy tylko 10 bajtów aktualnie zostało wpisanych.. Niektóre systemy operacyjne zajmują się taką operacją poprzez automatyczne wpisywanie brakujących 1000 bajtów za pomocą zera lub bezpośrednio, skutkiem tego następuje alokacja nawet 1010 bajtów, aczkolwiek zostało wpisane tylko 10 bajtów.
Systemy operacyjne używane w Network File Servers, oparte są na koncepcji rozrzedzonych plików, w których przestrzeń dysku jest tylko przeznaczona do tych przestrzeni plików, do których dane aktualnie są wpisywane. Właściwie jest to osiągane poprzez rozszerzanie tablicy przydziału pliku, to znaczy tablicy, w której dysk jest zachowywany, tak że każde wprowadzenie określające następną lokalizację, w której dane dla szczególnego pliku są przechowywane, jest połączone z wartością określającą logiczny ofset, przy którym dane zaczynają się. W ten sposób w powyższym przykładzie pierwsze wejście określałoby, że dane zaczynają się na pozycji x na dysku i że pierwszy bajt jest przy logicznym ofsecie 1000 w pliku (w normalnym pliku logicznym ofsetem powinno być 0). Przestrzenie rozrzedzonego pliku, do których dane nie są wpisywane są znane jako przerwy.
Sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym, z założeniem hierarchicznego zarządzania pamięcią, wyposażonym w pamięć swobodnego dostępu, jednostkę centralną, główną pamięć masową, pomocniczą pamięć archiwizacji oraz urządzenie archiwizujące dane zawarte w systemie komputerowym, przeprowadzany w etapach, w których w trybie normalnej pracy doprowadza się instrukcje zapamiętane w pamięci swobodnego dostępu do jednostki centralnej i nakazuje się jej wyszukiwanie dostępu do danych zapamiętanych w głównej pamięci masowej generując przynajmniej żądanie odczytu, identyfikuje się plik do którego dostęp jest żądany, przy czym plik składa się z części pliku, identyfikuje się części pliku w pliku do którego potrzebny jest dostęp i realizuje się dostęp do części pliku, przy czym podczas realizacji dostępu przegląda się tablicę alokacji plików określającą położenie części pliku w głównej pamięci masowej, sprawdza się czy części pliku znajdują się w pamięci masowej i jeśli tak, to wyznacza się ich położenie, natomiast w trybie archiwi
182 609 zacji doprowadza się instrukcje zapamiętane w pamięci swobodnego dostępu do jednostki centralnej i nakazuje się jej archiwizację, w pomocniczej pamięci archiwizacji, wybranych danych zapamiętanych w głównej pamięci masowej i zwalnia się miejsce w głównej pamięci masowej, archiwizuje się, w pomocniczej pamięci archiwizacji, przynajmniej niektóre części pliku zapamiętane w głównej pamięci masowej do których dostęp nie był realizowany i zwalnia się miejsce w głównej pamięci masowej zajmowane przez te części pliku, do których dostęp nie był realizowany, ale które zostały zarchiwizowane i zachowuje się te części pliku w głównej pamięci masowej, do których dostęp był zrealizowany, zaś w trybie odzyskiwania doprowadza się instrukcje zapamiętane w pamięci swobodnego dostępu do jednostki centralnej i nakazuje się jej odzyskanie wybranych, zarchiwizowanych danych z pomocniczej pamięci archiwizacji, i przesłanie do głównej pamięci masowej dla realizacji dostępu, przy czym jeśli żądane części pliku nie znajdują się w głównej pamięci masowej, odzyskuje się żądane części pliku z pomocniczej pamięci archiwizacji i przesyła się do głównej pamięci masowej dla realizacji dostępu, według wynalazku charakteryzuje się tym, że w trybie normalnej pracy tworzy się bazę danych identyfikującą położenie części pliku do których dostęp ma być zrealizowany, przy czym same części pliku znajdują się poza bazą danych, natomiast w trybie archiwizacji wyznacza się, na podstawie bazy danych, położenia tych części pliku, do których dostęp był zrealizowany.
Korzystnym jest, że jako części pliku stosuje się bloki odpowiadające blokom elementarnym zidentyfikowanym w tablicy alokacji plików.
Za pomocą bazy danych dodatkowo określa się czy dostęp jest dostępem zapisu czy dostępem odczytu.
Tworzy się bazę danych która identyfikuje części pliku do którego ma być zrealizowany dostęp oraz datę lub datę/czas w którym dostęp został zrealizowany.
Podczas identyfikacji części pliku do których zrealizowano dostęp lub podczas archiwizacji, identyfikuje się na podstawie bazy danych części pliku do których był zrealizowany dostęp od czasu zanotowanej daty oraz części pliku do których dostęp nie był zrealizowany od czasu zanotowanej daty, przy czym podczas archiwizacji archiwizuje się do pomocniczej pamięci archiwizacji przynajmniej określone części pliku, do których nie był zrealizowany dostęp od czasu zanotowanej daty, a ponadto zwalnia się w głównej pamięci masowej miejsce zajmowane przez te części pliku, do których nie był zrealizowany dostęp od czasu zanotowanej daty i które zostały zarchiwizowane w pomocniczej pamięci archiwizacji, a zachowuje się w głównej pamięci masowej te części pliku, do których był zrealizowany dostęp od czasu zanotowanej daty.
Podczas archiwizacji i zwalniania miejsca archiwizuje się i usuwa się te części pliku, do których nie był zrealizowany dostęp od czasu zanotowanej daty i już tworzyły kopię zapasową określoną ilość razy.
Podczas zwalniania miejsca w głównej pamięci masowej, koryguje się tablicę alokacji plików.
Podczas tworzenia bazy danych konsoliduje się bazę danych i usuwa się informacje nadmiarowe.
Rozwiązanie według wynalazku stanowi korzystnie pomocniczą bazę danych, która jest zachowana jako identyfikująca, które bloki danych są dostępne i na jakich warunkach. Wtedy niedostępne bloki mogą być archiwizowane i usuwane z plików dysku, aby ograniczyć warunki pamięci. To usunięcie może być osiągnięte poprzez dostosowanie tablicy przydziału pliku FAT, potrzebne do obróbki pliku jako pliku rozrzedzonego. Jeżeli żądanie odczytu jest wykonywane dla części pliku, który został zarchiwizowany, albo przesunięty, wówczas system de-migracji jest wystarczający dla żądanej części pliku przed żądaniem odczytu. Jednak zapisy, które zostały ostatnio udostępnione, będą już na twardym dysku i mogą być bezpośrednio udostępnione w późniejszym czasie. W ten sposób zapisy, które są wykorzystywane okazjonalnie, będą dostępne do odczytu bez potrzeby zachowania pliku wejściowego na twardym dysku.
Sposób może być rozszerzony na skutek zwiększenia progu nieaktywności do żywotności bazy pomocniczej. Jeżeli tylko mała liczba zapisów jest dostępna poza dużym plikiem
182 609 bazy danych, wtedy wszystkie dostępne zapisy mogą być zachowywane na twardym dysku, bez względu na ostatnio dostępne dane. Niedostępne zapisy mogą jednak być usunięte do wolnej przestrzeni dysku. W tym przypadku pomocnicza baza danych nie musi zawierać daty, albo daty/czasu ostatniego zapisu. Przy długich przerwach, na przykład miesięcznych, wszystkie dostępne przestrzenie mogą być przesunięte i pomocnicza baza danych może być oczyszczona.
Sposób według wynalazku może być stosowany łącznie ze sposobem zachowywania plików częściowych programów. Wtedy pomocnicza baza danych jest konieczna dla dodatkowego zapisu, czy dostęp do pliku był dostępem do zapisu, w którym data przypadku może być modyfikowana albo jest dostępem do odczytu. Sposób dublowania plików cząstkowych wspomnianego zastosowania nie wprowadza niczego do wolnej przestrzeni dysku twardego, podczas gdy pozostawia te dostępne zapisy, które były podobnie ponownie dostępne.
Przedmiot wynalazku jest uwidoczniony w przykładzie wykonania na rysunku, na którym fig. 1 przedstawia schemat blokowy osobistego systemu komputerowego zawierającego napęd taśmowy, fig. 2 - schemat dostępu do pliku, fig. 3 - sieć działań operacji dostępu do pliku zgodnie z wynalazkiem, fig. 4 - schemat analogiczny do pokazanego na fig. 2, przedstawiający części pliku przeznaczone do zachowania na twardym dysku, fig. 5 - sieć działań operacji archiwizacji, realizowanej przez system hierarchicznego zarządzania pamięcią zgodnie z wynalazkiem, fig. 6 - sieć działań operacji odczytu częściowo zarchiwizowanego pliku, fig. 7 - część mapy pamięci na poziomie systemu operacyjnego konwencjonalnego komputera osobistego, a fig. 8 przedstawia odpowiednią część mapy pamięci w sposobie według wynalazku.
Na fig. 1 przedstawiono schemat blokowy osobistego systemu komputerowego, w którym komputer osobisty PC 10 jest zaopatrzony w jednostkę centralną CPU 12 połączoną z pamięcią swobodnego dostępu RAM 14 oraz główną pamięcią masową 16, w postaci twardego dysku. Komputer osobisty 10 jest połączony z taśmową pomocniczą pamięcią archiwizacji 18, umożliwiającą pomocnicze gromadzenie danych w celu archiwizacji lub tworzenia rezerwowych kopii.
W trybie roboczym, w pamięci swobodnego dostępu 14 są zapamiętywane instrukcje, które są podawane do jednostki centralnej 12 w celu sterowania jej pracą. Niektóre z tych instrukcji pochodzą bezpośrednio z systemu operacyjnego, a inne są wywoływane przez program użytkowy, uruchomiony w komputerze.
System operacyjny zarządza tablicą alokacji plików FAT, zapamiętującą, na twardym dysku, fizyczne położenie każdego bloku danych. Dodatkowo, system operacyjny zapisuje znaczniki archiwizacji, odnoszące się do każdego zbioru, które są ustawiane gdy zbiór jest modyfikowany i które mogą być zerowane po stworzeniu kopii rezerwowej. Dotychczasowe sposoby tworzenia kopii rezerwowych wykorzystywały znaczniki archiwizacyjne do sprawdzania czy plik był modyfikowany i czy w związku z tym należy stworzyć jego rezerwową kopię.
System hierarchicznego zarządzania pamięcią jest wykorzystywany do automatycznego tworzenia kopii dowolnych plików, nieużywanych przez określony okres czasu.
W korzystnym rozwiązaniu według wynalazku tworzona jest dodatkowa baza danych zawierająca informację, dla każdego pliku, które bloki danych były wykorzystywane i w jakim czasie, dzięki czemu system hierarchicznego zarządzania pamięcią może je okresowo archiwizować lub przesuwać. Później można te bloki danych usunąć, dzięki czemu można zredukować wymagania dotyczące pamięci.
Rozważmy plik o początkowej długości 125 bajtów, złożony z pięciu rekordów o długości 25 bajtów każdy, zapamiętany pierwszego stycznia 1995r. W tej samej dacie założono dodatkową bazę danych, przechwytującą żądania dostępu do istniejących rekordów lub żądania dołączenia nowych rekordów do pliku. Przykładowe żądania, np. z okresu między 1 stycznia a 10 kwietnia 1995r. przedstawiono poniżej:
stycznia 1995r. - założono nowy rekord, długości 25 bajtów, umieszczony przy ofsecie 125, lutego 1995r. - użyto starego rekordu (odczyt), długości 25 bajtów, umieszczonego przy ofsecie 25,
182 609 lutego 1995r. - użyto starego rekordu (odczyt), długości 25 bajtów, umieszczonego przy ofsecie 75, kwietnia 1995r. - założono nowy rekord, długości 25 bajtów, umieszczony przy ofsecie 150.
Przechwycenie żądania dostępu powoduje zapisanie, w dodatkowej bazie danych, długości rekordu oraz jego położenia w pliku, w sposób pokazany w tabeli 1:
Tabela 1
Dzień nr Ofset Długość
34720 125 25
34733 25 25
34745 75 25
34792 150 25
Oczywiście niezbędna jest możliwość identyfikacji poszczególnych plików. Tu przyjęto założenie, że odrębna, dodatkowa baza danych jest przyporządkowana każdemu plikowi.
W praktyce może być korzystne przyporządkowanie odrębnej bazy danych każdemu podkatalogowi, przy czym plik musi mieć możliwość identyfikacji wewnątrz bazy danych. Dzięki temu zmniejsza się ilość dodatkowych baz danych, a tym samym ilość dodatkowych plików, które należy założyć. W zasadzie pojedyncza, dodatkowa baza danych może być założona dla całego dysku.
Obszary pliku, nie wymienione w dodatkowej bazie danych pokazanej w tabeli 1, nie były wykorzystywane w ogóle. Numer dnia jest po prostu określany przez licznik, odliczający dni od arbitralnie wybranej daty początkowej, w tym przypadku 1 stycznia 1900r. W bardziej złożonych systemach można wykorzystywać datę i czas. Na fig. 2 przedstawiono plik w postaci diagramu, na którym zakreskowane pola reprezentują dane, które były zapisane lub odczytane, natomiast białe obszary reprezentują dane, do których dostęp nie był wykorzystywany.
Kroki, wykonywane podczas dostępu do pliku, zostały przedstawione na fig. 3. Krok 20 wskazuje na występowanie żądania dostępu. Może to być żądanie zapisu lub żądanie odczytu. Plik jest najpierw identyfikowany w kroku 22, za pomocą pierwszego zespołu identyfikacji, a następnie określana jest długość dostępu i początkowy ofset w kroku 24, za pomocą drugiego zespołu identyfikacji części pliku. Te dane są zapisywane w dodatkowej bazie danych w kroku 26, za pomocą zespołu tworzenia bazy danych, razem z datą, jak pokazano w tabeli 1. Korzystnie, krok 26 powinien zawierać operację konsolidacji, zapewniającą odcięcie nadmiarowej informacji w dodatkowej bazie danych. Na przykład późniejszy dostęp może zdublować lub pokryć się z poprzednimi dostępami. Po wykonaniu wszystkich kroków zostaje zrealizowane pierwotne żądanie dostępu w kroku 28, za pomocą zespołu realizacji dostępu i podprogram jest skończony w kroku 30.
Kroki te są wykonywane dla każdej realizacji dostępu i tak, 10 kwietnia, rozważany plik ma długość 175 bajtów i zawiera siedem rekordów, przy czym dodatkowa baza danych ma postać jak przedstawiono w tabeli 1. Rekordy które nie były wykorzystywane podczas okresu obserwacji (siedemdziesiąt dziewięć dni) kandydują oczywiście do archiwizacji.
Załóżmy, że zdecydowano przekazać do archiwizacji wszystkie rekordy, które nie były wykorzystywane przez ostatnie sześćdziesiąt dni. Rekordy są sortowane przy wstępnym założeniu, że cały plik jest przeznaczony do przesunięcia do pamięci rezerwowej. Dodatkowa baza jest przeszukiwana w celu znalezienia rekordów o numerze dnia większym lub równym 34739 (34739 oznacza 60 dni przed 10 kwietnia, mającym numer 34799). Każdy rekord, dla którego numer dnia spełnia powyższe kryterium, jest identyfikowany, a części pliku zawierające go są odpowiednio zaznaczane, tak aby nie podlegały migracji (przesunięciu).
182 609
Z czterech rekordów wykorzystywanych między 1 stycznia a 10 kwietnia 1995r. tylko dwa ostatnie, z 15 lutego i 3 kwietnia 1995r., mają numer dnia wynoszący co najmniej 34739. Tak więc tylko dwa ostatnie rekordy należy zatrzymać, przeznaczając do migracji (przesunięcia) pozostałą część pliku - te fragmenty które są zdefiniowane jako bajty 0-74 oraz bajty 100-149. Ilustruje to diagram pokazany na fig. 4, gdzie zakreskowano obszary odpowiadające pozostawianym rekordom, natomiast obszary odpowiadające rekordom przesuwanym pozostawiono białe. Obszary pliku, zawierające przesuwane dane są teraz kopiowane do rezerwowej pamięci przy użyciu normalnych procedur hierarchicznego zarządzania pamięcią (HSM). Szczegóły dotyczące długości i lokalizacji każdego rekordu są określane przez system HSM dla ułatwienia ich późniejszego odzyskania. Co więcej, dodatkowa baza danych może podlegać edycji w celu usunięcia każdej ścieżki rekordów mających numer dnia niższy niż 34739, dzięki czemu unika się niekontrolowanego wzrostu objętości dodatkowej bazy danych.
Aby uzyskać korzyści płynące z przesunięcia nieużywanych rekordów do rezerwowej pamięci należy zwolnić przestrzeń zajmowaną przez te same rekordy na dysku. Realizuje się to przez rozrzedzenie pliku. Innymi słowy rekordy podlegające przesunięciu są zastępowane przerwami. Przestrzeń dysku dotychczas zajmowana przez nadmiarowe rekordy jest odzyskana, bowiem przerwy nie zajmują miejsca. Operacja ta nie zmienia logicznej długości pliku, przy założeniu, że rekord mający najwyższą wartość ofsetu nie został zarchiwizowany, natomiast liczba bieżących danych zostaje zredukowana, zwalniając miejsce dla nowych danych.
Rozrzedzony plik może być przygotowany w następujący sposób. Załóżmy, że system zawiera tablicę alokacji plików FAT, w której przestrzeń dyskowa jest wygodnie podzielona na bloki po 25 bajtów. Stąd, dla zapisu rozważanego pliku z 10 kwietnia 1995r. o rozmiarach 175 bajtów potrzeba siedmiu bloków. Plik może być rozmieszczony w następujący sposób:
Tabela 2
Zapis Połączenie z następnym blokiem Logiczny adres lokalny
Katalog 1 0
1 2 25
2 3 50
3 4 75
4 5 100
5 6 125
6 7 150
7 -1 -1
Pierwszy zapis jest zapamiętany w strukturze katalogu. Każdy blok na dysku dysponuje zapisem w tablicy, który wskazuje położenie bloku zawierającego następną część pliku. Na przykład drugi blok zawiera zapis łączący go z trzecim blokiem, gdzie można znaleźć część pliku przy ofsecie 50 bajtów. Jedynie siódmy blok ma ujemny zapis (-1), wskazujący że jest to ostatni blok zawierający dane z pliku.
W niniejszym przykładzie plik jest zapamiętany w kolejnych blokach 1 do 7, ale w praktyce równie dobrze bloki mogą być rozmieszczone przypadkowo, z przerwami między sobą. Tablica alokacji musi zostać dostosowana do uwolnienia przestrzeni dyskowej używanej przez przesunięte rekordy, innymi słowy należy usunąć z pliku bajty 0 do 74 oraz 100 do 149. Pierwszy obszar jest zajęty przez bloki 1, 2 i 3, a drugi przez bloki 5 i 6. Po usunięciu danych z tych bloków pozostałe zapisy pliku są modyfikowane w sposób umożliwiający zachowanie łańcucha zapisów. Tak więc zmodyfikowana tablica alokacji przyjmuje postać:
182 609
Tabela 3
Zapis Wskaźnik następnego bloku Logiczny adres lokalny
Katalog 4 75
1 0 0
2 0 0
3 0 0
4 7 150
5 0 0
6 0 0
7 -1 -1
Każdy z bloków 1,2, 3, 5 i 6 dysponuje zapisem zerowym (0), wskazującym, że obecnie nie zawierają danych. Na podstawie zmodyfikowanej tablicy alokacji system operacyjny natychmiast może zdecydować, że pierwszym alokowanym blokiem pliku jest blok 4, zawierający dane pod logicznym adresem lokalnym 75 i że następny (i ostatni) blok danych jest zapamiętany w bloku 7 i zawiera dane pod logicznym adresem lokalnym 150. Niektóre systemy operacyjne nie pamiętają logicznego adresu pierwszego alokowanego bloku, który w związku z tym nie może być zwolniony w tych systemach.
Dokładny sposób usuwania nie jest ważny. Istotne jest to, że przestrzeń twardego dysku zajmowana przez przesunięte bloki staje się dostępna do użytku. W powyższym przykładzie przyjęto dla uproszczenia, że rozmiary bloków i żądań zapisu/odczytu wynoszą 25 bajtów oraz że wszystkie żądania trafiają akurat na granice bloków. W praktyce rozmiary alokowanych bloków są wielokrotnością 512 bajtów, a długość i położenie żądań zapisu/odczytu zmieniają się w znaczący sposób. Ponieważ zwalniane (usuwane) mogą być tylko całe bloki, system musi być tak używany, aby tylko obszary danych reprezentujące całe bloki mogły być przesuwane i zwalniane. Ponieważ duże pliki zazwyczaj zawierają wiele tysięcy bloków, to powyższe ograniczenie rzadko ma istotne znaczenie.
Powyższe kroki są zilustrowane w sieci działań, pokazanej na fig. 5. Krok 40 wskazuje początek operacji rezerwowania. Na wstępie żądany plik jest identyfikowany, w kroku 42, za pomocą zespołu identyfikacji pliku. Następnie kierowane jest zapytanie o dodatkową bazę danych w kroku 44, za pomocą zespołu identyfikacji części pliku, dla odróżnienia tych bloków, do których był realizowany dostęp od czasu oznaczonej daty, od tych do których nie był realizowany dostęp. W kroku 46 identyfikowane są te bloki, do których nie był realizowany dostęp od czasu oznaczonej daty. Może się zdarzyć, że niedostępne bloki były już rezerwowane jako część zwykłej rutynowej operacji. Zazwyczaj rezerwowane są one więcej niż jeden raz. Poza tym, nie występuje potrzeba przemieszczania ich, lub ponownego rezerwowania. Jednak konieczne jest przeniesienie do pomocniczej pamięci tych bloków, jeśli wymagana rezerwa jeszcze nie istnieje. Bloki te mogą być identyfikowane przez znakowanie. Czy są to bloki przeznaczone do przeniesienia które są oznakowane, czy te które nie są, należą do oprogramowania tak długo, dokąd są one prawidłowo odróżnione. W kroku decyzyjnym 48 dokonuje się określenia czy jest to wystarczające, na przykład trzy występujące już rezerwy. Jeśli nie, wówczas w kroku 50 oznakowane bloki są rezerwowane lub przenoszone. W kroku 52 obszar zajęty przez wszystkie niedostępne bloki zostaje zwolniony przez skorygowanie systemowej tablicy alokacji pliku dla konwersji pliku w plik rozrzedzony. Jeśli plik jest już plikiem rozrzedzonym, wówczas dodaje się jeszcze więcej przerw. Rutynowo jest wówczas zakończona w kroku 54.
Następnie ostateczne ustalenie, aby przerwać żądanie kolejnego odczytu pliku, aby określić czy żądanie dotyczy odczytu danych ruchomych. Jeśli nie ma zabezpieczenia wobec
182 609 przerwania żądań odczytu, system operacyjny mógłby powrócić albo do danych zerowych, albo wykazać błąd jeśli jest takie życzenie, aby odczytać dane ruchome, przy czym stosowne sygnały mogą być generowane automatycznie dla unieruchomienia żądanej informacji. Jeśli indywidualne żądania odczytu są małe, czas potrzebny do unieruchomienia danych jest krótki w porównaniu do nieuruchomienia całego pliku, ponieważ tylko dane rzeczywiście potrzebne będą wyszukiwane i odzyskiwane.
Operacja ta jest zilustrowana na fig.6. Krok 60 wskazuje początek odczytu pliku. Plik zostaje zidentyfikowany w kroku 62 a ofset początkowy i długość odczytu wydzielona w kroku 64 jak na fig.3. Następnie działanie przechodzi do kroku decyzyjnego 66, w którym przeglądana jest tablica alokacji pliku aby określić czy żądanie odczytu jest żądaniem odczytu danych w każdym bloku lub blokach, które mają być przemieszczone z zastosowaniem procedury według fig.5. Jeśli odpowiedzią na to pytanie jest NIE, wówczas działanie przechodzi do kroków 70, 72 i 74, które odpowiadają krokom 26, 28 i 30 z fig. 3. Jeśli jednak odpowiedź na to pytanie w kroku 66 jest TAK, to wymagane dane są najpierw unieruchamiane w kroku 68, przed działaniem przechodzącym do kroków 70, 72 i 74, jak uprzednio. Nie jest konieczne unieruchomianie całego bloku, a generalnie tylko rekordy, lub rekordy które są wymagane, zostaną unieruchomione. One mogą mieścić się wewnątrz jednego bloku, lub rozciągać się przez dwa lub więcej bloków.
Procedury z fig.3 i 6 wymagają aby dostęp do dysku był przerwany. Jak to osiągnąć będzie opisane w odniesieniu do fig.7 i 8. Jeśli tylko program żąda dostępu do pliku, przywołuje procedurę standardową która zapisuje dane na dysku. Ta procedura, która w przypadku systemu operacyjnego DOS jest znana jako funkcja przerwy 21 hex (INT21h), jest integralną częścią systemu operacyjnego. Odczyt dysku jest INT21h funkcja 3Fh, a zapis dysku jest INT21h funkcja 40h. Działanie wykonane przez procedurę zależy od parametrów wprowadzonych na początku procedury. Procedura ta jest przedstawiona na fig.7 jako INT21h, tworząca część systemu operacyjnego w systemowej mapie pamięci, punkt wejścia INT21h jest zaznaczony strzałką Aby przeprowadzić korzystny przykład sposobu według wynalazku, dodatkowy kod programowy zostaje dodany na poziomie interfejsu systemu operacyjnego, jak przedstawiono na fig.8. W praktyce, w środowisku DOS, może to być załadowane do komputera jako sterownik urządzenia używający plik CONFIG.SYS.
Dodany program działa na instrukcje dla zapisu danych, które są przemieszczone lub dodatkowo wprowadzone przez alternatywny zestaw instrukcji.
Z innymi systemami operacyjnymi jest konieczne przerwanie funkcji zapisu pliku w sposób analogiczny. Znane programy są dostępne dla przygotowania koniecznych procedur zastępujących powyżej opisane, a dotyczące systemu operacyjnego DOS.
Generalnie, rozwiązanie według wynalazku może być wprowadzone w wielu zmodyfikowanych sposobach i innych sposobach oraz systemach odmiennych niż te opisane i zilustrowane.
Sposób i system według wynalazku może być włączony w znany system częściowego rezerwowania pliku, w wyniku czego ta sama dodatkowa baza danych może być zastosowana do zanotowania modyfikacji do danych, aby odnotować realizację dostępu do danych. Jedyną różnicąjest to, że staje się konieczne zarejestrowanie w dodatkowej bazie danych czy dostępy były dostępami odczytu, czy dostępami zapisu. Znany system częściowego rezerwowania pliku odpowiada wejściom przyporządkowanych dostępów zapisu do dodatkowej bazy danych w czasie, gdy system HSM częściowego pliku według niniejszego wynalazku zlicza zarówno realizacje dostępu odczytu jak i realizacje dostępu zapisu.
W innej modyfikacji system jest rozszerzony przez zwiększenie nieaktywnej wartości granicznej do trwałości dodatkowej bazy danych. Jak to przedstawiono na fig. 5 krok 44 jest zmodyfikowany tak, że zamiast rozróżniania bloków, do których był realizowany dostęp lub nie był realizowany dostęp od czasu oznaczonej daty, odróżnia się bloki, do których był realizowany dostęp, lub w ogóle nie był realizowany dostęp, to znaczy od kiedy dodatkowa baza danych była wstępnie utworzona lub wypełniona. W tym przypadku dodatkowa baza danych nie potrzebuje zapisu daty lub data/czas każdego dostępu.
182 609 11
Może to być stan, w którym nie jest pożądane przemieszczanie określonych części pliku, nawet jeśli one nie są dostępne. Można to stosować do pierwszego i możliwie ostatniego bloku w każdym pliku.
Jeśli wynalazek jest zastosowany w zupełnie nowym systemie operacyjnym, wówczas dodatkowa baza danych może z zasady być połączona z tablicą alokacji plików. Jednak korzystnym jest utrzymać je osobno.
182 609
FIG. 7
PUNKT NEJŚCIA24 h
SYSTEM operacyjny Ό05
FIG. 8
182 609
FIG. 6 (80ZP0CZNIJ odczyt l ρυκυ
IDEKIYFIKUj PUK1^-62
PODAJ β0Ζ8%ΖΥΝΑ1/£Υ OFSET l DŁUGOŚĆ ODCZYTU
NIE
TAK
RUCHOMEGO
SPRAWDŹ ΤΛΒΜΟξ A6Y USTALIĆ CZY JEST
WYMAGANY ODCZYT BLOKU
BLOKI NIERUCHOME
WPROWADŹ Z4PI5 DOSTĘPU DO PUKU N DOOkTKO^ bazie danych, konsolidacja DUPUKĄTOW
I ZACHODZI
WYKONAJ ODCZYT /^7? PLIKU PIECNOTNESO
182 609
FIG. 5
182 609
FIG. 3
182 609
FIG. 2
25 50 75 100 125 150 17C
3U/TE6O 15 LUTEGO 215iKZNiA 3KHIETNW
FIG. 4
25 50 75 100 125 150 17Ł
I I I F77A
LUTEGO 3 KWIETNIA
Departament Wydawnictw UP RP. Nakład 60 egz.
Cena 4,00 zł.

Claims (8)

  1. Zastrzeżenia patentowe
    1. Sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym, z założeniem hierarchicznego zarządzania pamięcią, wyposażonym w pamięć swobodnego dostępu, jednostkę centralną główną pamięć masową pomocniczą pamięć archiwizacji oraz urządzenie archiwizujące dane zawarte w systemie komputerowym, przeprowadzany w etapach, w których w trybie normalnej pracy doprowadza się instrukcje zapamiętane w pamięci swobodnego dostępu do jednostki centralnej i nakazuje się jej wyszukiwanie dostępu do danych zapamiętanych w głównej pamięci masowej generując przynajmniej żądanie odczytu, identyfikuje się plik do którego dostęp jest żądany, przy czym plik składa się z części pliku, identyfikuje się części pliku w pliku do którego potrzebny jest dostęp i realizuje się dostęp do części pliku, przy czym podczas realizacji dostępu przegląda się tablicę alokacji plików określającą położenie części pliku w głównej pamięci masowej, sprawdza się czy części pliku znajdują się w pamięci masowej i jeśli tak, to wyznacza się ich położenie, natomiast w trybie archiwizacji doprowadza się instrukcje zapamiętane w pamięci swobodnego dostępu do jednostki centralnej i nakazuje się jej archiwizację, w pomocniczej pamięci archiwizacji, wybranych danych zapamiętanych w głównej pamięci masowej i zwalnia się miejsce w głównej pamięci masowej, archiwizuje się, w pomocniczej pamięci archiwizacji, przynajmniej niektóre części pliku zapamiętane w głównej pamięci masowej do których dostęp nie był realizowany i zwalnia się miejsce w głównej pamięci masowej zajmowane przez te części pliku, do których dostęp nie był realizowany, ale które zostały zarchiwizowane i zachowuje się te części pliku w głównej pamięci masowej, do których dostęp był zrealizowany, zaś w trybie odzyskiwania doprowadza się instrukcje zapamiętane w pamięci swobodnego dostępu do jednostki centralnej i nakazuje się jej odzyskanie wybranych, zarchiwizowanych danych z pomocniczej pamięci archiwizacji, i przesłanie do głównej pamięci masowej dla realizacji dostępu, przy czym jeśli żądane części pliku nie znajdują się w głównej pamięci masowej, odzyskuje się żądane części pliku z pomocniczej pamięci archiwizacji i przesyła się do głównej pamięci masowej dla realizacji dostępu, znamienny tym, że w trybie normalnej pracy tworzy się bazę danych identyfikującą położenie części pliku do których dostęp ma być zrealizowany, przy czym same części pliku znajdują się poza bazą danych, natomiast w trybie archiwizacji wyznacza się, na podstawie bazy danych, położenia tych części pliku, do których dostęp był zrealizowany.
  2. 2. Sposób według zastrz. 1, znamienny tym, że jako części pliku stosuje się bloki odpowiadające blokom elementarnym zidentyfikowanym w tablicy alokacji plików.
  3. 3. Sposób według zastrz. 1, znamienny tym, że za pomocą bazy danych dodatkowo określa się czy dostęp jest dostępem zapisu czy dostępem odczytu.
  4. 4. Sposób według zastrz. 1, znamienny tym, że tworzy się bazę danych która identyfikuje części pliku do którego ma być zrealizowany dostęp oraz datę lub datę/czas w którym, dostęp został zrealizowany.
  5. 5. Sposób według zastrz. 4, znamienny tym, że podczas identyfikacji części pliku do których zrealizowano dostęp lub podczas archiwizacji, identyfikuje się na podstawie bazy danych części pliku do których był zrealizowany dostęp od czasu zanotowanej daty oraz części pliku do których dostęp nie był zrealizowany od czasu zanotowanej daty, przy czym podczas archiwizacji archiwizuje się do pomocniczej pamięci archiwizacji przynajmniej określone części pliku, do których nie był zrealizowany dostęp od czasu zanotowanej daty, a ponadto zwalnia się w głównej pamięci masowej miejsce zajmowane przez te części pliku, do których nie był zrealizowany dostęp od czasu zanotowanej daty i które zostały zarchiwizowane w pomocniczej pamięci archiwizacji, a zachowuje się w głównej pamięci masowej te części pliku, do których był zrealizowany dostęp od czasu zanotowanej daty.
    182 609
  6. 6. Sposób według zastrz.5, znamienny tym, że podczas archiwizacji i zwalniania miejsca archiwizuje się i usuwa się te części pliku, do których nie był zrealizowany dostęp od czasu zanotowanej daty i już tworzyły kopię zapasową określoną ilość razy.
  7. 7. Sposób według zastrz.6, znamienny tym, że podczas zwalniania miejsca w głównej pamięci masowej, koryguje się tablicę alokacji plików.
  8. 8. Sposób według zastrz.4, znamienny tym, że podczas tworzenia bazy danych konsoliduje się bazę danych i usuwa się informacje nadmiarowe.
    * * *
PL95321160A 1994-12-15 1995-12-01 Sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym PL182609B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/356,478 US5617566A (en) 1993-12-10 1994-12-15 File portion logging and arching by means of an auxilary database
PCT/GB1995/002817 WO1996018960A1 (en) 1994-12-15 1995-12-01 Storage of computer data

Publications (2)

Publication Number Publication Date
PL321160A1 PL321160A1 (en) 1997-11-24
PL182609B1 true PL182609B1 (pl) 2002-02-28

Family

ID=23401599

Family Applications (1)

Application Number Title Priority Date Filing Date
PL95321160A PL182609B1 (pl) 1994-12-15 1995-12-01 Sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym

Country Status (24)

Country Link
US (1) US5617566A (pl)
EP (1) EP0797805B1 (pl)
JP (1) JPH10510642A (pl)
KR (1) KR100437199B1 (pl)
CN (1) CN1118035C (pl)
AT (1) ATE192249T1 (pl)
AU (1) AU710755B2 (pl)
BG (1) BG63096B1 (pl)
BR (1) BR9510506A (pl)
CA (1) CA2207735C (pl)
CZ (1) CZ294346B6 (pl)
DE (1) DE69516538T2 (pl)
DK (1) DK0797805T3 (pl)
ES (1) ES2145308T3 (pl)
FI (1) FI972544A (pl)
GR (1) GR3033775T3 (pl)
HU (1) HU221081B1 (pl)
IS (1) IS1890B (pl)
MX (1) MX9704419A (pl)
NO (1) NO312529B1 (pl)
NZ (1) NZ296165A (pl)
PL (1) PL182609B1 (pl)
RU (1) RU2182360C2 (pl)
WO (1) WO1996018960A1 (pl)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619656A (en) * 1994-05-05 1997-04-08 Openservice, Inc. System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed
US5819298A (en) * 1996-06-24 1998-10-06 Sun Microsystems, Inc. File allocation tables with holes
US5832525A (en) * 1996-06-24 1998-11-03 Sun Microsystems, Inc. Disk fragmentation reduction using file allocation tables
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
US6366988B1 (en) * 1997-07-18 2002-04-02 Storactive, Inc. Systems and methods for electronic data storage management
US5983368A (en) * 1997-08-26 1999-11-09 International Business Machines Corporation Method and system for facilitating hierarchical storage management (HSM) testing
US6173359B1 (en) 1997-08-27 2001-01-09 International Business Machines Corp. Storage and access to scratch mounts in VTS system
US6067541A (en) * 1997-09-17 2000-05-23 Microsoft Corporation Monitoring document changes in a file system of documents with the document change information stored in a persistent log
US5953729A (en) * 1997-12-23 1999-09-14 Microsoft Corporation Using sparse file technology to stage data that will then be stored in remote storage
US6378128B1 (en) * 1998-10-08 2002-04-23 Microsoft Corporation System and method for dynamically modifying an install-set
US6240427B1 (en) * 1999-01-05 2001-05-29 Advanced Micro Devices, Inc. Method and apparatus for archiving and deleting large data sets
US6415300B1 (en) 1999-07-06 2002-07-02 Syncsort Incorporated Method of performing a high-performance backup which gains efficiency by reading input file blocks sequentially
US6408314B1 (en) 1999-07-06 2002-06-18 Synscort Incorporated Method of performing a high-performance sort which gains efficiency by reading input file blocks sequentially
US6981005B1 (en) * 2000-08-24 2005-12-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system
KR20020031509A (ko) * 2000-10-20 2002-05-02 김영돈, 정춘보 프로그램 제작툴에서 데이터 관리방법
WO2003038673A2 (en) * 2001-10-31 2003-05-08 Gen-I Limited Information archiving software
US20030084071A1 (en) * 2001-11-01 2003-05-01 International Business Machines Corporation Method and system for managing computer performance
KR100468276B1 (ko) * 2001-12-13 2005-01-27 (주)아이디스 멀티미디어 데이터 저장 및 검색 방법
GB0207969D0 (en) * 2002-04-08 2002-05-15 Ibm Data processing arrangement and method
US20040015524A1 (en) * 2002-07-19 2004-01-22 Chalstrom Robert Eugene Method and apparatus for managing digitally-stored media files
US6889302B2 (en) * 2002-08-29 2005-05-03 International Business Machines Corporation Apparatus and method to maintain information in one or more virtual volume aggregates comprising a plurality of virtual volumes
US20040143609A1 (en) * 2003-01-17 2004-07-22 Gardner Daniel John System and method for data extraction in a non-native environment
US8375008B1 (en) 2003-01-17 2013-02-12 Robert Gomes Method and system for enterprise-wide retention of digital or electronic data
US8943024B1 (en) 2003-01-17 2015-01-27 Daniel John Gardner System and method for data de-duplication
US8630984B1 (en) 2003-01-17 2014-01-14 Renew Data Corp. System and method for data extraction from email files
US8065277B1 (en) 2003-01-17 2011-11-22 Daniel John Gardner System and method for a data extraction and backup database
US8856163B2 (en) * 2003-07-28 2014-10-07 Google Inc. System and method for providing a user interface with search query broadening
US7107416B2 (en) 2003-09-08 2006-09-12 International Business Machines Corporation Method, system, and program for implementing retention policies to archive records
JP4189595B2 (ja) * 2004-08-25 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 ファイル管理装置
US8069151B1 (en) 2004-12-08 2011-11-29 Chris Crafford System and method for detecting incongruous or incorrect media in a data recovery process
US20060136525A1 (en) * 2004-12-21 2006-06-22 Jens-Peter Akelbein Method, computer program product and mass storage device for dynamically managing a mass storage device
US7831639B1 (en) * 2004-12-22 2010-11-09 Symantec Operating Corporation System and method for providing data protection by using sparse files to represent images of data stored in block devices
US8527468B1 (en) 2005-02-08 2013-09-03 Renew Data Corp. System and method for management of retention periods for content in a computing system
US8108579B2 (en) * 2005-03-31 2012-01-31 Qualcomm Incorporated Mechanism and method for managing data storage
JP2006338461A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd 電子的なファイルの記憶を制御するシステム及び方法
US7853667B1 (en) * 2005-08-05 2010-12-14 Network Appliance, Inc. Emulation of transparent recall in a hierarchical storage management system
JP4563314B2 (ja) * 2005-12-14 2010-10-13 富士通株式会社 ストレージシステム制御装置、ストレージシステム制御プログラム、ストレージシステム制御方法
US8150827B2 (en) * 2006-06-07 2012-04-03 Renew Data Corp. Methods for enhancing efficiency and cost effectiveness of first pass review of documents
RU2457622C2 (ru) * 2007-11-29 2012-07-27 Эйрбас Оперейшнс Гмбх Система и способ архивирования данных
US8429312B2 (en) 2007-11-29 2013-04-23 Airbus Operations Gmbh System and method for archiving of data
US8117234B2 (en) * 2008-01-24 2012-02-14 International Business Machines Corporation Method and apparatus for reducing storage requirements of electronic records
US8615490B1 (en) 2008-01-31 2013-12-24 Renew Data Corp. Method and system for restoring information from backup storage media
JP5248912B2 (ja) 2008-05-12 2013-07-31 株式会社日立製作所 サーバ計算機、計算機システムおよびファイル管理方法
WO2011072172A1 (en) * 2009-12-09 2011-06-16 Renew Data Corp. System and method for quickly determining a subset of irrelevant data from large data content
US8738668B2 (en) 2009-12-16 2014-05-27 Renew Data Corp. System and method for creating a de-duplicated data set
US8423727B2 (en) * 2010-03-16 2013-04-16 Hitachi, Ltd. I/O conversion method and apparatus for storage system
US8386421B2 (en) 2010-06-28 2013-02-26 Microsoft Corporation Concurrency control for confluent trees
US8412689B2 (en) * 2010-07-07 2013-04-02 Microsoft Corporation Shared log-structured multi-version transactional datastore with metadata to enable melding trees
US9848106B2 (en) 2010-12-21 2017-12-19 Microsoft Technology Licensing, Llc Intelligent gameplay photo capture
US10114844B2 (en) * 2015-11-30 2018-10-30 International Business Machines Corporation Readiness checker for content object movement
CN106227795A (zh) * 2016-07-20 2016-12-14 曙光信息产业(北京)有限公司 分级存储的检测方法和系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4507751A (en) * 1982-06-21 1985-03-26 International Business Machines Corporation Method and apparatus for logging journal data using a log write ahead data set
US4588991A (en) * 1983-03-07 1986-05-13 Atalla Corporation File access security method and means
US4686620A (en) * 1984-07-26 1987-08-11 American Telephone And Telegraph Company, At&T Bell Laboratories Database backup method
US5043871A (en) * 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery
DE69023770T2 (de) * 1989-07-11 1996-05-23 Intelligence Quotient Int Verfahren zum betrieb eines datenverarbeitungssystems.
GB8915875D0 (en) * 1989-07-11 1989-08-31 Intelligence Quotient United K A method of operating a data processing system
US5454099A (en) * 1989-07-25 1995-09-26 International Business Machines Corporation CPU implemented method for backing up modified data sets in non-volatile store for recovery in the event of CPU failure
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
US5214768A (en) * 1989-11-01 1993-05-25 E-Systems, Inc. Mass data storage library
US5276860A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data processor with improved backup storage
US5363473A (en) * 1991-05-28 1994-11-08 The Trustees Of Columbia University In The City Of New York Incremental update process and apparatus for an inference system
JPH05250244A (ja) * 1992-03-04 1993-09-28 Nec Corp データベースシステム
US5263154A (en) * 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
US5455946A (en) * 1993-05-21 1995-10-03 International Business Machines Corporation Method and means for archiving modifiable pages in a log based transaction management system

Also Published As

Publication number Publication date
EP0797805A1 (en) 1997-10-01
FI972544A (fi) 1997-08-14
CA2207735A1 (en) 1996-06-20
KR980700613A (ko) 1998-03-30
US5617566A (en) 1997-04-01
NZ296165A (en) 1997-11-24
JPH10510642A (ja) 1998-10-13
WO1996018960A1 (en) 1996-06-20
HU221081B1 (hu) 2002-07-29
CA2207735C (en) 2004-08-31
FI972544A0 (fi) 1997-06-16
DK0797805T3 (da) 2000-09-25
CZ294346B6 (cs) 2004-12-15
BG101622A (en) 1998-02-27
CN1118035C (zh) 2003-08-13
ATE192249T1 (de) 2000-05-15
NO972784L (no) 1997-08-15
PL321160A1 (en) 1997-11-24
ES2145308T3 (es) 2000-07-01
CN1173231A (zh) 1998-02-11
HUT77154A (hu) 1998-03-02
GR3033775T3 (en) 2000-10-31
AU3988995A (en) 1996-07-03
NO972784D0 (no) 1997-06-16
EP0797805B1 (en) 2000-04-26
CZ9701859A3 (cs) 2002-06-12
DE69516538D1 (de) 2000-05-31
KR100437199B1 (ko) 2004-11-03
MX9704419A (es) 1998-07-31
RU2182360C2 (ru) 2002-05-10
BR9510506A (pt) 1999-06-01
BG63096B1 (bg) 2001-03-30
NO312529B1 (no) 2002-05-21
DE69516538T2 (de) 2000-11-23
IS4507A (is) 1997-06-13
IS1890B (is) 2003-09-19
AU710755B2 (en) 1999-09-30

Similar Documents

Publication Publication Date Title
PL182609B1 (pl) Sposób realizacji dostępu do danych zapamiętanych w systemie komputerowym
KR100962055B1 (ko) 컴퓨터 시스템들간의 객체 공유
JP4157858B2 (ja) ストレージ・エリア・ネットワーク(san)ファイル・システムの並列高速バックアップ
US7363540B2 (en) Transaction-safe FAT file system improvements
US8640136B2 (en) Sharing objects between computer systems
AU2002330129A1 (en) Sharing objects between computer systems
AU2002360252A1 (en) Efficient search for migration and purge candidates
AU2002349890A1 (en) Efficient management of large files

Legal Events

Date Code Title Description
LAPS Decisions on the lapse of the protection rights

Effective date: 20061201