PL180841B1 - Sposób sterowania systemu komputerowego - Google Patents

Sposób sterowania systemu komputerowego

Info

Publication number
PL180841B1
PL180841B1 PL95320609A PL32060995A PL180841B1 PL 180841 B1 PL180841 B1 PL 180841B1 PL 95320609 A PL95320609 A PL 95320609A PL 32060995 A PL32060995 A PL 32060995A PL 180841 B1 PL180841 B1 PL 180841B1
Authority
PL
Poland
Prior art keywords
file
request
original
open
operating system
Prior art date
Application number
PL95320609A
Other languages
English (en)
Other versions
PL320609A1 (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 PL320609A1 publication Critical patent/PL320609A1/xx
Publication of PL180841B1 publication Critical patent/PL180841B1/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept
    • 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/953Organization of data
    • Y10S707/959Network
    • 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/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
  • Forklifts And Lifting Vehicles (AREA)
  • Control Of Eletrric Generators (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

1. Sposób sterowania systemu komputero- wego, dla przechwytywania i wykonywania zadania otwarcia pliku, który to system kompute- rowy posiada pamiec, glówny procesor wyko- nujacy program systemu operacyjnego oraz pamiec masowa do przechowywania plików, w którym za pomoca systemu operacyjnego okre- sowo wykonuje sie zadanie otwarcia pliku prze- chowywanego w pamieci masowej, znamienny tym, ze na poziomie systemu operacyjnego prze- jmuje sie zadanie otwarcia pliku, identyfikujace otwierany plik pierwotny, nastepnie z zadania wyodrebnia sie identyfikator pliku pierwotnego, wyznacza sie czy identyfikator pliku pierwotne- go powinien zostac zastapiony identyfikatorem pliku zastepczego i jesli powinien, to modyfikuje sie zadanie otwarcia i zastepuje sie identyfikator pliku pierwotnego identyfikatorem pliku zaste- pczego oraz przekazuje sie zadanie do systemu operacyjnego, za pomoca którego otwiera sie dany plik zastepczy zamiast pliku pierwotnego. F ig . 3 PL PL PL PL PL PL PL

Description

Przedmiotem wynalazku jest sposób sterowania systemu komputerowego, zwłaszcza dla realizacji dostępu do plików z poziomu systemu operacyjnego komputera. Wynalazek jest szczególnie użyteczny w przypadku sterowania dostępem do plików wykonywalnych w środowisku sieciowym, ale może zostać wykorzystany także w innych systemach.
W systemie komputerowym wymagana jest czasem zmiana jego działania w sposób niezauważalny zarówno dla użytkownika, jak również dla systemu operacyjnego działającego w systemie komputerowym.
Jedna z typowych sytuacji, w których powstaje powyższe wymaganie wynika z tendencji do przechowywania oprogramowania w sieciowym serwerze plików, a nie w niezależnych komputerach osobistych poszczególnych użytkowników. Administrator sieciowego systemu komputerowego musi zainstalować na serwerze plików jedną kopię opiogramowania, która jest dostępna dla dowolnego komputera lub stacji roboczej włączonej do sieci. To rozwiązanie zapewnia polepszoną sprawność działania systemu, na przykład w przypadku zmian ustawień programu lub podczas jego aktualizacji oraz zmniejsza czas instalacji oprogramowania (co może trwać ponad godzinę), ponieważ wystarczy zainstalować je tylko raz na każdym serwerze plików, a nie na każdej stacji roboczej.
Powyższe rozwiązanie stwarza jednak problemy związane z licencyjnymi ograniczeniami na ilość użytkowników programu. Praktycznie każdy program objęty jest umową licencyjną, pozwalającą na wykorzystywanie go na pojedynczym komputerze lub na pewnej ograniczonej ilości komputerów.
Zwykle jest niewiele, lub nawet brak technicznych ograniczeń ilości użytkowników, którzy mogąjednocześnie używać danego programu zainstalowanego na sieciowym serwerze plików. W związku z tym, aby spełnić warunki umowy licencyjnej, należy zapewnić sposób programowego monitorowania i ograniczania ilości użytkowników jednocześnie korzystających z programu, tak aby ilość ta nie wykraczała poza ustalenia umowy licencyjnej.
Na ogół programowe monitorowanie polega na przejmowaniu żądań uruchomienia danego programu i sprawdzaniu ilu użytkowników z tego programu już korzysta. Gdy osiągnie się maksymalną dozwoloną liczbę jednoczesnych użytkowników programu, to żądanie dostępu do niego zostaje odrzucone. Jednak, gdy maksymalna dozwolona ilość jednoczesnych użytkowników nie została osiągnięta, to licznik używanych kopii programu jest zwiększany o jeden, a żądanie uruchomienia programu jest spełniane. Po zakończeniu działania monitorowanego programu, fakt ten jest wykrywany, a licznik używanych kopii programu jest zmniejszany o jeden.
Takie programowe monitorowanie może zostać zrealizowane na trzy sposoby. Pierwszy z nich polega na zastosowaniu programu rezydentnego pracującego na każdej stacji roboczej w sieci komputerowej, który przejmuje żądania uruchomienia programów w sieci i pozwala na ich uruchomienie, w zależności od wartości licznika używanych kopii programu znajdującego się we wspólnym pliku w serwerze. Drugi sposób polega na zmianie nazwy pliku uruchamiającego dany program w sieci. Zamiast niego uruchamiany jest dodatkowy program uruchamiający, któ
180 841 ry sprawdza wartość licznika używanych kopii programu, znajdującego się we wspólnym pliku w serwerze i jeśli wartość tego licznika nie przekroczy maksymalnej liczby użytkowników programu, to właściwy program uruchamiany jest jako proces potomny dodatkowego programu uruchamiającego. Trzeci sposób wykorzystuje program rezydentny działający w serwerze plików, który przejmuje żądania dostępu do danego programu i zezwala na jego uruchomienie, w zależności od wartości lokalnego licznika używanych kopii danego programu. Jeśli licznik osiągnął już wartość równą maksymalnej liczbie użytkowników programu, to program rezydentny zwraca do stacji roboczej kod błędu.
Stwierdzono, że każdy z powyższych sposobów posiada pewne wady. Pierwszy nie zapewnia odpowiedniego bezpieczeństwa, gdyż można go obejść poprzez usunięcie z pamięci lub inne unieszkodliwienie programu rezydentnego pracującego na stacji roboczej. Zarówno pierwszy, jak i drugi sposób zmniejszają dostępną przestrzeń pamięci stacji roboczej, dla wszystkich programów w przypadku pierwszego sposobu i dla każdego monitorowanego programu w przypadku sposobu drugiego. Zgodnie z trzecim sposobem, w razie braku zezwolenia na uruchomienie programu, system operacyjny stacji roboczej generuje nieprzyjazny użytkownikowi błąd krytyczny systemu.
Przykłady znanych sposobów blokowania plików lub zabezpieczenia plików wykonywalnych znane sąz amerykańskich zgłoszeń patentowych US-A-5 327 536 i US-A-5 155 827. W pierwszym zgłoszeniu blokowanie plików na danym nośniku zostało zrealizowane poprzez przechowywanie zakodowanej informacji, określającej położenie plików programów na nośniku oraz analizę położenia plików przed ich uruchomieniem. Natomiast w drugim wspomnianym zgłoszeniu pliki wykonywalne usuwane są z dysku twardego, przenoszone na dyskietki i zastępowane przez pliki wsadowe, wykorzystujące znane komendy systemu MS-DOS.
Sposób sterowania systemu komputerowego, dla przechwytywania i wykonywania żądania otwarcia pliku, który to system komputerowy posiada pamięć, główny procesor wykonujący program systemu operacyjnego oraz pamięć masową do przechowywania plików, w którym za pomocą systemu operacyjnego okresowo wykonuje się żądanie otwarcia pliku przechowywanego w pamięci masowej, według wynalazku charakteryzuje się tym, że na poziomie systemu operacyjnego przejmuje się żądanie otwarcia pliku, identyfikujące otwierany plik pierwotny, następnie z żądania wyodrębnia się identyfikator pliku pierwotnego, wyznacza się czy identyfikator pliku pierwotnego powinien zostać zastąpiony identyfikatorem pliku zastępczego i jeśli powinien, to modyfikuje się żądanie otwarcia i zastępuje się identyfikator pliku pierwotnego identyfikatorem pliku zastępczego oraz przekazuje się żądanie do systemu operacyjnego, za pomocą którego otwiera się dany plik zastępczy zamiast pliku pierwotnego.
Korzystne jest, że żądanie otwarcia pliku generuje się po stronie użytkownika, a działanie według sposobu jest niezauważalne zarówno dla systemu operacyjnego, jak i użytkownika. Plik zastępczy wybiera się spośród zbioru plików, w zależności od identyfikatora pliku pierwotnego. Korzystnie, sprawdza się czy plik pierwotny jest plikiem wykonywalnym.
Korzystne jest, że plik zastępczy wybiera się tak, aby jego typ odpowiadał typowi pierwotnego pliku wykonywalnego. Dla wyznaczenia typu pierwotnego pliku wykonywalnego porównuje się przynajmniej część jego identyfikatora z określoną wcześniej listą identyfikatorów plików.
Korzystne jest, że typ pierwotnego pliku wykonywalnego wyznacza się bez wykorzystywania określonej wcześniej listy identyfikatorów plików. Typ pierwotnego pliku wykonywalnego wyznacza się wykorzystując jego nagłówek.
W odmiennym wykonaniu sposób sterowania systemu komputerowego, stanowiącego sieciowy system komputerowy mający serwer plików oraz przynajmniej jedną stację roboczą dla przechwytywania i wykonywania żądania otwarcia pliku, który to system komputerowy posiada pamięć, główny procesor wykonujący program systemu operacyjnego oraz pamięć masową do przechowywania plików, w którym za pomocą systemu operacyjnego okresowo wykonuje się żądanie otwarcia pliku przechowywanego w pamięci masowej, według wynalazku charakteryzuje się tym, że przechowuje się rekord liczby używanych w sieci kopii pliku pierwotnego, na
180 841 poziomie systemu operacyjnego przejmuje się żądanie otwarcia pliku, identyfikujące otwierany plik pierwotny, następnie z żądania wyodrębnia się identyfikator pliku pierwotnego, wyznacza się czy identyfikator pliku pierwotnego powinien zostać zastąpiony identyfikatorem pliku zastępczego i jeśli powinien, to modyfikuje się żądanie i zastępuje się identyfikator pliku pierwotnego identyfikatorem pliku zastępczego oraz przekazuje się żądanie do systemu operacyjnego, za pomocąktórego otwiera się dany plik zastępczy zamiast pliku pierwotnego, przy czym w etapie wyznaczania sprawdza się czy po uruchomieniu na żądanie kolejnej kopii programu, zapamiętana liczba używanych w sieci kopii programu przekracza wartość maksymalną.
Korzystne jest, że składające się nań kroki wykonuje się jedynie za pomocą serwera plików.
W kolejnym odmiennym wykonaniu sposób sterowania systemu komputerowego, dla przechwytywania i wykonywania żądania otwarcia pliku i redukcji liczby plików, który to system komputerowy posiada pamięć, główny procesor wykonujący program systemu operacyjnego oraz pamięć masowądo przechowywania plików, w którym za pomocąsystemu operacyjnego okresowo wykonuje się żądanie otwarcia pliku przechowywanego w pamięci masowej, według wynalazku charakteryzuje się tym, że na poziomie systemu operacyjnego przejmuje się żądanie otwarcia pliku, identyfikujące otwierany plik pierwotny, następnie z żądania wyodrębnia się identyfikator pliku pierwotnego, porównuje się identyfikator pliku pierwotnego ze zbiorem identyfikatorów plików i wyznacza się czy plik pierwotny jest plikiem monitorowanym, a jeśli tak, to sprawdza się licznik kopii pliku pierwotnego i wyznacza się maksymalną dozwoloną liczbę używanych kopii pliku pierwotnego, przy czym w przypadku osiągnięcia maksymalnej liczby używanych kopii pliku pierwotnego modyfikuje się żądanie otwarcia pliku i zastępuje się identyfikator pliku pierwotnego identyfikatorem pliku zastępczego oraz przekazuje się zmodyfikowane żądanie otwarcia pliku do systemu operacyjnego, za pomocą którego otwiera się dany plik zastępczy zamiast pliku pierwotnego.
Wynalazek w szerokim aspekcie zapewnia ulepszony, w porównaniu do dotychczas znanych, sposób dostępu do plików.
Sposób według wynalazku jest tak realizowany, że wszystkie związane z nim operacje są niezauważalne zarówno dla systemu operacyjnego, jak i użytkownika. Sposób ten znajduje zastosowanie w przejmowaniu żądań otwarcia pliku przez użytkownika, bez względu na to, czy żądanie pochodzi ze stacji roboczej, czy z niezależnego komputera. W przypadku sieciowego systemu komputerowego składającego się z serwera plików i przynajmniej jednej stacji roboczej, na sposób według wynalazku składa się przechowywanie danych dotyczących ilości używanych aktualnie kopii programu i sprawdzanie, czy identyfikator pliku pierwotnego powinien zostać zastąpiony identyfikatorem pliku zastępczego. Sprawdzenie odbywa się poprzez porównanie, czy po uruchomieniu pożądanego pliku, zapamiętana liczba używanych kopii danego pliku przekroczy ustalone ograniczenie. Tym sposobem realizuje się programowe monitorowanie po stronie serwera plików, bez dodatkowego obciążenia stacji roboczej. Dzięki takiemu rozwiązaniu można zapewnić odrzucenie żądania uruchomienia programu w sposób przyjazny dla użytkownika, lub jeśli odpowiednia liczba używanych kopii programu nie została by przekroczona, to żądanie uruchomienia programu jest akceptowane w sposób niezauważalny dla użytkownika.
W sposobie według wynalazku wybór pliku zastępczego następuje spośród wielu możliwych plików zastępczych, w zależności od identyfikatora pliku pierwotnego. Wybór ten może polegać na sprawdzeniu, czy plik pierwotny jest plikiem wykonywalnym i jeśli jest, to jakiego jest on typu. Na tej podstawie wybierany jest odpowiednie plik zastępczy. Natomiast sprawdzenie typu pliku wykonywalnego może polegać na porównaniu przynajmniej części nazwy/identyfikatora tego pliku z wyznaczoną listą nazw/identyfikatorów plików.
Przedmiot wynalazku objaśniony zostanie w przykładzie wykonania na rysunku, na którym fig. 1 przedstawia schemat blokowy typowego systemu komputerowego, fig. 2A i 2B przedstawiają schematy ilustrujące mapę pamięci na poziomie systemu operacyjnego w typowym systemie komputerowym oraz w zmodyfikowanym systemie komputerowym sterowanym zgodnie ze sposobem według wynalazku, fig. 3 przedstawia sieć działań ilustrującą
180 841 główną ideę wynalazku, a fig. 4 przedstawia sieć działań ilustrującą sposób programowego monitorowania zgodnie z wynalazkiem.
Nawiązując do fig. 1, sposób według wynalazku jest realizowany w systemie komputerowym 10, składającym się z procesora głównego CPU 12, pamięci 14 oraz pamięci masowej 16, w tym przypadku oznaczonej w postaci napędu dyskowego.
System komputerowy 10 wykonuje program systemu operacyjnego. Chociaż w opisanym przykładzie wykonania system operacyjny jest systemem DOS używanym w komputerach osobistych, zgodnych z IBM PC, to wynalazek znajduje zastosowanie w przypadku wielu innych systemów operacyjnych.
Nawiązując do fig. 2A, we wszystkich systemach operacyjnych przed użyciem dowolnego pliku przechowywanego w pamięci masowej 16, wykonywane jest odwołanie do systemu operacyjnego, w tym wykonaniu poprzez przerwanie systemowe 21h, w którym żąda się otwarcia pliku o danej nazwie zawartej w odwołaniu. W trakcie operacji otwierania pliku, na podstawie jego nazwy system operacyjny przydziela mu “uchwyt” będący zwykle numerem, który jest zwracany do procesu żądającego otwarcia pliku. Uchwyt jednoznacznie identyfikuje otwarty plik. Podczas pierwszego otwarcia pliku system operacyjny wykonuje różnorakie działania, takie jak lokalizacja położenia pliku w pamięci masowej 16. Dzięki użyciu uchwytu pliku, kolejne odwołania do tego pliku nie zajmują dużo czasu, gdyż unika się powtarzania działań wykonywanych podczas otwierania pliku. Wszystkie niezbędne informacje dotyczące pliku przechowywane są w tablicy, do której można się odwołać poprzez uchwyt. Gdy otwarty plik nie jest dłużej wykorzystywany przez proces, to jest on zamykany, co powoduje wymazanie zapisu w tablicy plików, odpowiadającemu danemu uchwytowi.
Na figurze 2B przedstawiono sytuację występującą w przypadku systemu MS-DOS, gdzie żądania otwarcia pliku sąprzejmowane poprzez zmianę wektora przerwania systemowego 21 h, który to wektor wskazuje na nowy kod obsługi przerwania. W dalszej kolejności wykonywany jest skok do pierwotnego kodu, który powinien wykonać się po pojawieniu się przerwania 21h, co pokazują strzałki z lewej strony fig. 2B.
Podstawowe operacje wykonywane przez nowy program obsługi przerwania pokazane są na fig. 3. Na początku następuje sprawdzenie, czy przerwanie zostało wywołane w celu otwarcia pliku. Jeśli me, to wykonywany jest skok do pierwotnego programu obsługi przerwania. Jeżeli jednak wystąpiło żądanie otwarcia pliku - krok 20, to pobierana jest nazwa otwieranego pliku krok 22, poprzez odczytanie ciągu znaków, wskazywanego przez parę rejestrów DS:DX. Ciąg ten zawiera nazwę otwieranego pliku. W następnej kolejności następuje sprawdzenie, czy dany plik powinien zostać zastąpiony innym - krok 24. Operacja ta zależy od konkretnego zastosowania sposobu, co zostanie objaśnione na kilku przykładach opisanych poniżej.
W przypadku, gdy plik powinien zostać zastąpiony innym, nazwa/identyfikator tego pliku jest zastępowana nazwą/identyfikatorem pliku zastępczego poprzez zmianę zawartości pary rejestrów DS:DX, które powinny wskazywać na ciąg znaków zawierający nazwę/identyfikator pliku zastępczego. Po wykonaniu zamiany wykonywany jest pierwotny program obsługi przerwania - krok 26. W przypadku, gdy okaże się, że dany plik nie musi być zastępowany innym, wykonywany jest bezpośredni skok do pierwotnego programu obsługi przerwania, bez wykonywania operacji zastępowania nazwy/identyfikatora pliku - krok 28.
Zamiana programu odbywa się w sposób niezauważalny zarówno dla żądającego dostępu do pliku procesu, jak i dla systemu operacyjnego. Proces żądający dostępu do pliku otrzymuje oczekiwany uchwyt do pliku, choć naprawdę uchwyt ten odnosi się do pliku zastępczego. Podobnie system operacyjny nie może wykryć, że nazwa/identyfikator otwieranego pliku zmieniła się od momentu pojawienia się żądania otwarcia tego pliku przez proces. System operacyjny otrzymuje więc zwykłe żądanie otwarcia pliku.
Jeżeli pierwotny plik jest plikiem wykonywalnym, to najlepiej aby plik zastępczy był plikiem wykonywalnym tego samego typu. Może to być istotne, gdyż proces żądający otwarcia pliku wykonywalnego prawdopodobnie będzie go chciał uruchomić. Jeśli więc plik zastępczy nie jest plikiem wykonywalnym, lub jest plikiem wykonywalnym innego typu, na przykład może
180 841 być przeznaczony do wykonania na innym typie komputera, to mogą pojawić się nieprzewidziane skutki zamiany nazwy/identyfikatora pliku.
Jeśli przyjmie się, że mogą pojawić się pliki wykonywalne kilku określonych typów, to typ pierwotnego pliku wykonywalnego może zostać łatwo ustalony. W środowisku MS-DOS istnieje pięć typów plików wykonywalnych: DOS COM, DOS ΕΧΕ, Windows ΕΧΕ, OS/2 ΕΧΕ oraz Windows NT ΕΧΕ.
Programy typu COM zostają rozpoznane przynajmniej na podstawie rozszerzenia nazwy/identyfikatora pliku, która w ich przypadku ma postać “.COM”. Wszystkie pozostałe pliki wykonywalne posiadają co prawda rozszerzenie “.ΕΧΕ”, ale posiadają również nagłówek, który jednoznacznie identyfikuje typ każdego z nich. Wszystkie pliki typu ΕΧΕ oprócz plików DOS ΕΧΕ posiadająskładający się z segmentów nagłówek, który zawiera pewne charakterystyczne bajty jednoznacznie identyfikujące typ pliku. Plik typu DOS ΕΧΕ zostaje rozpoznany po tym, że posiada rozszerzenie “.ΕΧΕ” i jego nagłówek nie jest podzielony na segmenty. Dlatego też typ pliku zostaje wyznaczony na podstawie jego rozszerzenia, zawartości nagłówka oraz danych dotyczących istnienia segmentów nagłówka.
Aby wczytać zawartość pliku wykonywalnego do pamięci i wyznaczyć rozmiar jego kodu, systemy operacyjne zawsze muszą wcześniej otworzyć ten plik. W związku z tym program zastępczy nie musi mieć takiego samego rozmiaru jak program pierwotny, choć nie powinien być większej długości, niż program pierwotny, aby mieć pewność, że się on uruchomi.
Na figurze 4 przedstawiono korzystny przykład wykonania wynalazku w przypadku programowego monitorowania.
Sprawdzenie, czy pozwolić na uruchomienie pliku, odbywa się w serwerze plików, za pomocą odpowiedniego programu sterującego. Zgodnie z fig. 4 w serwerze plików odbywa przejęcie żądania stacji roboczej otwarcia pliku - krok 30, a następnie wyznaczana jest nazwa/identyfikator otwieranego pliku - krok 32. W celu sprawdzenia, czy plik powinien być monitorowany, nazwa/identyfikator porównywany jest z listą nazw/identyfikatorów - krok 34. Jeśli plik nie jest monitorowany, to żądanie jest realizowane w sposób konwencjonalny - krok 36. Jeżeli jednak plik jest monitorowany, to następuje sprawdzenie, czy licznik używanych kopii programu osiągnął maksymalną dozwoloną wartość - krok 38. Jeśli wartość maksymalna nie została osiągnięta, to licznik zostaje zwiększony o jeden - krok 39, a żądanie otwarcia pliku jest realizowane w sposób konwencjonalny - krok 36.
W przypadku, gdy wartość maksymalna licznika używanych kopii programu została osiągnięta, to żądanie stacji roboczej nie może zostać spełnione. W tym celu, w kroku 40, określa się typ pliku wykonywalnego, przy czym w zwykłym środowisku MS-DOS wystarczy rozróżniać na przykład pomiędzy programami przeznaczonymi dla DOS i Windows. Po wyznaczeniu typu pliku wykonywalnego próbuje się znaleźć odpowiedni plik zastępczy - krok 42. Jeśli plik zastępczy jest dostępny, to nazwa/identyfikator żądanego pliku zastępowana jest nazwą/identyfikatorem odpowiedniego pliku zastępczego - krok 44 i żądanie otwarcia pliku jest dalej realizowane w sposób konwencjonalny - krok 36. Jeśli odpowiedni plik zastępczy nie zostanie znaleziony, to stacja robocza otrzymuje odpowiedni kod błędu - krok 46.
Opisując dokładniej, jeśli należy odrzucić żądanie uruchomienia programu, to program sterujący w serwerze plików wyznacza najpierw typ pliku wykonywalnego, a czyni to albo poprzez odwołanie się do wcześniej zdefiniowanej tablicy nazw/identyfikatorów plików, albo poprzez dynamiczne sprawdzanie nazw/identyfikatora pliku, rozszerzenia nazwy/identyfikatora pliku, katalogu, atrybutów lub nagłówka pliku. W praktyce, dzięki zastosowaniu powyższego sposobu, można rozróżnić większość typów plików wykonywalnych przechowywanych w serwerach plików sieci lokalnych LAN, włączając pliki przeznaczone dla systemów operacyjnych DOS, Windows, Windows NT, OS/2 i Macintosh.
Po zidentyfikowaniu typu pliku wykonywalnego, program sterujący zamienia nazwę/identyfikator żądanego pliku na nazwę/identyfikator pliku zastępczego takiego samego typu. Następnie żądanie otwarcia pliku jest wykonywane.
180 841
Po zastąpieniu pliku żądanego plikiem zastępczym i po otwarciu tego pliku przez stację roboczą uruchomiony zostaje program zastępczy. Ani stacja robocza, ani system operacyjny nie odnotują żadnej zmiany. Natomiast program zastępczy może wyświetlić na monitorze stacji roboczej odpowiedni komunikat informujący użytkownika, że dany program jest używany przez maksymalną dozwoloną liczbę użytkowników i nie może zostać uruchomiony. Program zastępczy może także przedstawić możliwość ręcznego lub automatycznego powtarzania procesu uruchomienia żądanego programu.
Ponieważ program zastępczy może określić swoją nazwę i położenie na podstawie informacji uzyskanych z systemu operacyjnego, to znaczy nazwę pierwotnie używaną w celu otwarcia pliku, więc może on również wyświetlić na monitorze nazwę programu pierwotnego i spróbować go uruchomić w łańcuchu, to znaczy zakończyć swoje działanie i uruchomić inny program - program pierwotny. Jeśli program pierwotny jest już dostępny, to jest uruchamiany, a jeśli nie jest, to ponownie uruchamiany jest program zastępczy.
Nie jest konieczne, aby przygotować program zastępczy dla każdego możliwego typu pliku pierwotnego, gdyż w najgorszym przypadku braku odpowiedniego programu zastępczego lub niemożliwości ustalenia typu pliku wykonywalnego odrzucenie żądania otwarcia pliku zakończy się zwróceniem kodu błędu.
Inny przykład wykonania wynalazku pozwala administratorowi systemu sieciowego wysłać wiadomość do dowolnego użytkownika sieci używającego dany program, poprzez zastąpienie tego programu programem zastępczym wyświetlającym odpowiedni komunikat, a następnie uruchamiającym program pierwotny. Sposób ten wykazuje przewagę nad zwykłymi programami do przesyłania wiadomości, które są ograniczane do wysyłania komunikatów do poszczególnych grup użytkowników lub użytkowników wyszczególnionych, a nie do tych, używających konkretnego programu.
Przy wykorzystaniu sposobu według wynalazku, wiadomość jest wysyłana tylko wtedy, gdy uruchamiany jest odpowiadający jej program. Typowa wiadomość może wyglądać tak: “Pliki arkusza kalkulacyjnego zawierające dane sprzedaży zostały przeniesione do katalogu x”. W ten sposób wiadomość wyświetlana jest tylko zainteresowanym użytkownikom w czasie, gdy jest to rzeczywiście potrzebne.
Kolejny przykład wykonania wynalazku dotyczy sytuacji, gdy użytkownik rozpoczyna pracę w systemie sieciowym, kiedy to można wykonać jawnie lub w sposób ukryty różne operacje związane z użytkownikiem lub systemem komputerowym. Program startowy (login) jest zwykle przechowywany w serwerze plików i jako taki, może zostać zastąpiony programem zastępczym, podobnie jak w przypadku programowego monitorowania. Program zastępczy może zostać przystosowany do automatycznego uaktualniania oprogramowania stacji roboczej, na przykład sterowników sieciowych, po czym może wykonać program startowy. W ten sposób administrator może uaktualniać pliki w stacji roboczej bez konieczności ręcznej obsługi każdej stacji i bez udziału użytkownika. Poza tym program sterujący może wyznaczyć fizyczny adres stacji roboczej, co pozwala na wykonywanie różnych operacji na różnych stacjach roboczych.
180 841
180 841
PRlEjąClE ŻĄDANIA OTHMClAr PUKU
180 841 /fpzEjĘUE ζΡΧ/30 (MNfA (MARCIA ) k PLIKU J
W ZNACZENIE KAZWY PUKU
NIE
TAK
PUK
PONIWROnany 3
ZWIĘKSZENIE LICZNIKA UŻYWANYCH KOPII
HARKJSC
TAK _L
WYZNACZENIE TYPU PUKU WYKONYWALNE' GO
NIE
ZAPt/AMA MW ŻĄDANEGO PUKU NAUKA PUKU •36
180 841
POCZĄTEK PROGPAHU __ 08S±l/& PPZBiMNIA 2ih
operacyjny DOS
Fig.2A.
Departament Wydawnictw UP RP. Nakład 70 egz. Cena 4,00 zł.

Claims (11)

  1. Zastrzeżenia patentowe
    1. Sposób sterowania systemu komputerowego, dla przechwytywania i wykonywania żądania otwarcia pliku, który to system komputerowy posiada pamięć, główny procesor wykonujący program systemu operacyjnego oraz pamięć masową do przechowywania plików, w którym za pomocą systemu operacyjnego okresowo wykonuje się żądanie otwarcia pliku przechowywanego w pamięci masowej, znamienny tym, że na poziomie systemu operacyjnego przejmuje się żądanie otwarcia pliku, identyfikujące otwierany plik pierwotny, następnie z żądania wyodrębnia się identyfikator pliku pierwotnego, wyznacza się czy identyfikator pliku pierwotnego powinien zostać zastąpiony identyfikatorem pliku zastępczego i jeśli powinien, to modyfikuje się żądanie otwarcia i zastępuje się identyfikator pliku pierwotnego identyfikatorem pliku zastępczego oraz przekazuje się żądanie do systemu operacyjnego, za pomocą którego otwiera się dany plik zastępczy zamiast pliku pierwotnego.
  2. 2. Sposób według zastrz. 1, znamienny tym, że żądanie otwarcia pliku generuje się po stronie użytkownika, a działanie według sposobu jest niezauważalne zarówno dla systemu operacyjnego, jak i użytkownika.
  3. 3. Sposób według zastrz. 1, znamienny tym, że plik zastępczy wybiera się spośród zbioru plików, w zależności od identyfikatora pliku pierwotnego.
  4. 4. Sposób według zastrz. 1, znamienny tym, że sprawdza się czy plik pierwotny jest plikiem wykonywalnym.
  5. 5. Sposób według zastrz. 3, znamienny tym, że plik zastępczy wybiera się tak, aby jego typ odpowiadał typowi pierwotnego pliku wykonywalnego.
  6. 6. Sposób według zastrz. 5, znamienny tym, że dla wyznaczenia typu pierwotnego pliku wykonywalnego porównuje się przynajmniej część jego identyfikatora z określoną wcześniej listą identyfikatorów phków.
  7. 7. Sposób według zastrz. 5, znamienny tym, że typ pierwotnego pliku wykonywalnego wyznacza się bez wykorzystywania określonej wcześniej listy identyfikatorów plików.
  8. 8. Sposób według zastrz. 7, znamienny tym, że typ pierwotnego pliku wykonywalnego wyznacza się wykorzystując jego nagłówek.
  9. 9. Sposób sterowania systemu komputerowego, stanowiącego sieciowy system komputerowy mający serwer plików oraz przynajmniej jedną stację roboczą dla przechwytywania i wykonywania żądania otwarcia pliku, który to system komputerowy posiada pamięć, główny procesor wykonujący program systemu operacyjnego oraz pamięć masową do przechowywania plików, w którym za pomocą systemu operacyjnego okresowo wykonuje się żądanie otwarcia pliku przechowywanego w pamięci masowej, znamienny tym, że przechowuje się rekord liczby używanych w sieci kopii pliku pierwotnego, na poziomie systemu operacyjnego przejmuje się żądanie otwarcia pliku, identyfikujące otwierany plik pierwotny, następnie z żądania wyodrębnia się identyfikator pliku pierwotnego, wyznacza się czy identyfikator pliku pierwotnego powinien zostać zastąpiony identyfikatorem pliku zastępczego i jeśli powinien, to modyfikuje się żądanie i zastępuje się identyfikator pliku pierwotnego identyfikatorem pliku zastępczego oraz przekazuje się żądanie do systemu operacyjnego, za pomocą którego otwiera się dany plik zastępczy zamiast pliku pierwotnego, przy czym w etapie wyznaczania sprawdza się czy po uruchomieniu na żądanie kolejnej kopii programu, zapamiętana liczba używanych w sieci kopii programu przekracza wartość maksymalną.
  10. 10. Sposób według zastrz. 9, znamienny tym, że składające się nań kroki wykonuje się jedynie za pomocą serwera plików.
  11. 11. Sposób sterowania systemu komputerowego, dla przechwytywania i wykonywania żądania otwarcia pliku i redukcji liczby plików, który to system komputerowy posiada pamięć, główny procesor wykonujący program systemu operacyjnego oraz pamięć masową do przecho-
    180 841 wywania plików, w którym za pomocą systemu operacyjnego okresowo wykonuje się żądanie otwarcia pliku przechowywanego w pamięci masowej, znamienny tym, że na poziomie systemu operacyjnego przejmuje się żądanie otwarcia pliku, identyfikujące otwierany plik pierwotny, następnie z żądania wyodrębnia się identyfikator pliku pierwotnego, porównuje się identyfikator pliku pierwotnego ze zbiorem identyfikatorów plików i wyznacza się czy plik pierwotny jest plikiem monitorowanym, a jeśli tak, to sprawdza się licznik kopii pliku pierwotnego i wyznacza się maksymalną dozwoloną liczbę używanych kopii pliku pierwotnego, przy czym w przypadku osiągnięcia maksymalnej liczby używanych kopii pliku pierwotnego modyfikuje się żądanie otwarcia pliku i zastępuje się identyfikator pliku pierwotnego identyfikatorem pliku zastępczego oraz przekazuje się zmodyfikowane żądanie otwarcia pliku do systemu operacyjnego, za pomocą którego otwiera się dany plik zastępczy zamiast pliku pierwotnego.
    * * *
PL95320609A 1994-09-09 1995-09-06 Sposób sterowania systemu komputerowego PL180841B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/304,098 US5701463A (en) 1994-09-09 1994-09-09 Method of replacing the identity of a file with another as part of a file open request in a computer system
PCT/GB1995/002106 WO1996007961A1 (en) 1994-09-09 1995-09-06 Method of operating a computer system

Publications (2)

Publication Number Publication Date
PL320609A1 PL320609A1 (en) 1997-10-13
PL180841B1 true PL180841B1 (pl) 2001-04-30

Family

ID=23175046

Family Applications (1)

Application Number Title Priority Date Filing Date
PL95320609A PL180841B1 (pl) 1994-09-09 1995-09-06 Sposób sterowania systemu komputerowego

Country Status (18)

Country Link
US (1) US5701463A (pl)
EP (1) EP0779999A1 (pl)
JP (1) JPH10512981A (pl)
KR (1) KR100370820B1 (pl)
CN (1) CN1096014C (pl)
AU (1) AU698180B2 (pl)
BG (1) BG63374B1 (pl)
BR (1) BR9508903A (pl)
CA (1) CA2199520C (pl)
CZ (1) CZ289053B6 (pl)
FI (1) FI971583A0 (pl)
HU (1) HU220825B1 (pl)
IS (1) IS4435A (pl)
NO (1) NO314863B1 (pl)
NZ (1) NZ292238A (pl)
PL (1) PL180841B1 (pl)
RU (1) RU2163726C2 (pl)
WO (1) WO1996007961A1 (pl)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123681A (ja) * 1994-10-26 1996-05-17 Canon Inc 管理システム及び端末装置
US7143290B1 (en) * 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US20080141033A1 (en) * 1995-02-13 2008-06-12 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US6226678B1 (en) * 1995-09-25 2001-05-01 Netspeak Corporation Method and apparatus for dynamically defining data communication utilities
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
ES2218668T3 (es) * 1996-10-23 2004-11-16 Sdgi Holdings, Inc. Espaciador espinal.
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US5991778A (en) * 1997-09-30 1999-11-23 Stratfor Systems, Inc. Method and apparatus for real-time secure file deletion
US6070174A (en) 1997-09-30 2000-05-30 Infraworks Corporation Method and apparatus for real-time secure file deletion
US6151708A (en) 1997-12-19 2000-11-21 Microsoft Corporation Determining program update availability via set intersection over a sub-optical pathway
IL123512A0 (en) * 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6728964B1 (en) * 1998-06-13 2004-04-27 Intel Corporation Monitoring function
US6356863B1 (en) 1998-09-08 2002-03-12 Metaphorics Llc Virtual network file server
US6324546B1 (en) * 1998-10-12 2001-11-27 Microsoft Corporation Automatic logging of application program launches
US6263409B1 (en) * 1998-12-22 2001-07-17 Unisys Corporation Data processing system and method for substituting one type of request for another for increased performance when processing back-to-back requests of certain types
US6826574B1 (en) * 1999-08-27 2004-11-30 Gateway, Inc. Automatic profiler
WO2002019076A2 (en) * 2000-08-31 2002-03-07 Curl Corporation Hybrid privilege enforcement in a restricted execution environment
JP2003044155A (ja) * 2001-07-30 2003-02-14 Hitachi-Lg Data Storage Inc ソフトウェアのインストール方法及びファームウェアのアップデート方法及びそれらに用いる記録再生装置及び記録媒体
US7328225B1 (en) * 2002-03-27 2008-02-05 Swsoft Holdings, Ltd. System, method and computer program product for multi-level file-sharing by concurrent users
US7222135B2 (en) * 2003-12-29 2007-05-22 Intel Corporation Method, system, and program for managing data migration
US7761853B2 (en) * 2005-02-25 2010-07-20 Kyocera Corporation Portable terminal device, method for restoring program, method for terminating program, and computer program therefor
JP4440825B2 (ja) * 2005-05-17 2010-03-24 株式会社バンダイナムコゲームス ゲームプログラム記録媒体
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US9942271B2 (en) * 2005-12-29 2018-04-10 Nextlabs, Inc. Information management system with two or more interactive enforcement points
GB2443005A (en) * 2006-07-19 2008-04-23 Chronicle Solutions Analysing network traffic by decoding a wide variety of protocols (or object types) of each packet
KR100856245B1 (ko) * 2006-12-26 2008-09-03 삼성전자주식회사 파일 시스템 장치 및 그 파일 시스템의 파일 저장 및 파일 탐색 방법
US10540651B1 (en) 2007-07-31 2020-01-21 Intuit Inc. Technique for restricting access to information
JP2009175790A (ja) * 2008-01-21 2009-08-06 Nec Corp コンテンツ資産管理システム、方法および制御プログラム
US10268775B2 (en) * 2012-09-17 2019-04-23 Nokia Technologies Oy Method and apparatus for accessing and displaying private user information
US9792350B2 (en) * 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
US9564918B2 (en) 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US20140201681A1 (en) * 2013-01-16 2014-07-17 Lookout, Inc. Method and system for managing and displaying activity icons on a mobile device
RU2543556C2 (ru) * 2013-04-30 2015-03-10 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система контроля доступа к файлам на основе их ручной и автоматической разметки
CN108959297B (zh) * 2017-05-19 2021-09-28 海马云(天津)信息技术有限公司 文件系统返回指定标识的方法、装置及电子设备
US11328089B2 (en) * 2019-09-20 2022-05-10 International Business Machines Corporation Built-in legal framework file management

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757533A (en) * 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
JPS63655A (ja) * 1986-06-20 1988-01-05 Fujitsu Ltd 計算機ネツトワ−クにおける共有デ−タの更新方法
US4780821A (en) * 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US5008820A (en) * 1987-03-30 1991-04-16 International Business Machines Corporation Method of rapidly opening disk files identified by path names
US5109515A (en) * 1987-09-28 1992-04-28 At&T Bell Laboratories User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services
US5390297A (en) * 1987-11-10 1995-02-14 Auto-Trol Technology Corporation System for controlling the number of concurrent copies of a program in a network based on the number of available licenses
CA1323448C (en) * 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5155827A (en) * 1989-03-17 1992-10-13 Ghering Boyd W Method for inhibiting an executable program in a disk operating system by replacing the program with an unexecutable program
US5261051A (en) * 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
CA2067633C (en) * 1991-07-24 1996-10-01 Eric Jonathan Bauer Method and apparatus for accessing a computer-based file system
US5257381A (en) * 1992-02-28 1993-10-26 Intel Corporation Method of intercepting a global function of a network operating system and calling a monitoring function
GB2270581A (en) * 1992-09-15 1994-03-16 Ibm Computer workstation
US5327563A (en) * 1992-11-13 1994-07-05 Hewlett-Packard Method for locking software files to a specific storage device
US6317742B1 (en) * 1997-01-09 2001-11-13 Sun Microsystems, Inc. Method and apparatus for controlling software access to system resources

Also Published As

Publication number Publication date
US5701463A (en) 1997-12-23
CA2199520A1 (en) 1996-03-14
NO314863B1 (no) 2003-06-02
RU2163726C2 (ru) 2001-02-27
NO971065D0 (no) 1997-03-07
BG101285A (en) 1997-10-31
AU3396395A (en) 1996-03-27
NO971065L (no) 1997-05-07
CZ289053B6 (cs) 2001-10-17
AU698180B2 (en) 1998-10-29
NZ292238A (en) 1997-08-22
EP0779999A1 (en) 1997-06-25
CA2199520C (en) 2006-05-30
CN1096014C (zh) 2002-12-11
JPH10512981A (ja) 1998-12-08
BR9508903A (pt) 1998-01-13
PL320609A1 (en) 1997-10-13
KR100370820B1 (ko) 2003-04-08
CZ9700701A3 (en) 2001-06-13
FI971583A (fi) 1997-04-15
BG63374B1 (bg) 2001-11-30
CN1166213A (zh) 1997-11-26
HUT77156A (hu) 1998-03-02
IS4435A (is) 1997-03-06
MX9701777A (es) 1997-10-31
WO1996007961A1 (en) 1996-03-14
HU220825B1 (hu) 2002-05-28
FI971583A0 (fi) 1997-04-15

Similar Documents

Publication Publication Date Title
PL180841B1 (pl) Sposób sterowania systemu komputerowego
CA2465880C (en) Operating system abstraction and protection layer
US9195823B1 (en) System and method for intercepting process creation events
AU2004218703B2 (en) Security-related programming interface
US6209101B1 (en) Adaptive security system having a hierarchy of security servers
US6434744B1 (en) System and method for patching an installed application program
US7451482B2 (en) Protected execution environments within a computer system
US7380267B2 (en) Policy setting support tool
US6324546B1 (en) Automatic logging of application program launches
US6360364B1 (en) System and method for installing an application on a portable computer
US20050091214A1 (en) Internal object protection from application programs
US20050081053A1 (en) Systems and methods for efficient computer virus detection
US20040060046A1 (en) Computing apparatus with automatic integrity reference generation and maintenance
US20050172286A1 (en) Hosted code runtime protection
US6418484B1 (en) Method of remotely executing computer processes
EP1361496B1 (en) Alteration of executable code module load locations
US8261095B1 (en) Methods and systems for using derived user accounts
US7694098B2 (en) System and methods for avoiding base address collisions
MXPA97001777A (en) Method for operating a comp system

Legal Events

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

Effective date: 20060906