PL176975B1 - Sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych - Google Patents

Sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych

Info

Publication number
PL176975B1
PL176975B1 PL94316565A PL31656594A PL176975B1 PL 176975 B1 PL176975 B1 PL 176975B1 PL 94316565 A PL94316565 A PL 94316565A PL 31656594 A PL31656594 A PL 31656594A PL 176975 B1 PL176975 B1 PL 176975B1
Authority
PL
Poland
Prior art keywords
file system
file
requested
cache
user
Prior art date
Application number
PL94316565A
Other languages
English (en)
Other versions
PL316565A1 (en
Inventor
Thomas G. Cantrell
Sebnem Jaji
Amal A. Shaheen
Richard B. Ward
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of PL316565A1 publication Critical patent/PL316565A1/xx
Publication of PL176975B1 publication Critical patent/PL176975B1/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

1. Sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych, w którym system komputerowy uzytkownika jest sterowany przez system operacyjny dla wykonywania zadania systemu operacyjnego obejmujacego jedna z wielu operacji systemu zbiorów jako zadana operacje systemu zbiorów oraz obejmujacego nazwe zbioru z systemu zbiorów rozproszonych, znamienny tym, ze po przyjeciu zadania systemu operacyjnego usuwa sie z nazwy zbioru, zaleznego od systemu operacyjnego, skladnie separatora dla utworzenia odniesienia do obiektu systemu zbiorów, sprawdza sie pamiec podreczna systemu zbiorów w ukladach pamieci systemu komputerowego uzytkownika na obecnosc obiektu systemu zbiorów, przy czym obiekt systemu zbiorów zawiera informacje zezwalajaca na dostep do zbioru w systemie zbiorów rozproszonych i na dostep do danych potencjalnie zapamietanych w lokalnej pamieci podrecznej dla tego zbioru w pamieci podrecznej systemu zbiorów, nastepnie wybiera sie jeden z wielu potencjalnych protokolów systemu zbiorów rozproszonych i, jezeli nie ma danych zapamietanych w lokalnej pamieci podrecznej dla tego zbioru, a jest polaczenie do systemu zbiorów rozproszonych, zada sie danych tego zbioru oraz zapamietuje sie te dane jako dane zapamietane z lokalnej pamieci podrecznej, po czym wykonuje sie zadana operacje systemu zbiorów, jezeli istnieja dane zapamietane w lokalnej pamieci podrecznej dla tego zbioru. PL PL

Description

Przedmiotem wynalazku jest sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych, który wspiera operacje użytkownika przyłączonego lub odłączonego do systemu zbiorów rozproszonych.
W systemach komputerowych występuje tendencja do zwiększania mocy przetwarzania i pojemności pamięci komputerowych stanowisk roboczych. Pierwotnie stanowiska robocze były wykorzystywane przez pojedynczego operatora do wykonywania jednego lub kilku izolowanych zadań. Postępujące wyposażanie w stanowiska robocze wielu użytkowników w systemach komputerowych stworzyło potrzebę zapewnienia łączności między stanowiskami roboczymi i wymiany danych między użytkownikami. Stworzyło to podstawę do rozwoju struktur systemowych ze zbiorami rozproszonymi, na przykład takiej, jak przedstawiona na figurze 1.
176 975
Na figurze 1 przedstawiono pewną liczbę stanowisk roboczych połączonych wzajemnie za pośrednictwem sieci zasięgu lokalnego (LAN). W celu wzajemnego połączenia pewnej liczby sieci można zastosować sieć szerokiego zasięgu (WAN). Stanowiska robocze oznaczone są jako serwery SI, S2, S3 i użytkownicy Cl, C2, C3. Wyznaczenie stanowiska jako użytkownika bądź serwera, zależy od funkcji wykonywanej w sieci przez konkretne stanowisko. Dane stanowisko może być zarówno użytkownikiem jak i serwerem. Sieć wymaga obecności przynajmniej jednego serwera i przynajmniej jednego użytkownika.
Stanowiska użytkownika tradycyjnie łączono do sieci LAN i zawsze do odbierania usług sieci LAN i udostępniania zasobów, na przykład zbiorów. Odłączenie od sieci LAN oznaczało odcięcie stanowiska roboczego od zasobów sieci LAN. Praca odłączonego użytkownika była możliwa tylko wtedy, kiedy niezbędne zbiory i programy przed odłączeniem zostały skopiowane do stanowiska użytkownika.
Wzrastająca moc przetwarzania przenośnych stanowisk roboczych uczyniła praktycznym przetwarzanie z odłączeniem, czyli przetwarzanie ruchome. Przenośne stanowiska robocze, zaopatrzone w procesor, pamięć operacyjną i pamięć dyskową, mają możliwości stanowisk stołowych bądź wolnostojących. Jednakże obecnie przenośne stanowiska robocze, czyli komputery przenośne maję te same ograniczenia w przypadku ich odłączenia: nie można wykorzystywać udostępnianych zasobów, jeżeli przed rozłączeniem uprzednio nie wykonano kopii danego zbioru lub programu. Przy ponownym dołączeniu stanowiska roboczego pozostawia się użytkownikowi ręczne uzgodnienie zbiorów zmienionych w urządzeniu przenośnym ze zbiorami w sieci. Na fig. 1 przedstawiono odłączalne przenośne stanowisko robocze jako użytkownika Cl dołączonego linią przerywaną do sieci.
Udostępnianie zbiorów z danymi w sieci, od pewnego czasu przechodzi rozwój. W najprostszym sposobie udostępniania umożliwia się użytkownikowi żądanie danych ze zbioru na serwerze. Niezbędne dane są wysyłane do procesora użytkownika, a wszelkie zmiany bądź modyfikacje zwracane są do serwera. Stosuje się odpowiednie blokady uniemożliwiające drugiemu użytkownikowi zmianę danych w zbiorze należącym do pierwszego użytkownika.
Systemy zbiorów rozproszonych wspomagają udostępnianie zbiorów przez wprowadzenie mechanizmów dla bardziej efektywnego rozprowadzania danych do użytkowników i bardziej efektywnego kontrolowanego udostępniania zbiorów. Istnieje wiele systemów zbiorów rozproszonych. Jednym z rozpowszechnionych systemów zbiorów rozproszonych jest system Andrew File System (AFS) rozprowadzany przez firmę Transarc Corp.
System AFS zwiększa sprawność przetwarzania zbiorów rozproszonych przez utworzenie bufora zbioru w stanowisku użytkownika mającym dostęp do danych serwera. Bufor tenjest przeznaczony dla aplikacji użytkownika i tylko brak danych w tym buforze powoduje ich pobranie z serwera. Buforowanie danych zmniejsza natężenie ruchu w sieci i skraca czas odpowiedzi do użytkownika. Struktura buforowa sysl^emu AFS bazuje na sy s temie zbiorów rozproszonych wywołań zwrotnych serwera. Serwer zawiadomi każdego użytkownika o każdej sytuacji, kiedy jakieś buforowane dane użytkownika stają się nieważne. Uznawane za nieważne dane są usuwane z bufora i konieczne jest ich ponowne zażądanie z serwera, jeżeli są potrzebne.
Odłączenie stanowiska roboczego dołączonego do systemu AFS spowoduje utratę dostępu użytkownika do zbioru rozproszonego. Przy odłączeniu użytkownik automatycznie zrzuci wszystkie wywołania zwrotne powodując unieważnienie bufora.
System zbiorów rozproszonych (DFS) jest następnym po systemie AFS systememwspomagającym środowisko przetwarzania rozproszonego. System DFS pracuje z wykorzystaniem opartego na współpracy z serwerem mechanizmu z żetonami zapewniającego spójność bufora użytkownika. Użytkownik pobiera żetony odczyt w celu zapewnienia, że dane w jego buforze są ważne. Przy zmianie przez użytkownika danych w buforze, pobiera dla tych danych żeton zapis. Przydzielenie żetonu zapis jednemu użytkownikowi, na przykład Cl, powoduje unieważnienie żetonów odczyt na te same dane u wszystkich innych użytkowników. Unieważnienie żetonu powoduje unieważnienie buforowanych danych u tych użytkowników. Odłączenie od systemu DFS spowoduje utratę wszelkich posia4
176 975 danych żetonów. Użytkownik będzie pozbawiony możliwości odczytu i zapisu nawet danych buforowanych, ze względu na brak żetonów.
W Carnegie Mellon University opracowano z kolei system CODA do wspomagania odłączalnych stanowisk roboczych dołączonych do systemu ASF. System CODA jest ukierunkowany na stworzenie systemu zbiorów rozproszonych ze stałą dostępnością danych. Realizuje on to przez replikowanie danych w wielu serwerach i zapewnienie wspomagania rozłączanych operacji przez użytkowników. Jest to przedstawione w publikacji Coda: System zbiorów o wysokim stopniu dostępności dla środowiska rozproszonych stanowisk roboczych, IEEE Transactions, wol. 39, nr 4, kwiecień 1990.
Praca rozproszona w systemie Coda realizuje się przez optymistyczne sterowanie replikowaniem danych. Sterowanie optymistyczne umożliwia wielu użytkownikom odczyt i zapis danych, nawet przy rozłączeniu. Niezgodności danych pozostawia się do późniejszego rozpoznania i rozwiązania. Pesymistyczne sterowanie replikami usuwa wszystkie konflikty przez ograniczenie wszystkich odczytów i zapisów do jednej partycji. Rozłączenie pozbawia użytkownika możliwości określania, czy inny użytkownik ma do danych dostęp. Przy pesymistycznym sterowaniu replikami, użytkownik byłby pozbawiony możliwości zapisywania. Jest to omówione w publikacji Praca w rozłączeniu w systemie zbiorów Coda, J. Kistler, M. Satyanarayanan, Carnegie Mellon University, Proceedings of the 13th ACM Symposium on Operating Systems Principles, October 1991.
Operacje rozproszone w systemie Coda umożliwiają użytkownikowi kontynuowanie dostępu i uaktualnianie danych przechowywanych w buforze użytkownika. Operacje na zbiorach nie mogą odbywać się tylko wtedy, kiedy użytkownik nie może uzyskać dostępu do danych z serwera. Systemy AFS i Coda buforują całe zbiory. System Coda uaktualnia zbiór podczas operacji rozłączenia i utrzymuje rejestr wszystkich zmian danych. Przy ponownym dołączeniu użytkownik jest odpowiedzialny za uaktualnienie wszystkich replik danych serwera przez wprowadzenie operacji zapisanych w rejestrze do zbiorów serwera. Niezgodności danych załatwiane są przy późniejszym rozpoznaniu przez interwencję manualną.
Główna wada systemu Coda polega na tym, że wspomagane jest tylko dołączenie do serwera w systemie Coda. System Coda, podobnie jak system AFS, realizuje protokół systemu zbiorów rozproszonych. W systemie Coda zakłada się, że serwer, jeden lub więcej, i wszyscy użytkownicy używają tego samego protokołu systemu zbiorów rozproszonych. Wymaga on, aby wszyscy użytkownicy i serwery w sieci w celu podtrzymywania operacji rozłączonych byli przestawieni na protokół Coda.
Drugie podejście jest przedstawione w publikacji Praca w rozłączeniu w przypadku AFS, L.B. Huston i P. Honeyman, Centrum integracji informacji technicznej uniwersytetu w Michigan (Center for Information Technology Integration, The University of Michigan), opublikowanej w Proceedings of the USENIX Mobile and Location-Independent Computing Symposium (Sympozium na temat przetwarzania w ruchu i przetwarzania uniezależnionego od umiejscowienia), Sierpień 1993. Autorzy Huston i Honeyman proponują system użytkownika nadający się do dołączenia do standardowego serwera systemu AFS bez modyfikacji serwera. Pracą przy rozłączeniu i ponownym dołączeniu wspomagają modyfikacje kodu użytkownika. Ponowne dołączenie i uzgodnienie odbywa się przez notowanie w rejestrze każdej transakcji podczas rozłączenia. Każdy odczyt, zapis lub uaktualnienie zostaje w rejestrze transakcji, który zostaje po ponownym dołączeniu przegrany na powrót do serwera. Ten sposób podejścia ma zaletę polegającą na współpracy ze standardowym serwerem sutemu AFS. Zależy on jednakże od obecności protokołu rozproszonego systemu zbiorów AFS i nie działa z serwerami innymi, niż serwer systemu AFS. Ogólne podejście z zastosowaniem rejestru zmniejsza również wydajność systemu. Rozmiar rejestru w systemach o dowolnych rozmiarach mógłby spowodować problemy z pojemnością dysku i opóźnienia uzgadniania.
Następnie w pracy Dostęp do zbiorów w Internecie: system zbiorów Jade, autor H. Rao i in., opublikowanej w IEEE Transactions on Softwawre Engineering, wol. 19, nr 6 z czerwca 1993, na str. 613-624, omówiono system zbiorów z buforowaniem do zastosowania w środowisku sieci LAN lub Internet. Autorzy proponują buforowanie całych zbiorów
176 975 lokalnego stanowiska roboczego lub lokacji wybranej przez użytkownika. System zbiorów Jade wymaga od osoby opracowującej aplikację zastosowania jednolitego interfejsu dla protokołów dostępu. Wym.aga to modyfikowania aplikacji lub, jak zaproponowano w tej pracy, wstawienia ogólnodostępnej biblioteki w celu zastąpienia typowych wywołań wywołaniami interfejsu jednolitego. System Jade wykorzystuje agentów systemu zbiorów w celu realizacji rzeczywistych żądań systemowych. System Jade nie daje możliwości prowadzenia pracy w rozłączeniu ani rejestrowania aktywności systemu zbiorów w celach synchronizacji po ponownym dołączeniu. System Jade nie zapewnia środków do przechwytywania standardowych wywołań systemowych i ich konwersji na symaktykę uniezależnioną od stosowanych separatorów, przed dostępem do bloku zarządzania pamięcią.
Z kolei w pracy O możliwości realizacji serwerów na bazie FTAM opracowany przez ISO dla implementacji niejednorodnego systemu zbiorów, autor A. Marshalla i in., opublikowanej w Computer Standards and Interfaces, wol. 14, nr 3,1992, str. 191-208, omówiono próbę podejścia do niejednorodnych systemów zbiorów na bazie modelu FTAM ISO. Autorzy krytykują obecne sposoby podejścia, na przykład Sun NFS, jako uzależnionych od sysl^emu operacyjnego. Proponowana przez autorów Marshalla i in. Wirtualna pamięć zbiorów (VFS) nie zapewnia dostępu do istniejących systemów zbiorów rozproszonych.
W artykule M. Satyanarayanana i in., O pełnym rejestrowaniu w systemach zbiorów rozproszonych, opublikowanym w Proceedings of the Workshop on Workstation Operating Systems, z 23 kwietnia 1992, str. 122-125, omówiono funkcje rejestracyjne w opisanym powyżej systemie CODA. Rejestrowanie w systemie Coda pozwala na odtworzenie transakcji podczas rozłączenia. Jak wspomniano powyżej, system CODA wymaga serwera z protokołem dostępu sysl^emu zbiorów rozproszonych. Rejestrowanie zatem bazuje na jednorodnym modelu serwera i nie realizuje modelu niejednorodnego.
Istotą sposobu skutecznego buforowania zbiorów w systemie zbiorów rozproszonych, według wynalazku, w którym system komputerowy użytkownikajest sterowany przez system operacyjny dla wykonywania żądania systemu operacyjnego obejmującego jedną z wielu operacji systemu zbiorów jako żądaną operację systemu zbiorów oraz obejmującego nazwę zbioru z systemu zbiorów rozproszonych, jest to, że po przyjęciu żądania systemu operacyjnego usuwa się z nazwy zbioru, zależnego od systemu operacyjnego, składnię separatora dla utworzenia odniesienia do obiektu systemu zbiorów, sprawdza się pamięć podręczną systemu zbiorów w układach pamięci systemu komputerowego użytkownika na obecność obiektu systemu zbiorów dla odniesienia do obiektu systemu zbiorów, przy czym obiekt systemu zbiorów zawiera informację zezwalającą na dostęp do zbioru w systemie zbiorów rozproszonych i na dostęp do danych potencjalnie zapamiętanych w lokalnej pamięci podręcznej dla tego zbioru w pamięci podręcznej systemu zbiorów, następnie wybiera się jeden z wielu potencjalnych protokołów systemu zbiorów rozproszonych i, jeżeli nie ma danych zapamiętanych w lokalnej pamięci podręcznej dla tego zbioru, a jest połączenie do systemu zbiorów rozproszonych,· żąda się danych tego zbioru oraz zapamiętuje się te dane jako dane zapamiętane z lokalnej pamięci podręcznej, po czym wykonuje się żądaną operację systemu zbiorów, jeżeli istnieją dane zapamiętane w lokalnej pamięci podręcznej dla tego zbioru.
Korzystnie, po wykryciu braku połączenia do systemu zbiorów rozproszonych określa się typ żądanej operacji sy.st^emu zbiorów wykonanej na tym zbiorze, tworzy się żądany obiekt zbioru rejestracji zgodnie z typem żądanej operacji sy.s^emu zbiorów, przywołuje się procedurę modyfikacji przetwarzania dla zapisu żądanego obiektu zbioru rejestracji oraz zapisuje się żądany obiekt zbioru rejestracji przez wykonanie przetwarzania optymalizującego zapis dla specyficznego typu żądanej operacji systemu zbiorów.
Korzystnie, następnie zapamiętuje się utworzone odniesienie do obiektu systemu zbiorów w pamięci podręcznej syi^l^emu zbiorów, tworzy się dla każdego składnika ścieżki dostępu nazwę zbioru i dla każdego bezpośredniego potomka tego składnika ścieżki dostępu dodatkowe odniesienia do obiektu systemu zbiorów, po czym zapamiętuje ' się dodatkowe odniesienia do obiektu systemu zbioróww pamięci podręcznej systemu zbiorów.
176 975
Rozwiązanie według wynalazku umożliwia kontynuowanie pracy przez odłączonych użytkowników ze skutecznym uzgadnianiem po ponownym dołączeniu. Umożliwia utworzenie sysl^emu zbiorów rozproszonych użytkownika nadającego się do wykorzystania z licznymi protokołami systemu zbiorów rozproszonych, przy uniezależnieniu od syi^l^emu syntaktyki systemu operacyjnego przy rozróżnianiu obiektów bądź ścieżek dostępu.
Sposób według wynalazku objaśniono w oparciu o przykład wykonania przedstawiony na rysunku, na którym fig. 1 przedstawia środowisko sieci rozproszonej, fig. 2 - schemat blokowy stanowiska roboczego, fig, 3 - znany system zbiorów rozproszonych w postaci schematu blokowego, fig, 4 - schemat blokowy odmiany wykonania stanowiska roboczego użytkownika, fig. 5 - strukturę ' bufora danych, fig. 6 - schemat bloku zarządzania pamięcią buforową, a fig. 7 - sieć działań z etapami kroków przetwarzania.
Na figurze 2 przedstawiono schemat blokowy typowej konfiguracji stanowiska roboczego użytkownika lub serwera. Stanowiska robocze użytkownika i serwera połączone są za pośrednictwem sieci pierścieniowej (token ring) lub sieci LAN Ethernet w sposób przedstawiony na fig. 1 W skład stanowisk roboczych dołączonych do sieci LAN mogą wchodzić przenośne stanowiska robocze, jak na przykład Cl, które może być odłączane od sieci LAN i użytkowane, niezależnie od sieci LAN. Możliwe jest stosowanie wielu innych konfiguracji sprzętowej stanowiska roboczego bądź typów sieci LAN.
Typowe stanowisko 200 użytkownika lub serwera zawiera procesor 210, pamięć systemową 214 oraz pamięć nieulotną 212, na przykład napęd z dyskiem twardym, dyskietką lub optyczne urządzenie pamięciowe. Procesor 210 akceptuje wejście z urządzeń wejścia/wyjścia, na przykład klawiatury 224 i urządzenia wskazującego 226 poprzez sterownik 218. System informację graficzną przedstawia operatorowi na wyświetlaczu 222 sterowanym przez sterownik graficzny 220. Stanowisko robocze dołączone jest do sieci przez adapter 216 interfejsu sieciowego.
Program komputerowy może być przechowywany w pamięci nieulotnej 212, włącznie z- zapisem na taśmie, dyskietce, bądź urządzeniu pamięci tylko do odczytu z płytą kompaktową (CD-ROM).
Działanie znanych systemów ze zbiorami rozproszonymi opisano w odniesieniu do figury 3. Na fig. 3 przedstawiono stanowisko robocze użytkownika 302 oraz stanowisko robocze serwera 304, połączone interfejsem sieciowym 306. Żądanie z procesu 308 użytkownika konkretnego zbioru lub informacji o zbiorze rezydującym w pamięci dyskowej 390 przetwarzane jest w sposób opisany w następnym akapicie, przy czym należy zwrócić uwagę, że zarówno użytkownik 302, jak i serwer 304 zostały przydzielone do przestrzeni adresowej 310, 314 użytkownika i rdzeniowej przestrzeni adresowej 312, 316. Interfejsem między aplikacją i rdzeniem, znanym jako interfejs programu aplikacyjnego, bądź API - application program interface, jest interfejs VFS/vnode API. Możliwe jest również oczywiście wykorzystywanie innych interfejsów. Interfejs VFS/node umożliwia istnienie systemów wirtualnych zbiorów wielokrotnych. System zbiorów rozproszonych przechodzi w system zbiorów wirtualnych dla stanowiska roboczego użytkownika.
Proces 308 użytkownika żąda zbioru z danymi w urządzeniu pamięciowym 390. Żądanie 320jest przechwytywane przez interfejs VFS i przepuszczane do użytkownika 322 syi^temu zbiorów rozproszonych, rezydującego w rdzeniowej przestrzeni adresowej 312 użytkownika. Użytkownik systemu zbiorów rozproszonych zarządza komunikacją z serwerem poprzez sieć. Żądanie przekazywane jest w komunikacie 326 do serwera 324 systemu zbiorów rzoproszonych w rdzeniu 316 serwera za pośrednictwem sieci 306. Serwer 324 systemu zbiorów rozproszonych uzyskuje dostęp do urządzenia pamięciowego 390 przez wykorzystanie interfejsu 328 VFS w celu dostępu do lokalnego systemu zbiorów fizycznych serwera, który zawiera urządzenie 390. Żądane dane zostają pobrane i przechodzą 330 z serwera 324 systemów zbiorów rozproszonych do użytkownika 322 systemu zbiorów rozproszonych, który z kolei przenosi te dane do wysyłającego żądanie procesu 308 użytkownika.
il<6975
Użytkownik. 322 systemu zbiorów rozproszonych może włączyć bufor danych do danych buforowanych żądanych z serwera. Użytkownik systemu zbiorów rozproszonych sprawdzi pamięć buforującą na ważność danych przed zażądaniem tych danych z serwera.
Na figurze 4 przedstawiono schemat blokowy odmiany wykonania stanowiska roboczego użytkownika. Stanowisko robocze użytkownika dysponuje przestrzenią adresową 402 użytkownika i rdzeniową przestrzenią adresową 404. Korzystne jest, jeżeli udoskonalony blok zarządzający 406 pamięcią buforową pracuje w przestrzeni adresowej 402 użytkownika, lecz może być wprowadzony w rdzeniowej przestrzeni adresowej 404.
Programy 408, 410, 412, użytkownika wysyłają systemowe żądania 414, 416, 418. Program n użytkownika przedstawiono jako wykorzystujący system 414 zbiorów logicznych, który z kolei wysyła żądania odpowiednie dla interfejsu VFS/vnoders. Rozwiązanie według wynalazku może być wykorzystywane z dowolnym systemem zbiorów logicznych zgodnym z interfejsem VFS/vnode API, bądź w innych odmianach wykonania, zgodnych z dowolnym innym interfejsem API.
Interfejs VFS kieruje żądania systemu zbiorów do' bloku 406 zarządzenia pamięcią buforową. Blok 406 zarządzenia pamięcią buforową utrzymuje informację lokalną o systemach zbiorów rozproszonych, do których miał dostęp użytkownik. Jeżeli to możliwe, żądania systemu zbiorów są obsługiwane przez blok zarządzenia pamięcią buforową bez dostępu do serwera. Żądania systemu zbiorów mogą być zaspokajane przez blok zarządzenia pamięcią buforową, jeżeli żądana informacja znajduje się w buforze pamięciowym i jest jeszcze ważna. Poniżej opisano dokładniej blok 406 zarządzenia pamięcią buforową.
Żądania systemu zbiorów zaspokajane są przez blok 406 zarządzenia pamięcią buforową albo za pomocą danych rezydujących w pamięci buforowej, albo przez dostęp do lokalnego systemu zbiorów logicznych, albo z wykorzystaniem bloku dostępu 422 do systemu zbiorów rozproszonych. Blok zarządzenia pamięcią buforową przechowuje lokalne kopie zbiorów rozproszonych w lokalnym systemie zbiorów fizycznych dla zapewnienia szybkiego dostępu. Blok 422 dostępu systemu zbiorów rozproszonych wydaje niezbędne rozkazy do serwera 324 systemu zbiorów rozproszonych, jak to omówiono powyżej. W korzystnym wykonaniu buforuje się całe zbiory.
Blok 406 zarządzenia pamięcią buforową i blok 422 dostępu systemu zbiorów rozproszonych są niezależne od systemu operacyjnego i protokołu dostępu systemu zbiorów rozproszonych. Niezależność od systemu operacyjnego osiąga się przez stosowanie zdefiniowanych interfejsów. Stosowane interfejsy obejmują: interfejs VFS+/Vnodes dla operacji systemowych na zbiorach; interfejs stały, jak na przykład proponowany przez stałą strukturę IBM (SOMobjects persistance framework); lokalny interfejs systemu zbiorów LSI dla zbiorów buforowanych; różne protokoły systemu zbiorów rozproszonych; buforowy interfejs synchronizacyjny oraz interfejs odtwarzania rejestru. Blok zarządzenia pamięcią buforową nie jest zależny od jakiejkolwiek syntaktyki systemu operacyjnego. Nazwy zbiorów transformuje się tak, aby były niezależne od znaków separacyjnych składników nazwy zbioru, i uwzględnia się warunek nie zawierania przez nie znaków i słów zarezerwowanych. Rozróżnienie nazw ścieżek dostępu również jest uniezależnione do syntaktyki systemu operacyjnego. Tak więc konkretny obiekt systemu zbiorów może być wskazany przez dwa systemy operacyjne ze sprzecznymi regułami syntaktycznymi. Na przykład, blok 406 zarządzenia pamięcią buforową może być zastosowany do pracy z systemem operacyjnym IBM OS/2® lub ^^y^temem operacyjnym IBM AIX® lub z dowolnym innym systemem operacyjnym, przy niewielkich tylko modyfikacjach.
Blok zarządzenia pamięcią buforową jest niezależny od protokołu systemu zbiorów rozproszonych. Blok 422 dostępu systemu zbiorów rozproszonych może mieć dostęp do zdalnych serwerów przy wykorzystaniu serwera albo serwera DCE albo oprogramowania IBM LAN Server. Przy niewielkich modyfikacjach można wykorzystywać inne protokoły zdalnego dostępu do zbiorów. Mechanizm synchronizacyjny i mechanizm odtwarzania zapisu rejestru służą do operowania zadaniami uzależnionymi od protokołu.
Blok 406 zarządzenia pamięcią buforową utrzymuje bufor 409 użytkownika. W połączeniu z buforem 409 blok zarządzenia pamięcią buforową przechowuje informację 410
176 975 o zawartości i rejestr 412 modyfikacji. Informacja 410 o zawartości zawiera informację o systemach zbiorów dostępnych dla stanowiska roboczego użytkownika za pośrednictwem bloku zarządzenia pamięcią buforową. W korzystnym wykonaniu zdalne systemy zbiorów dołączone są do użytkowników zawartością bloku. Każdy blok zawartości ma wejście do jego zawartości w informacyjnej bazie danych zwartości. Tak więc, zdalny system zbiorów będzie dołączony do stanowiska roboczego użytkownika albo przez system zbiorów typu Unix albo jako litera oznaczająca napęd DCE. Cała informacja o zdalnym systemie zbiorów i jego status ssą przechowywane w -informacyjnej bazie 410 danych o zawartości. Do jednego użytkownika może być równocześnie dołączonych kilka zdalnych systemów zbiorów.
Strukturę bufora 409 danych przedstawiono bardziej szczegółowo na figurze 5. Bufor 409 zaopatrzony jest w pojedynczy bufor dla nazwy ścieżki dostępu, danych obiektowych systemu zbiorów i informacji o statusie obiektu systemu zbiorów. Bufor utrzymywany jest w postaci stałej sterty, to znaczy jest periodycznie zapisywany do pamięci nieulotnej, z której może być odtworzony w razie zaniku zasilania lub błędu systemu. Pojedynczy scalony bufor zmniejsza ogólne zapotrzebowanie na pamięć buforową zwiększając sprawność buforowania. Ten pojedynczy bufor wymaga tylko jednej tablicy przewodniej zamiast trzech występujących w znanych systemach. Całe przetwarzanie buforowe może być wprowadzone w pojedynczym zestawie kodu, który mieści różne typy obiektów systemu zbiorów zamiast tradycyjnego mechanizmu oddzielnych kodów dla każdego typu bufora. Buforowany obiekt systemu zbiorów przedstawiono ogólnie jako 502. Obiekt 502 systemu zbiorów wykorzystywany jest przy pracy bloku zarządzenia pamięcią buforową zarówno w stanie dołączenia, jak i odłączenia.
Obiekt 502 systemu zbiorów stanowi strukturę danych zawierającą informację niezbędną dla dostępu do zdalnego zbioru lub buforowanej lokalnej kopii zbioru zdalnego. Pozycja obiektowa systemu zbiorów tworzona jest w buforze dla każdego zdalnego wywołania przez stanowisko robocze klienta zdalnego zbioru lub katalogu. Obiekt systemu zbiorów zawiera identyfikator 504 VFS+/vnode i identyfikator zbioru 506. Identyfikator 506 zbioru obejmuje blok zawartości, serwer i dane zbioru. Identyfikator 504 VFS+/vnode zawiera informację zdefiniowaną przez znormalizowany opis interfejsu VFS/Vnodes. Włączenie tej informacji umożliwia pełną współpracę z wszystkimi interfejsami VFS/Vnode. Zgodnie z wynalazkiem przyłącza się do struktury danych informację dodatkową dla umożliwienia rozszerzonego buforowania i pracy w rozłączeniu. Pozycja 508 dotycząca bloku masowego (zawartości) stanowi wskaźnik na pozycję 545 bloku w informacyjnej bazie 410 - danych początku, do której należy zbiór. Zmienna 510 stanu i struktura 512 stanu utrzymywane są w celu zapewnienia danych informacji o statusie bufora. W środowisku zorientowanym obiektowo struktura stanu jest wprowadzana z użyciem narzędzi, na przykład w języku programowania C+ + , jako klasa obiektów. Struktura stanu dla konkretnego systemu operacyjnego, na przykład OS/2 lub AIX, zdefiniowana jest przed utworzeniem subklasy w klasie struktur stanu. Subklasa powinna zastępować zawartość klasy struktur statusu dokładną zawartością niezbędną dla określenia statusu zbioru.
Obiekt systemu zbiorów zachowuje informację 514 o spójności buforowania. Informacja ta jest wykorzystywana do zapewnienia zgodności między buforem a serwerem i replikami w serwerze. Wykaz list kontrolnych dostępu (ACL) 516 określa zezwolenia na dostęp do systemu zbiorów i modyfikację zgodnie z normą POSIX® IEEE. Pozostała informacja flagowa przechowywana jest w pozycji 518. Wartość stanu złożenia jest przechowana w pozycji 520 jako wskaźnik 522 parzystości i informacja 524 o priorytetach. Każdy obiekt systemu zbiorów ma przydzielony priorytet, wykorzystywany przy określaniu, który obiekt należy-usunąć dla zrobienia miejsca dla obiektów nowych.
Dostęp do systemu zbiorów odbywa się za pośrednictwem wskaźnika 526 zbioru/katalogu/łącznika symbolicznego. Wskaźnik ten zapewnia dostęp do trzech różnych typów danych buforowanych zależnie od - typu obiektu systemu zbiorów. Obiekt systemu zbiorów w -przypadku zbioru danych będzie miał wskaźnik do zbuforowanego zbioru 540, który z kolei wskazuje na kopię lokalnego zbuforowanego zbioru danych w lokalnym systemie 420
176 975 zbiorów. Przy każdorazowym żądaniu informacji o katalogu, w przypadku dowolnego katalogu, zwracany jest ten katalog i wszystkie jego katalogi bezpośrednio potomne. Zmniejsza to ilość nietrafień przy buforowaniu ze względu na duże prawdopodobieństwo żądania informacji o jednym lub więcej potomkach katalogu bezpośrednio po żądaniu informacji z katalogu nadrzędnego. Bufor katalogów 542 zapewnia informację niezbędną do rozróżniania nazw, to znaczy odwzorowania żądania ścieżki dostępu do konkretnego zbioru danych. Na koniec, wskaźnik 526 może wskazywać na informację o buforowanym połączeniu symbolicznym 544. Ta informacja umożliwia rozróżnienie połączeń symbolicznych.
W pozycji 528 przewiduje się prowadzenie pozycji wejściowych dla różnych liczników, blokad i uchwytów oraz w pozycji 532 wskaźnika statusu kasowania. Wskaźnik 532 statusu kasowania jest ważny dla pracy w rozłączeniu i wykorzystywany jest do sygnabzacji statusu uzgodnienia.
Należy zauważyć, że nazwa obiektu systemu zbiorów nie włączona w strukturę 502. Umożliwia to bezkonfliktowe odwoływanie się do obiektu systemu zbiorów z różnych zestawów nazw obiektowych. Każdy obiekt systemu zbiorów może mieć wielokrotnych przodków. Każdy przodek może pasować do innej konwencji nazewniczej, na przykład zasad nazewnictwa grupy zarządzania obiektowego - Management Group (OMG), lub zasady według ΑΙΧ, OS/2 lub innego systemu operacyjnego. Tak więc konkretny zbiór empoyeejist może być dostępny z OS/2 jako c:\employee_list a z ΑΊΧ jako /usr/employee_list.
Blok 406 zarządzenia pamięcią buforową umożliwia zarówno pracę w połączeniu, jak i w warunkach odłączenia. Przy pracy w połączeniu blok 406 zarządzenia pamięcią buforową zaspokaja żądania systemu zbiorów dotyczące pamięci buforowej lub, w razie potrzeby, również dostęp do zbiorów zdalnych. Przy rozłączeniu, blok zarządzenia pamięcią buforową zaspokaja żądania dotyczące pamięci buforowej i prowadzi rejestr 546 modyfikacji dla wszystkich modyfikacji systemu zbiorów.
Na figurze 6 przedstawiono schemat bloku zarządzenia pamięcią buforową. Jest on przeznaczony do zastosowania z systemem operacyjnym IBM OS/2. Żądania systemu zbiorów generowane są przez system jako rozkazy doscalls 602. Wszystkie żądania systemu zbiorów obsługiwane są przez system 604 zbiorów IFS. System zbiorów może zawierać na przykład, system 606 zbioru FAT wspólny dla systemów DOS, bądź system 608 zbioru HPFS OS/2. W środowisku LAN, blok 610 żądań występuje jako inny system zbiorów, w którym w celu umożliwienia działania, następuje przepuszczanie dostępów do zbiorów do serwera LAN. Blok zarządzenia pamięcią buforową może być zestawiany jako inny typ systemu 612 zbiorów. Wszystkie dostępy zdalne systemu zbiorów przepuszczane są do bloku 612 zarządzenia pamięcią buforową. Blok zarządzenia pamięcią buforową sprawdza pamięć buforową 614 w przestrzeni adresowej użytkownika w celu określenia, czy żądana informacja była buforowana. Jeżeli tak, to informacja jest przekazywana do aplikacji, w razie potrzeby włącznie z udostępnieniem bądź modyfikacją zbuforowanych danych przechowywanych w lokalnym systemie zbiorów 606 lub 608. W razie nieznalezienia żądanie 615 jest przekazywane do bloku żądań 610 sieci LAN powodując jego dostęp do niezbędnych danych w serwerze LAN. Po nadejściu danych zdalnych, umieszczone zostają one w buforze, na wypadek przyszłych odwołań.
Na figurze 7 przedstawiono sieć działań przetwarzania w przypadku rozkazów zapisu do zbiorów. Inne rozkazy systemu zbiorów przetwarzane są podobnie. Rozkaz rozpoczyna się w etapie 702 wydaniem rozkazu zapisu zbioru w etapie 704. Blok zarządzenia pamięcią buforową dokonuje sprawdzenia w etapie 706 dla ustalenia, czy żądany zbiór znajduje się w pamięci buforowej. Jeżeli tak, to następuje aktualizacja w etapie 708 kopii zbioru w buforze. Następnie odbywa się sprawdzenie w etapie 710, czy blok zawartości jest aktualnie dołączony. Status dołączenia jest przechowywany w informacyjnej bazie 410 danych bloku zawartości. Jeżeb blok zawartości jest dołączony, to zmiana podlega propagacji wstecznej do serwera w etapie 712 i przetwarzanie się kończy w etapie 722. Jeżeli blok zawartości nie jest dołączony, to zmiana zostaje zapisana w etapie 714 w rejestrze modyfikacji i przetwarzanie się kończy w etapie 722.
176 975
Jeżeli żądanego zbioru nie ma w pamięci buforowej, to blok zarządzenia pamięcią buforową sprawdza w etapie 716 czy żądany blok zawartości jest dołączony, czy nie. Jeżeli jest dołączony, to następuje w etapie 718 żądanie zbioru z systemu zbiorów zdalnych, umieszczenie ich w pamięci buforowej i dalej przetwarzanie jest kontynuowane w etapie 708. Jeżeli blok zawartości nie jest dołączony, to następuje w etapie 720 zwrócenie do aplikacji sygnału błędu.
Notowanie modyfikacji (na przykład w etapie 714) w rejestrze 546 modyfikacji odbywa się przez rejestrację obiektów. Obszar problemowy reprezentowany jest przez klasę rejestracyjną modyfikacji użytkownika i oddzielną klasę dla każdego z innych typów rejestrowanych transakcji. Dla każdego typu operacji określany jest inny obiekt, na przykład może on występować dla zapisu zbioru, tworzenia zbioru, usuwania zbioru. Kiedy blok zarządzania pamięcią buforową w etapie 714 dokonuje rejestracji zmiany w trybie pracy z odłączeniem, to tworzony jest typ obiektu rejestrowanego odpowiadający żądanej operacji, na przykład zapisu zbioru. Wywołuje się metodę rejestracji odpowiednią do wprowadzania obiektu do rejestru. Metody rejestrowania obejmują metody kompresji i optymalizacji rejestru w celu jego ponownego odtworzenia. Notowanie w rejestrze konkretnego obiektu może powodować usunięcie obiektu uprzednio zarejestrowanego. Na przykład, kiedy zbiór jest tworzony i następnie usuwany, to obiekt dotyczący usunięcia zbioru spowoduje usunięcie pozycji rejestru dotyczącej tworzenia zbioru, pewną pozycję dotyczącą modyfikacji zbioru i następnie wyjście bez zamieszczenia w rejestrze pozycji odnoszącej się do usunięcia. To zapewnia, że synchronizacja bufora z systemem zbiorów zdalnych przy ponownym dołączeniu będzie przebiegała szybko i sprawnie. Informacja zawarta w zapisanych w rejestrze obiektach eliminuje konieczność przetwarzania lub kompresji rejestru przed odtworzeniem.
176 975
Fig.3
Stan techniki
176 975
ο ο
Fig.4
176 975
Lokalny system zbiorów
420
Fig.5
176 975
Serwer
Fig.6
176 975
(koniec)
722
Fig.7
176 975
NET
200
Ρ
210
NV
212
ΜΕΜ
214
l/O 218 GRAPH 220
' ·**
216
7ZL □□□□□□□□□□□□ □□□□□□□□□□□□ □□□□□□□□□□□□
224
f
222
)
FIG. 2
Departament Wydawnictw UP RP. Nakład 70 egz. Cena 4,00 zł.

Claims (3)

  1. Zastrzeżenia patentowe
    1. Sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych, w którym system komputerowy użytkownika jest sterowany przez system operacyjny dla wykonywania żądania systemu operacyjnego obejmującego jedną z wielu operacji systemu zbiorów jako żądaną operację systemu zbiorów oraz obejmującego nazwę zbioru z systemu zbiorów rozproszonych, znamienny tym, że po przyjęciu żądania systemu operacyjnego usuwa się z nazwy zbioru, zależnego od systemu operacyjnego, składnię separatora dla utworzenia odniesienia do obiektu systemu zbiorów, sprawdza się pamięć podręczną systemu zbiorów w układach pamięci systemu komputerowego użytkownika na obecność obiektu systemu zbiorów, przy czym obiekt systemu zbiorów zawiera informację zezwalającą na dostęp do zbioru w systemie zbiorów rozproszonych i na dostęp do danych potencjalnie zapamiętanych w lokalnej pamięci podręcznej dla tego zbioru w pamięci podręcznej systemu zbiorów, następnie wybiera się jeden z wielu potencjalnych protokołów systemu zbiorów rozproszonych i, jeżeli nie ma danych zapamiętanych w lokalnej pamięci podręcznej dla tego zbioru, a jest połączenie do systemu zbiorów rozproszonych, żąda się danych tego zbioru oraz zapamiętuje się te dane jako dane zapamiętane z lokalnej pamięci podręcznej, po czym wykonuje się żądaną operację systemu zbiorów, jeżeli istnieją dane zapamiętane w lokalnej pamięci podręcznej dla tego zbioru.
  2. 2. Sposób według zastrz. 1, znamienny tym, że po wykryciu braku połączenia do systemu zbiorów rozproszonych określa się typ żądanej operacji systemu zbiorów wykonanej na tym zbiorze, tworzy się żądany obiekt zbioru rejestracji zgodnie z typem żądanej operacji systemu zbiorów, przywołuje się procedurę modyfikacji przetwarzania dla zapisu żądanego obiektu zbioru rejestracji oraz zapisuje się żądany obiekt zbioru rejestracji przez wykonanie przetwarzania optymalizującego zapis dla specyficznego typu żądanej operacji systemu zbiorów.
  3. 3. Sposób według zastrz. 1 albo 2, znamienny tym, że zapamiętuje się utworzone odniesienie do obiektu systemu zbiorów w pamięci podręcznej systemu zbiorów, tworzy się dla każdego składnika ścieżki dostępu nazwę zbioru i dla każdego bezpośredniego potomka tego składnika ścieżki dostępu dodatkowe odniesienia do obiektu systemu zbiorów, po czym zapamiętuje się dodatkowe odniesienia do obiektu systemu zbiorów w pamięci podręcznej systemu zbiorów.
PL94316565A 1994-03-07 1994-12-27 Sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych PL176975B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/206,706 US6119151A (en) 1994-03-07 1994-03-07 System and method for efficient cache management in a distributed file system
PCT/EP1994/004316 WO1995024685A1 (en) 1994-03-07 1994-12-27 System and method for efficient caching in a distributed file system

Publications (2)

Publication Number Publication Date
PL316565A1 PL316565A1 (en) 1997-01-20
PL176975B1 true PL176975B1 (pl) 1999-08-31

Family

ID=22767588

Family Applications (1)

Application Number Title Priority Date Filing Date
PL94316565A PL176975B1 (pl) 1994-03-07 1994-12-27 Sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych

Country Status (14)

Country Link
US (1) US6119151A (pl)
EP (1) EP0749602B1 (pl)
JP (1) JP2705006B2 (pl)
KR (1) KR0170561B1 (pl)
CN (1) CN1132109C (pl)
AT (1) ATE177223T1 (pl)
BR (1) BR9500819A (pl)
CA (1) CA2142797C (pl)
CZ (1) CZ260296A3 (pl)
DE (1) DE69416875T2 (pl)
HU (1) HU219996B (pl)
PL (1) PL176975B1 (pl)
RU (1) RU2170454C2 (pl)
WO (1) WO1995024685A1 (pl)

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634122A (en) 1994-12-30 1997-05-27 International Business Machines Corporation System and method for multi-level token management for distributed file systems
US5774670A (en) 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
GB9604987D0 (en) * 1996-03-08 1996-05-08 Ibm Data management system and method for replicated data
US5832512A (en) * 1996-04-15 1998-11-03 Sun Microsystems, Inc. Apparatus and method for file number re-mapping for disconnected operations in a client-server network
US6125403A (en) * 1996-05-01 2000-09-26 Sun Microsystems, Inc. Method for implementing a non-volatile caching product for networks and CD-ROMS
US5806085A (en) * 1996-05-01 1998-09-08 Sun Microsystems, Inc. Method for non-volatile caching of network and CD-ROM file accesses using a cache directory, pointers, file name conversion, a local hard disk, and separate small database
US5740432A (en) * 1996-05-28 1998-04-14 Sun Microsystems, Inc. Log file optimization in a client/server computing system
US6625641B1 (en) * 1996-06-03 2003-09-23 Sun Microsystems, Inc. Method and apparatus for providing client support without installation of server software
US5826021A (en) * 1996-09-17 1998-10-20 Sun Microsystems, Inc. Disconnected write authorization in a client/server computing system
US5835698A (en) * 1996-09-20 1998-11-10 Novell, Inc. Unilaterally-controlled, time-insensitive, data-link recovery apparatus and method
US5893920A (en) * 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
US6678724B2 (en) * 1997-03-12 2004-01-13 Microsoft Corporation Common namespace for internet and local filesystem objects
CZ297034B6 (cs) * 1998-03-17 2006-08-16 Virtuální informacní systém
DE19817617C1 (de) * 1998-04-21 1999-09-09 Deutsche Telekom Mobil Verfahren zur Konvertierung baumstrukturierter Daten
US6757705B1 (en) * 1998-08-14 2004-06-29 Microsoft Corporation Method and system for client-side caching
US8225002B2 (en) * 1999-01-22 2012-07-17 Network Disk, Inc. Data storage and data sharing in a network of heterogeneous computers
CN1108578C (zh) * 1999-01-28 2003-05-14 国际商业机器公司 为离线客户请求提供响应的方法及装置
JP2000293424A (ja) * 1999-04-09 2000-10-20 Hitachi Ltd ネットワークキャッシュ装置およびキャッシュ制御方法
US7596563B1 (en) * 1999-10-28 2009-09-29 Hewlett-Packard Development Company, L.P. Computerized file system and method
US6792436B1 (en) * 2000-02-11 2004-09-14 Persistence Software, Inc. Method for synchronizing multiple software caches in a memory
EP1316012A2 (de) * 2000-02-24 2003-06-04 Siemens Aktiengesellschaft Verfahren und anordnung zur synchronisation eines auf einem ersten rechner ablaufenden programms mit einem auf einem server ablaufenden programm, computerlesbares speichermedium und computerprogramm-element
DE60122691T2 (de) * 2000-03-30 2007-10-04 Intel Corporation, Santa Clara Verfahren und vorrichtung zum verteilten cachen
US7185005B1 (en) * 2000-05-12 2007-02-27 Oracle International Corporation Nested transactions in a file system
US7389493B1 (en) 2000-05-12 2008-06-17 Oracle International Corporation Categories on a per instance basis
US7987217B2 (en) * 2000-05-12 2011-07-26 Oracle International Corporation Transaction-aware caching for document metadata
US7421541B2 (en) 2000-05-12 2008-09-02 Oracle International Corporation Version management of cached permissions metadata
US7203709B2 (en) 2000-05-12 2007-04-10 Oracle International Corporation Transaction-aware caching for access control metadata
US6728716B1 (en) * 2000-05-16 2004-04-27 International Business Machines Corporation Client-server filter computing system supporting relational database records and linked external files operable for distributed file system
US7127486B1 (en) 2000-07-24 2006-10-24 Vignette Corporation Method and system for facilitating marketing dialogues
US6842770B1 (en) * 2000-08-18 2005-01-11 Apple Computer, Inc. Method and system for seamlessly accessing remotely stored files
US6959438B2 (en) 2000-12-06 2005-10-25 Microsoft Corporation Interface and related methods for dynamically generating a filter graph in a development system
US6768499B2 (en) * 2000-12-06 2004-07-27 Microsoft Corporation Methods and systems for processing media content
US7114162B2 (en) 2000-12-06 2006-09-26 Microsoft Corporation System and methods for generating and managing filter strings in a filter graph
US6983466B2 (en) * 2000-12-06 2006-01-03 Microsoft Corporation Multimedia project processing systems and multimedia project processing matrix systems
US6882891B2 (en) 2000-12-06 2005-04-19 Microsoft Corporation Methods and systems for mixing digital audio signals
US6774919B2 (en) 2000-12-06 2004-08-10 Microsoft Corporation Interface and related methods for reducing source accesses in a development system
US7103677B2 (en) * 2000-12-06 2006-09-05 Microsoft Corporation Methods and systems for efficiently processing compressed and uncompressed media content
US7287226B2 (en) * 2000-12-06 2007-10-23 Microsoft Corporation Methods and systems for effecting video transitions represented by bitmaps
US7447754B2 (en) * 2000-12-06 2008-11-04 Microsoft Corporation Methods and systems for processing multi-media editing projects
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US8990334B2 (en) * 2001-04-26 2015-03-24 Nokia Corporation Rule-based caching for packet-based data transfer
US7743109B2 (en) * 2001-08-01 2010-06-22 Cisco Technology, Inc. Reducing round trips across a wide area network for resource locking by extended locking and delayed unlocking
US7139811B2 (en) * 2001-08-01 2006-11-21 Actona Technologies Ltd. Double-proxy remote data access system
US6662198B2 (en) 2001-08-30 2003-12-09 Zoteca Inc. Method and system for asynchronous transmission, backup, distribution of data and file sharing
US7062515B1 (en) 2001-12-28 2006-06-13 Vignette Corporation System and method for the synchronization of a file in a cache
US7409396B2 (en) * 2002-02-08 2008-08-05 Pitts William M Method for creating an extensible content distribution framework
US6922757B2 (en) * 2002-02-15 2005-07-26 Exanet Inc. Flexible and adaptive read and write storage system architecture
US6968345B1 (en) * 2002-02-27 2005-11-22 Network Appliance, Inc. Technique to enable support for symbolic link access by windows clients
GB2410657B (en) * 2002-05-29 2006-01-11 Flyingspark Ltd Methods and system for using caches
GB2412769B (en) * 2002-05-29 2006-09-13 Flyingspark Ltd Methods and systems for using caches
US7055132B2 (en) * 2002-06-28 2006-05-30 Microsoft Corporation System and method for associating properties with objects
US20040019640A1 (en) * 2002-07-25 2004-01-29 Bartram Linda Ruth System and method for distributing shared storage for collaboration across multiple devices
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7051174B2 (en) * 2002-09-24 2006-05-23 International Business Machines Corporation Method, system, and program for restoring data in cache
US20040068523A1 (en) * 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
US6970975B2 (en) * 2002-11-15 2005-11-29 Exanet Co. Method for efficient caching and enumerating objects in distributed storage systems
US7797392B2 (en) * 2002-11-26 2010-09-14 International Business Machines Corporation System and method for efficiently supporting multiple native network protocol implementations in a single system
CA2513503A1 (en) * 2003-01-17 2004-08-12 Tacit Networks, Inc. Method and system for use of storage caching with a distributed file system
US6981097B2 (en) * 2003-03-14 2005-12-27 Wisconsin Alumni Research Foundation Token based cache-coherence protocol
US7729919B2 (en) * 2003-07-03 2010-06-01 Microsoft Corporation Combining use of a stepwise markup language and an object oriented development tool
US7827216B1 (en) * 2003-07-23 2010-11-02 Novell, Inc. Method for coordinating relationships between multiple physical entities
US7512990B2 (en) * 2003-10-16 2009-03-31 International Business Machines Corporation Multiple simultaneous ACL formats on a filesystem
US8473634B2 (en) 2003-10-23 2013-06-25 Microsoft Corporation System and method for name resolution
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7590845B2 (en) * 2003-12-22 2009-09-15 Lenovo Singapore Pte. Ltd. Key cache management through multiple localities
US7716168B2 (en) * 2005-06-29 2010-05-11 Microsoft Corporation Modifying table definitions within a database application
US8135755B2 (en) * 2005-06-29 2012-03-13 Microsoft Corporation Templates in a schema editor
JP4020091B2 (ja) * 2004-03-10 2007-12-12 日本電気株式会社 データ送受信システム、データ送受信方法およびデータ送受信プログラム
JP2005267497A (ja) * 2004-03-22 2005-09-29 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置、その制御方法及び磁気ディスク記憶装置
US20050273486A1 (en) * 2004-06-03 2005-12-08 Keith Robert O Jr Virtual distributed file system
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) * 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7808906B2 (en) 2004-07-23 2010-10-05 Citrix Systems, Inc. Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements
CN101199187A (zh) 2004-07-23 2008-06-11 茨特里克斯系统公司 用于网络节点之间通信最优化的系统和方法
US7702730B2 (en) 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
US7584220B2 (en) * 2004-10-01 2009-09-01 Microsoft Corporation System and method for determining target failback and target priority for a distributed file system
US8429192B2 (en) * 2004-12-02 2013-04-23 International Business Machines Corporation System and method for supporting a plurality of access control list types for a file system in an operating system
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US7664788B2 (en) * 2005-01-10 2010-02-16 Microsoft Corporation Method and system for synchronizing cached files
US7593943B2 (en) * 2005-01-14 2009-09-22 Microsoft Corporation Method and system for synchronizing multiple user revisions to a shared object
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US7568220B2 (en) * 2005-04-19 2009-07-28 Cisco Technology, Inc. Connecting VPN users in a public network
US8984636B2 (en) * 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) * 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) * 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US20070028291A1 (en) 2005-07-29 2007-02-01 Bit 9, Inc. Parametric content control in a network security system
US20070038884A1 (en) * 2005-08-10 2007-02-15 Spare Backup, Inc. System and method of remote storage of data using client software
US7805602B1 (en) 2005-11-10 2010-09-28 Cisco Technology, Inc. Prioritized call admission control for internet key exchange
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7743026B2 (en) * 2006-01-31 2010-06-22 Microsoft Corporation Redirection to local copies of server-based files
US7814501B2 (en) * 2006-03-17 2010-10-12 Microsoft Corporation Application execution in a network based environment
US20080022392A1 (en) * 2006-07-05 2008-01-24 Cisco Technology, Inc. Resolution of attribute overlap on authentication, authorization, and accounting servers
US7571594B2 (en) * 2006-07-28 2009-08-11 Milliken & Company Composite yarn and process for producing the same
GB2442285A (en) * 2006-09-07 2008-04-02 Fujin Technology Plc A distributed file system
US9141627B2 (en) * 2006-09-26 2015-09-22 Sony Corporation Providing a user access to data files distributed in a plurality of different types of user devices
US7734733B1 (en) * 2007-06-15 2010-06-08 Packeteer, Inc. WAFS disconnected-mode read-write access
US8346966B1 (en) * 2007-07-19 2013-01-01 Blue Coat Systems, Inc. Transparent file system access for wide area network file system acceleration
US20090037915A1 (en) * 2007-07-31 2009-02-05 Rothman Michael A Staging block-based transactions
US8862689B2 (en) * 2007-10-24 2014-10-14 International Business Machines Corporation Local flash memory and remote server hybrid continuous data protection
US9135284B1 (en) 2008-03-13 2015-09-15 Blue Coat Systems, Inc. Composite execution of rename operations in wide area file systems
US9442850B1 (en) 2008-03-25 2016-09-13 Blue Coat Systems, Inc. Efficient directory refresh operations in wide area file systems
CN101334797B (zh) * 2008-08-04 2010-06-02 中兴通讯股份有限公司 一种分布式文件系统及其数据块一致性管理的方法
US8706878B1 (en) 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
US20100082546A1 (en) * 2008-09-30 2010-04-01 Microsoft Corporation Storage Tiers for Database Server System
RU2415471C2 (ru) * 2008-12-26 2011-03-27 ЗАО "Лаборатория Касперского" Способ добавления записей о модификации файлов
US8560639B2 (en) * 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
RU2415467C1 (ru) * 2009-08-20 2011-03-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Система и способ предварительного размещения памяти
US8495044B2 (en) * 2009-09-02 2013-07-23 Microsoft Corporation File system node updates
JP5444477B2 (ja) * 2009-12-16 2014-03-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) キャッシングのための方法、サーバ、コンピュータプログラム及びコンピュータプログラム製品
JP5483561B2 (ja) * 2010-02-25 2014-05-07 楽天株式会社 ストレージ装置、サーバ装置、ストレージシステム、データベース装置、データの提供方法、及び、プログラム
WO2012065265A1 (en) * 2010-11-16 2012-05-24 Rayan Zachariassen Endpoint caching for data storage systems
US9020992B1 (en) * 2010-12-09 2015-04-28 Symantec Corporation Systems and methods for facilitating file archiving
JP5661188B2 (ja) * 2011-04-08 2015-01-28 株式会社日立製作所 ファイルシステム及びデータ処理方法
US8756509B2 (en) * 2011-07-27 2014-06-17 International Business Machines Corporation Visually representing and managing access control of resources
KR101175505B1 (ko) * 2011-10-06 2012-08-20 한화에스앤씨주식회사 N?스크린 환경에서 네트워크 기반 파일 시스템을 이용한 사용자 데이터 저장환경 제공 시스템
CN102841931A (zh) * 2012-08-03 2012-12-26 中兴通讯股份有限公司 分布式文件系统的存储方法及装置
US9575974B2 (en) * 2013-10-23 2017-02-21 Netapp, Inc. Distributed file system gateway
US9507800B2 (en) 2013-10-23 2016-11-29 Netapp, Inc. Data management in distributed file systems
US9898520B2 (en) 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
JP6506050B2 (ja) * 2015-03-02 2019-04-24 株式会社メガチップス 端末電子機器
US9591489B2 (en) 2015-07-09 2017-03-07 International Business Machines Corporation Controlling application access to applications and resources via graphical representation and manipulation
US9946719B2 (en) 2015-07-27 2018-04-17 Sas Institute Inc. Distributed data set encryption and decryption
US9811524B2 (en) 2015-07-27 2017-11-07 Sas Institute Inc. Distributed data set storage and retrieval
RU2617631C2 (ru) * 2015-09-30 2017-04-25 Акционерное общество "Лаборатория Касперского" Способ обнаружения работы вредоносной программы, запущенной с клиента, на сервере
US10255180B2 (en) * 2015-12-11 2019-04-09 Netapp, Inc. Server-based persistence management in user space
US20170255569A1 (en) * 2016-03-01 2017-09-07 Qualcomm Incorporated Write-allocation for a cache based on execute permissions
US10209907B2 (en) * 2016-06-14 2019-02-19 Microsoft Technology Licensing, Llc Secure removal of sensitive data
CN106250547A (zh) * 2016-08-12 2016-12-21 福建中金在线信息科技有限公司 一种控制红包的方法以及系统
US10031853B2 (en) 2016-09-15 2018-07-24 International Business Machines Corporation Unified in-memory cache
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
WO2019138328A1 (en) 2018-01-09 2019-07-18 Hossein Asadi Reconfigurable caching
CN109634876A (zh) * 2018-12-11 2019-04-16 广东省新代通信与网络创新研究院 文件访问方法、装置及计算机可读存储介质
CN110489125B (zh) * 2019-07-29 2023-07-25 恩亿科(北京)数据科技有限公司 文件管理方法和计算机存储介质
KR20230034695A (ko) 2021-09-03 2023-03-10 삼성전자주식회사 전자장치 및 그 제어방법
CN115563075B (zh) * 2022-10-09 2023-05-30 电子科技大学 基于微内核的虚拟文件系统实现方法
CN115834713A (zh) * 2023-02-07 2023-03-21 北京大道云行科技有限公司 一种网络文件系统与分布式文件系统的交互方法及系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1304030A1 (ru) * 1985-06-19 1987-04-15 Войсковая Часть 25840 Устройство дл управлени доступом к пам ти от двух ЦВМ
GB2196764A (en) * 1986-10-30 1988-05-05 Apple Computer Hierarchical file system
JPS63142643A (ja) * 1986-12-05 1988-06-15 Hitachi Ltd 半導体装置
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5151989A (en) * 1987-02-13 1992-09-29 International Business Machines Corporation Directory cache management in a distributed data processing system
US5136692A (en) 1987-02-13 1992-08-04 International Business Machines Corporation Memory disk buffer manager
US4897781A (en) 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
JPS63204437A (ja) * 1987-02-13 1988-08-24 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン ロック・システム
EP0278314B1 (en) * 1987-02-13 1994-08-10 International Business Machines Corporation Single system image
US5175852A (en) 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
US5202971A (en) 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
EP0329779B1 (en) * 1987-09-04 1992-12-09 Digital Equipment Corporation Session control in network for digital data processing system which supports multiple transfer protocols
US4888681A (en) 1987-10-19 1989-12-19 International Business Machines Corporation Space management system for data files having shared access
US5077658A (en) 1987-10-19 1991-12-31 International Business Machines Corporation Data access system for a file access processor
US5253342A (en) 1989-01-18 1993-10-12 International Business Machines Corporation Intermachine communication services
JPH02217941A (ja) * 1989-02-20 1990-08-30 Canon Inc ネットワーク管理システム
US5210824A (en) * 1989-03-03 1993-05-11 Xerox Corporation Encoding-format-desensitized methods and means for interchanging electronic document as appearances
US5144659A (en) * 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5305440A (en) * 1989-05-15 1994-04-19 International Business Machines Corporation File extension by clients in a distributed data processing system
US5113519A (en) * 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5261051A (en) * 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
JP2871755B2 (ja) * 1989-11-17 1999-03-17 富士通株式会社 ダイナミック・ハッシュにおけるスプリット制御方法
JP2575543B2 (ja) * 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時アクセス管理方法
AU631749B2 (en) * 1990-09-14 1992-12-03 Digital Equipment Corporation System and method for communication between windowing environments
US5222242A (en) 1990-09-28 1993-06-22 International Business Machines Corp. System for locating a node containing a requested resource and for selectively verifying the presence of the resource at the node
EP0501613A3 (en) * 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
JP2636969B2 (ja) * 1991-03-04 1997-08-06 富士通株式会社 ファイルシステムの処理装置
US5227778A (en) 1991-04-05 1993-07-13 Digital Equipment Corporation Service name to network address translation in communications network
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
JPH05189291A (ja) * 1992-01-14 1993-07-30 Matsushita Electric Ind Co Ltd ネットワークファイルシステム管理装置
US5313638A (en) * 1992-03-24 1994-05-17 International Business Machines Corp. Method using semaphores for synchronizing communication between programs or processes resident in a computer system
US5287507A (en) * 1992-03-27 1994-02-15 Sun Microsystems, Inc. Method and apparatus for portable object handles that use local caches
US5434974A (en) 1992-03-30 1995-07-18 International Business Machines Corporation Name resolution for a multisystem network
JPH05334167A (ja) * 1992-05-28 1993-12-17 Matsushita Electric Ind Co Ltd ネットワークファイルシステム管理装置
US5235642A (en) 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments

Also Published As

Publication number Publication date
BR9500819A (pt) 1995-11-07
CA2142797C (en) 2005-04-12
EP0749602A1 (en) 1996-12-27
WO1995024685A1 (en) 1995-09-14
HU219996B (hu) 2001-10-28
JP2705006B2 (ja) 1998-01-26
KR950027577A (ko) 1995-10-18
EP0749602B1 (en) 1999-03-03
CZ260296A3 (en) 1997-12-17
JPH07262074A (ja) 1995-10-13
DE69416875T2 (de) 1999-10-07
ATE177223T1 (de) 1999-03-15
PL316565A1 (en) 1997-01-20
KR0170561B1 (ko) 1999-03-30
HU9602443D0 (en) 1996-11-28
HUT75264A (en) 1997-05-28
CA2142797A1 (en) 1995-09-08
RU2170454C2 (ru) 2001-07-10
CN1121216A (zh) 1996-04-24
DE69416875D1 (de) 1999-04-08
CN1132109C (zh) 2003-12-24
US6119151A (en) 2000-09-12

Similar Documents

Publication Publication Date Title
PL176975B1 (pl) Sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych
EP0605959B1 (en) Apparatus and methods for making a portion of a first name space available as a portion of a second name space
US5623666A (en) Distributed computing system
US6119118A (en) Method and system for extending file system metadata
JP5007350B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
JP3756949B2 (ja) ファイルシステムに記憶された情報に関する要求を処理する方法及び装置
US7185032B2 (en) Mechanism for replicating and maintaining files in a space-efficient manner
JP3516362B2 (ja) 共有データ処理装置及び共有データ処理システム
US5175852A (en) Distributed file access structure lock
US20010027457A1 (en) Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents
EP0887751A2 (en) Method and system for maintaining a global name space
JPH11506552A (ja) pipes及びfifosを用いてマルチプロセッサ・コンピュータ・システムのファイルをアクセスする方法
JPH058455B2 (pl)
Dechamboux et al. The Arias distributed shared memory: An overview
JP2830826B2 (ja) 分散ファイルの同期システムと方法
Chang et al. An approach to disconnected operation in an object-oriented database
JPH10320340A (ja) クライアントサーバシステムにおける、メッセージ制御方法ならびに装置、及び同方法がプログラムされ記録、伝播する記録媒体もしくは通信媒体
Skousen et al. Implementing a Very Large Single Address Space Across Multiple Nodes: Memory Partitioning, Protection Domain Migration, Kernel Replication, Consistency and Fault Tolerance
JP2002297430A (ja) トランザクション処理型データベースシステム

Legal Events

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

Effective date: 20041227