[go: up one dir, main page]

SE533007C2 - Distribuerad datalagring - Google Patents

Distribuerad datalagring

Info

Publication number
SE533007C2
SE533007C2 SE0802277A SE0802277A SE533007C2 SE 533007 C2 SE533007 C2 SE 533007C2 SE 0802277 A SE0802277 A SE 0802277A SE 0802277 A SE0802277 A SE 0802277A SE 533007 C2 SE533007 C2 SE 533007C2
Authority
SE
Sweden
Prior art keywords
data
storage
storage nodes
nodes
storage node
Prior art date
Application number
SE0802277A
Other languages
English (en)
Other versions
SE0802277A1 (sv
Inventor
Christian Melander
Stefan Bernbo
Gustav Petersson
Roger Persson
Original Assignee
Ilt Productions Ab
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 Ilt Productions Ab filed Critical Ilt Productions Ab
Priority to SE0802277A priority Critical patent/SE533007C2/sv
Priority to KR1020117011630A priority patent/KR101635238B1/ko
Priority to PCT/EP2009/063796 priority patent/WO2010046393A2/en
Priority to JP2011532619A priority patent/JP5553364B2/ja
Priority to AU2009306386A priority patent/AU2009306386B2/en
Priority to DK09740675.5T priority patent/DK2342663T3/da
Priority to ES09740675.5T priority patent/ES2538129T3/es
Priority to MX2011004240A priority patent/MX2011004240A/es
Priority to CN200980142022.9A priority patent/CN102301367B/zh
Priority to EP15153108.4A priority patent/EP2908257B1/en
Priority to US13/125,524 priority patent/US8688630B2/en
Priority to BRPI0914437A priority patent/BRPI0914437A2/pt
Priority to EP09740675.5A priority patent/EP2342663B1/en
Priority to EA201100545A priority patent/EA201100545A1/ru
Priority to CA2741477A priority patent/CA2741477C/en
Priority to EP19191885.3A priority patent/EP3617897B1/en
Publication of SE0802277A1 publication Critical patent/SE0802277A1/sv
Publication of SE533007C2 publication Critical patent/SE533007C2/sv
Priority to ZA2011/03754A priority patent/ZA201103754B/en
Priority to US13/170,735 priority patent/US9026559B2/en
Priority to US13/170,672 priority patent/US9329955B2/en
Priority to US14/169,699 priority patent/US9495432B2/en
Priority to US15/084,445 priority patent/US10650022B2/en
Priority to US16/410,688 priority patent/US11468088B2/en
Priority to US17/955,165 priority patent/US11907256B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

30 533 007 2 Med hjälp av en sådan metod kan varje lagringsnod vara aktiv med att underhålla data i hela systemet. I det fall att en lagringsnod faller bort kan dess data återskapas av andra noder i systemet, varför systemet kan anses vara självläkande. Övervakandet kan inkludera att avlyssna heartbeat-signaler från andra lagringsnoder i systemet. Ett tillstånd som implicerar behov av replikering kan i så fall vara en fallerande lagringsnod.
Nämnda data inkluderar filer, och ett tillstånd, som implicerar behov av replikeringar kan då vara endera av en filborttagning eller en filkonflikt.
En replikeringslista, som inkluderar filer i behov av replikering, kan underhållas och kan inkludera prioriteter.
Replikeringsprocessen kan vidare inkludera: mottagande av svar från de lagringsnoder som innehåller nämnda särskilda data, bestämning av huruvida nämnda särskilda data lagras i ett tillräckligt antal lagringsnoder, och, om så inte är fallet, val av åtminstone en ytterligare lagringsnod och sändning av nämnda särskilda data till denna lagringsnod. Vidare kan nämnda särskilda data på lagringsnoder, som innehåller föråldrade versioner därav, uppdateras.
Vidare kan replikeringsprocessen börja med att lagringsnoden försöker bli master, bland alla lagringsnoder i systemet, för den fil som ska replikeras. Övervakandet kan vidare innefatta övervakning av läsoperationer som utförs i datalagringssystemet.
Föreliggande beskrivning avser vidare en datalagringsnod för utförande av underhåll av data, vilken motsvarar metoden. Lagrlngsnoden innefattar då generellt medel för utförande av metodens steg.
Syftet uppnås även medelst en metod för skrivning av data till ett datalagringssystem av den inledningsvis nämnda typen, vilken metod åstadkommes i en server som kör en applikation som åtkommer data i datalagringssystemet. Metoden innefattar: sändning av en lP-multicast- lagringsförfrågan till ett flertal lagringsnoder, mottagning av ett flertal svar från en delmängd av nämnda lagringsnoder, varvid svaren inkluderar geografiska data avseende den geografiska positionen för varje lagringsnod, val av åtminstone två lagringsnoder i delmängden, på basis av nämnda svar, samt 10 15 20 25 30 533 00? 3 sändning av data och en dataidentifierare, som motsvarar nämnda data, till de valda lagringsnoderna.
Denna metod åstadkommer robust skrivning av data genom att geografisk diversitet åstadkommas på ett effektivt sätt.
Den geografiska positionen kan innefatta latitud och longitud för lagringsnoden i fråga, och svaren kan vidare inkludera systemlast och/eller systemàlder för lagringsnoden ifråga.
Nämnda lP-multicast-lagringsförfrågan kan inkludera en dataidentifierare, vilken identifierar de data som ska lagras.
Typiskt kan åtminstone tre noder väljas för lagring, och en lista med lagringsnoder, vilka framgångsrikt lagrar nämnda data, kan skickas till de valda lagringsnoderna.
Föreliggande beskrivning avser vidare en server, för utförande av skrivning av data, vilken motsvarar metoden. Servern innefattar då generellt medel för utförande av metodens steg.
Kort figurbeskrivning Fig 1 illustrerar ett distribuerat datalagringssystem.
Figs 2A -2C, och fig 3 illustrerar en dataläsningsprocess.
Figs 4A -4C, och fig 5 illustrerar en dataskrivningsprocess.
F ig 6 illustrerar schematiskt en situation där ett antal filer lagras hos ett antal datalagringsnoder.
F ig 7 illustrerar sändningen av heartbeat-signaler.
Fig 8 är en översikt av en dataunderhållsprocess.
Detaljerad beskrivning Föreliggande beskrivning avser ett distribuerat datalagringssystem, som innefattar ett flertal lagringsnoder. Strukturen hos systemet och det sammanhang i vilket det används är visat i fig 1.
En användares dator 1 åtkommer, via Internet 3, en applikation 5 som körs på en server 7. Användarsammanhanget, såsom det visas här, är således en vanlig client-server-konfiguration, vilken är i sig väl känd. Det skall 10 15 20 25 30 533 0D? 4 emellertid noteras att det datalagringssystem som kommer att visas även är användbart i andra konfigurationer. l det illustrerade fallet körs två applikationer 5, 9 på servern 7.
Naturligtvis kan detta antal applikationer vara ett annat. Varje applikation har ett APl (Application Programming interface) 11 som åstadkommer ett gränssnitt i förhållande till det distribuerade datalagringssystemet 13 och stödjer begäranden (requests), typiskt skriv- och läsbegäranden, från applikationer som körs på servern. Från applikationens synvinkel behöver inte läsande eller skrivande av information från/till datalagringssystemet 13 framstå såsom annorlunda än användning av vilken som helst annan typ av lagringslösning, exempelvis en filserver eller helt enkelt en hårddisk.
Varje API 11 kommunicerar med Iagringsnoder 15 i datalagrings- systemet 13, and lagringsnoderna kommunicerar med varandra. Dessa kommunikationer baseras på TCP (Transmission Control Protocol) och UDP (User Datagram Protocol). Dessa concept är väl kända för fackmannen och behöver inte förklaras vidare.
Det bör noteras att olika APl:er 11 på samma server 7 kan åtkomma olika uppsättningar Iagringsnoder 15. Det skall vidare noteras att det kan finnas mer än en server 7, som åtkommer varje lagringsnod 15. Detta påverkar emellertid inte det sätt på vilket lagringsnoderna fungerar, såsom kommer att beskrivas senare.
Det distribuerade datalagringssystemets komponenter är lagrings- noderna 15 och APl:erna 11 iden server 7 som åtkommer lagringsnoderna 15. Föreliggande beskrivning avser därför metoder som utförs i servern 7 och i lagringsnoderna 15. Dessa metoder kommer i första hand att implementeras såsom mjukvaror, som körs på server respektive lagringsnoderna och som tillsammans bestämmer hur datalagringssystemet kommer att fungera och vilka egenskaper det har.
Lagringsnoden 15 kan typiskt utföras såsom en filserver, vilken typiskt kan vara försedd med ett antal funktionella block . Lagringsnoden kan således innefatta ett lagringsmedium 17, vilket typiskt inbegriper ett antal hårddiskar, valbart konfigurerade såsom ett RAlD-(Redundant Array of 10 15 20 25 30 533 00? 5 lndependent Disk)-system. Även andra typer av lagringsmedia är emellertid tänkbara.
Lagringsnoden 15 kan vidare innefatta ett register 19, som innefattar listor av data-entitet/lagringsnod-relationer såsom en värdlista (host-list), vilken kommer att beskrivas senare.
Utöver värd-listan, innefattar varje lagringsnod vidare en nod-lista, som inkluderar IP-adresserna för alla lagringsnoder i dess uppsättning eller grupp av lagringsnoder. Antalet lagringsnoder i en grupp kan variera från ett fåtal till hundratals lagringsnoder. Nodlistan kan vidare ha ett versionsnummer.
Vidare kan lagringsnoden 15 inkludera ett replikeringsblock 21 och ett klusterövervakningsblock 23. Replikeringsblocket 21 innefattar ett lagrings- nod-API 25, och är konfigurerat att exekvera funktioner för identifiering av behovet av, och för utförande av, en replikeringsprocess, såsom kommer att beskrivas detaljerat senare. Lagringsnod-APl:et 25 i replikeringsblocket 21 kan innefatta kod som i stor utsträckning motsvarar koden i serverns 7 lagringsnod-API 11, eftersom replikeringsprocessen innefattar steg som i stor utsträckning motsvarar de steg som utförs av servern 7 under de läs- och skrivoperationer som kommer att beskrivas. Exempelvis motsvarar skriv- operationen som utförs under replikering l stor utsträckning skrivoperationen som utförs av servern 7. Klusterövervakningsblocket 23 är konfigurerat för utförande av övervakning av andra lagringsnoder i datalagringssystemet 13, såsom kommer att beskrivas mer detaljerat senare.
Det distribuerade datalagringssystemets lagringsnoder 15 kan anses befinna sig på samma hierarkiska nivå. Det finns inget behov av att utse någon master-lagringsnod, som är ansvarig för att upprätthålla ett register over lagrade dataentiteter och för övervakning av datakonflikter, etc. istället kan alla lagringsnoder 15 anses vara jämlika och kan tidvis utföra data- hanteringsoperationer vis-à-vis andra lagringsnoder i systemet. Denna jämlikhet tillförsäkrar att systemet är robust. l det fall att en lagringsnoci fallerar kommer andra noder I systemet att täcka upp för den fallerande noden och tillförsäkra tillförlitlig datalagring.
Systemets funktion kommer att beskrivas i följande ordning: läsning av data, skrivning av data och dataunderhåll. Även om dessa metoder fungerar 10 15 20 25 30 533 GCI? 6 bra tillsammans bör det noteras att de i princip kan utföras oberoende av varandra. Exempelvis ger datalagringsmetoden utmärkta egenskaper även om inte dataskrivningsmetoden används och vice versa.
Läsmetoden beskrivs nu med hänvisning till figurerna 2A-2C och 3, varav den senare är ett flödesschema som illustrerar metoden.
Läsningen, likaväl som andra funktioner i systemet, använder sig av multicast-kommunikation för att kommunicera samtidigt med ett flertal lagringsnoder. Med multicast eller lP-multicast avses här punkt-till-multipunkt- kommunikation som åstadkommes genom sändning av ett meddelande till en IP-adress som är reserverad för multicast-tillämpningar.
Exempelvis skickas ett meddelande, typiskt en begäran (request) till en sådan IP-adress (exempelvis 244.0.0.1), och ett antal mottagande servrar är registrerade såsom abonnenter för denna IP-adress. Var och en av mottagarna har sin egen lP-adress. När en switch i nätverket mottar meddelandet riktat till 244.0.0.1, vidarebefordrar switchen meddelandet till IP- adresserna för varje server som är registrerad såsom en abonnent.
I princip kan endast en server vara registrerad såsom abonnent för en multicast-adress, i vilket fall en punkt-till-punkt-kommunikation uppnås.
Emellertid anses i detta sammanhang en sådan kommunikation trots detta vara en multicast-kommunikation, eftersom en multicast-metod används.
Unicast-kommunikation används också och avser en kommunikation med en enda mottagare.
Med hänvisning till fig 2A och fig 3, innefattar metoden för inhämtning av data från ett datalagringssystem sändningen 31 av en multicast-förfrågan till ett flertal lagringsnoder 15. l det illustrerade fallet finns fem lagringsnoder som vardera har en IP-(Internet Protocol)-adress 192.168.1.1, 19216812, etc. Naturligtvis är antalet lagringsnoder bara ett exempel. Förfrågningen innefattar en dataidentifierare "2B9B4A97-76E5-499E-A21A6D7932DD7927", somexempelvis kan vara en UUlD (Universally Unique identifier), vilken är välkänd i sig.
Lagringsnoderna avsöker sig själva med avseende på data som överensstämmer med identifieraren. Om sådana data hittas sänder en lagringsnod ett svar, vilket mottas 33 av servern 7, jfr. fig 2B. Såsom visas 10 15 20 25 30 533 00? 7 kan svaret valbart innehålla ytterligare information utöver en indikation av att lagringsnoden har en kopia av relevanta data. Närmare bestämt kan svaret innehålla information från lagringsnodens register avseende andra lagrings- noder som innehåller nämnda data, information avseende vilken version av nämnda data som finns i lagringsnoden och information avseende vilken belastning lagringsnoden för närvarande är utsatt för.
På basis av svaren väljer 35 servern en eller flera lagringsnoder från vilka data skall inhämtas och sänder 37 en unicast-begäran om data till denna/dessa lagringsnoder, jfr. fig 2C.
Som svar på begäran om data sänder lagringsnoden/-noderna relevanta data med hjälp av unicast till servern, som mottar 39 nämnda data. l det illustrerade fallet väljs endast en lagringsnod. Även om detta är tillräckligt är det möjligt att välja mer än en lagringsnod i syfte att motta två upp- sättningar data, vilket möjliggör en konfliktkontroll (consistency check). Om överföringen av data misslyckas kan servern välja ännu en lagringsnod för inhämtning.
Valet av lagringsnoder kan baseras på en algoritm som tar hänsyn till åtskilliga faktorer i syfte att erhålla goda övergripande systemprestanda.
Typiskt väljs den lagringsnod som har den senaste versionen och den lägsta lasten, även om andra koncept är fullt tänkbara.
Valbart kan operationen fullbordas genom att servern sänder en lista till alla inblandade lagringsnoden vilken indikerar vilka noder som innehåller nämnda data och av vilken version. På basis av denna information kan lagringsnoderna själva underhålla data med den replikeringsprocess som kommer att beskrivas.
Figurerna 4A -4C och fig 5 illustrerar en dataskrivningsprocess för det distribuerade datalagringssystemet.
Med hänvisning till fig 4A och fig 5 innefattar metoden en server som sänder 41 en multicast-lagringsförfrågan till ett flertal lagringsnoder.
Lagringsförfrågan innefattar en identifierare och består i grunden av en fråga avseende huruvida mottagande lagringsnoder kan lagra denna fil. Valbart kan lagringsnoderna kontrollera i sina interna register huruvida de redan har en fil 10 15 20 25 30 533 DB? 8 med detta namn, och kan notifiera servern 7 vid den osannolika händelsen att så är fallet. så att servern kan döpa om filen. l vilket fall som helst kommer åtminstone en delmängd av lagrings- noderna att tillhandahålla svar via unicast-sändningar till servern 7. Typiskt svarar lagringsnoder med ett förutbestämt minsta ledigt diskutrymme på förfrågan. The servern 7 mottar 43 svaren, vilka inkluderar geografiska data avseende varje servers geografiska position. Exempelvis kan, såsom indikeras i fig 4B, nämnda geografiska data inkludera latitud, longitud och altitud för varje server. Andra typer av geografiska data kan också vara tänkbara, exempelvis postnummer eller liknande.
Utöver nämnda geografiska data kan ytterligare information tili- handahållas. som tjänar som indata till en lagringsnodvalprocess. l det visade exemplet tillhandahålles mängden fritt lagringsutrymme i varje lagringsnod, tillsammans med en indikation avseende lagringsnodens systemålder och den last som lagringsnoden för närvarande är utsatt för.
På basis av de mottagna svaren väljer 45 servern åtminstone två, i en typisk utföringsform tre, lagringsnoder i delmängden, för lagring av data. Valet av lagringsnoder utförs med hjälp av en algoritm som tar hänsyn till olika data. Selektionen utförs i syfte att åstadkomma något slags geografisk diversitet. Åtminstone bör det undvikas att endast filservrar i samma rack väljs såsom lagringsnoder. Typiskt kan en omfattande geografiskt diversitet åstadkommas även innefattande val av lagringsnoder på skiljda kontinenter.
Utöver den geografiska diversiteten kan andra parametrar inkluderas i valalgoritmen. Så länge en viss minimal geografisk diversitet åstadkommes kan ledigt lagringsutrymme, systemålder och nuvarande last också tas hänsyn till.
När lagringsnoden har valts skickas de data som ska lagras och en motsvarande dataidentifierare till varje nod, typiskt med hjälp av en unicast- sändning.
Valbart kan operationen avslutas med att varje lagringsnod, som framgångsrikt har utfört skrivoperationen, skickar en kvittenssignal till servern.
Servern skickar sedan en lista till alla lagringsnoder som är involverade, vilken indikerar vilka noder som framgångsrikt har skrivit nämnda data och 10 15 20 25 30 533 0D? 9 vilka som inte har gjort det. På basis av denna information kan lagrings- noderna själva underhålla nämnda data på ett korrekt sätt med hjälp av replikeringsprocessen som kommer att beskrivas. Om till exempel en lagringsnods skrivning misslyckats, finns ett behov av att replikera filen till en ytterligare lagringsnod i syfte att uppnå det önskade antalet lagringsnoder för den filen.
Dataskrivningsmetoden, i sig, tillåter att ett API i en server 7 lagrar data på ett mycket robust sätt, eftersom utmärkt geografisk diversitet kan åstad- kommas.
Utöver skrivnings- och läsningsoperationerna kan APl:et i servern 7 utföra operationer som raderar filer och uppdaterar filer. Dessa processer kommer att beskrivas i samband med dataunderhàllsprocessen som beskrivs _ nedan.
Syftet med dataunderhàllsprocessen är att tillförsäkra att ett rimligt antal icke-fallerande lagringsnoder vardera lagrar den senaste versionen av varje fil. Vidare kan den tillhandahålla funktionen att inga raderade filer lagras vid någon lagringsnod. Underhållet utförs av lagringsnoderna själva. Det finns således inget behov av någon utsedd "master", som tar ansvar för underhållet av datalagringen. Detta tillförsäkrar förbättrad tillförlitlighet, eftersom mastern själv annars skulle vara en svag punkt i systemet.
F ig 6 illustrerar schematiskt en situation där ett antal filer är lagrade bland ett antal datalagringsnoder. l det illustrerade fallet visas, såsom ett exempel, tolv noder, som har löpande numrerade IP-adresser från 19216811 till 192.168.1.12. Självklart behöver emellertid lP-adresserna inte alls vara i samma intervall. Varje nod lagrar en eller två filer, som för enkel- hets skull identifieras med bokstäverna A-F.
Med hänvisning till fig 8, innefattar metoden för underhåll av data detekteringen 51 av tillstånd i datalagringssystemet, vilka implicerar behovet av replikering av data mellan noderna i datalagringssystemet, samt en replikeringsprocess 53. Resultatet av detekteringsprocessen 51 är en lista 55 av filer för vilka behovet av replikering har identifierats. Listan kan vidare inkludera data avseende prioritetsordningen för olika replikeringsbehov. På basis av denna lista utförs replikeringsprocessen 53. 10 15 20 25 30 533 00? 10 Robustheten hos den distribuerade lagringen bygger på att ett rimligt antal kopior av varje fil, korrekta versioner, är lagrade i systemet. l det illustrerade fallet lagras tre kopior av varje fil. Om emellertid exempelvis lagringsnoden med adressen 19216815 skulle fallera, skulle det önskade antalet lagrade filer för "B" och "C" understigas.
En händelse som resulterar i behovet av replikering är därför att en lagringsnod i systemet slutar fungera.
Varje lagringsnod i systemet kan övervaka statusen hos andra lagringsnoder i systemet. Detta kan göras genom att låta varje lagringsnod avge en så kallad heartbeat-signal vid jämna mellanrum, såsom visas i fig 7. l det illustrerade fallet avger lagringsnoden med adress 192.168.1.7 en multicast-signal 57 till andra lagringsnoder i systemet, vilket indikerar att den fungerar korrekt. Denna signal kan mottas av alla andra fungerade lagringsnoder i systemet som utför heartbeat-övervakning 59 (cf. fig 8), eller en del av dessa. l fallet med lagringsnoden med adress 192.168.1.5 fallerar emellertid denna nod och den avger ingen heartbeat-signal. Således kommer de andra lagringsnoderna att upptäcka att ingen heartbeat-signal har avgetts av denna nod under en lång tid, vilket indikerar att lagringsnoden i fråga är nedkopplad.
Heartbeat-signalen kan, utöver lagringsnodens adress, innefatta dess nodlistversionsnummer. En annan lagringsnod, som lyssnar till heartbeat- signalen och finner att den sändande lagringsnoden har en senare version av nodlistan, kan då begära att den sändande lagringsnoden sänder sin nodlista.
Detta innebär att tilläggande eller borttagande av lagringsnoder kan åstad- kommas helt enkelt genom tilläggande eller borttagande av en lagringsnod och sändning av en ny nodlisteversion till en enda lagringsnod. Denna lagringsnod kommer sedan att spridas till alla andra lagringsnoder i systemet. Återigen med hänvisning till fig 8, söker 61 varje lagringsnod i sitt interna register efter filer som är lagrade iden fallerande lagringsnoden.
Lagringsnoder, vilka själva lagrar filerna "B" och "C" kommer att hitta den fallerande lagringsnoden och kan därför lägga till motsvarande fil på sina listor 55. 10 15 20 25 30 533 DD? 11 Detekteringsprocessen kan emelleitid även upptäcka andra tillstånd som implicerar behovet av replikering av en fil. Typiskt kan ett sådant tillstånd vara en konflikt, dvs att en eller flera lagringsnoder har en obsolet version av filen. En borttagningsoperation ger även den en replikeringsprocess, eftersom denna process kan utföra den effektiva fysiska boittagnlngen av filen.
Serverns borttagningsoperation behöver då endast tillförsäkra att lagrings- noderna sätter en borttagningsflagga för filen ifråga. Varje nod kan därför övervaka läs- och skrivoperationer som utförs i datalagringssystemet. information som tillhandahålles av servern 7 vid avslutandet av läs- respektive skrivoperationer kan indikera att en lagringsnod innehåller en obsolet version av en fil (i fallet med en läsoperation) eller att en lagringsnod inte framgångsrikt har fullföljt en skrivoperatlon. l båda fallen finns ett behov av dataunderhàll genom replikering. så att de övergripande syftena med underhållsprocessen uppfylls.
Utöver de grundläggande läs- och skrivoperationerna 63, 65, kan åtminstone två ytterligare processer tillhandahålla indikationer på att ett behov av replikering föreligger, nämligen borttagnings- 67 och uppdaterings- processerna, vilka nu kommer att ges en kort beskrivning. j Borttagningsprocessen initieras av servern 7 (jfr. fig 1). l likhet med vid läsprocessen skickar servern en förfrågan med hjälp av multicasting till alla lagringsnoder, i syfte att ta reda på vilka lagringsnoder som har data med en särskild dataidentifierare. Lagringsnoderna avsöker sig själva efter data med den relevant identifieraren, och svarar med en unicast-sändning om de har ifrågavarande data. Svaret kan inkludera en lista, från lagringsnodens register, på andra lagringsnoder som har nämnda data. Servern 7 skickar sedan en unicast-begäran, till de lagringsnoder som antas lagra filen, att filen skall raderas. Varje lagringsnod sätter en flagga med avseende på filen och indikerar att den skall raderas. Filen läggs sedan till replikeringslistan, och en bekräftelse skickas till servern. Replikeringsprocessen raderar därefter filen fysiskt, såsom kommer att beskrivas.
Uppdateringsprocessen har en sökfunktion, liknande borttagnings- processen, och en skrivfunktion, liknande den som utförs i skrivprocessen.
Servern skickar en förfrågan med hjälp av multicasting till alla lagringsnoder, i 10 15 20 25 30 533 DD? 12 syfte att ta reda på vilka lagringsnoder som har data med en särskild dataidentifierare. Lagringsnoderna avsöker sig själva efter data med den relevant identifieraren, och svarar med en unicast-sändning om de har ifrågavarande data. Svaret kan inkludera en lista, från lagringsnodens register, över andra lagringsnoder som innehåller nämnda data. Servern 7 skickar sedan en unicast-begäran, som beordrar lagringsnoderna att uppdatera nämnda data. Begäran innehåller förstås nämnda uppdaterade data. Lagringsnoderna uppdaterar nämnda data och skickar en kvittens till server, vilken svarar genom att skicka en unicast-sändning som innehåller en lista över lagringsnoderna som framgångsrikt har uppdaterat nämnda data, samt lagringsnoder som inte gjort det. Återigen kan denna lista användas av underhållsprocessen. Återigen med hänvisning till fig 8 kan läs- 63, skriv- 65, borttagnings- 67, och uppdateringsoperationerna 69 alla indikera att ett behov av replikering föreligger. Detsamma gäller för heartbeat-övervakningen 59. Den övergripande detekteringsprocessen 51 genererar således data avseende vilka filer som behöver replikering. Exempelvis kan en läs- eller uppdaterings- operation påvisa att en särskild lagringsnod innehåller en obsolet version av en fil. En borttagningsprocess kan sätta en borttagningsflagga för en särskild fil. Heartbeat-övervakningen kan påvisa att ett antal filer, vilka lagras på en fallerande lagringsnod, behöver replikeras till en ny lagringsnod.
Varje lagringsnod övervakar behovet av replikering av de filer den lagrar och upprätthåller en replikeringslista 55. Replikeringslistan 55 inne- håller således ett antal filer som behöver replikeras. Filerna kan ordnas i motsvarighet till prioriteten för varje replikering. Typiskt kan det finnas tre olika prioritetsnivåer. Den högsta nivån reserveras för filer som lagringsnoden har den sista online-kopian av. En sådan fil behöver snabbt replikeras till andra lagringsnoder, så att en rimlig redundansnivå kan uppnås. En mellannivå för prioriteten kan avse filer där versionerna inte överensstämmer bland lagringsnoderna. En lägre nivå för prioriteten kan avse filer som lagras på en fallerande lagringsnod. ' Lagringsnoden hanterar filerna på replikeringslistan 55 i enlighet med dessas prioritetsnivåer. Replikeringsprocessen beskrivs nu för en lagringsnod 10 15 20 25 30 533 00? 13 som här kallas den opererande lagringsnoden, även om alla lagringsnoder kan fungera på detta sätt.
Replikeringsdelen 53 av underhållsprocessen börjar med att den opererande lagringsnoden försöker 71 bli "master" för den fil den försöker replikera. Den opererande lagringsnoden sänder en unicast-begäran om att bli master till de andra lagringsnoder som är kända för att lagra filen i fråga.
Registret 19 (jfr. fig 1) tillhandahåller en värdlista innefattande information avseende vilka lagringsnoder som skall tillfrågas. l händelse av, exempelvis i fallet med en kolliderande begäran, att en av lagringsnoderna inte svarar jakande, flyttas filen tillbaka till listan för ögonblicket, och ett försök görs istället med nästa fil på listan. Annars anses den opererande lagringsnoden vara "master" för denna fil och de andra lagringsnoderna sätter en flagga som indikerar att den opererande lagringsnoden är "master" för filen i fråga.
Nästa steg är att hitta 73 alla kopior av filen i fråga i det distribuerade lagringssystemet. Detta kan göras genom att den opererande lagringsnoden skickar en multicast-förfrågan till alla lagringsnoder och frågar vilka av dem som har filen. Lagringsnoderna som har filen skickar svar på förfrågan, vilket svar innehåller såväl den version av filen de_har som deras värdlistor, dvs listan av lagringsnoder som har den relevanta filen och som lagras i varje lagringsnods register. Dessa värdlistor slås därefter samman 75 av den opererande lagringsnoden, så att en "master"-värdlista skapas, vilken motsvarar unionen av alla inhämtade värdlistor. Om ytterligare lagringsnoder påträffas, vilka inte blev tillfrågade när den opererande lagringsnoden gjorde försöket att bli master, kan detta steg nu återupprepas för de ytterligare lagringsnoderna. Nämnda master-värdlista innehåller information avseende vilka versioner av filen som olika lagringsnoder har och ger en bild av filens status över hela lagringssystemet.
Om den opererande lagringsnoden inte har den senaste versionen av filen i fråga, inhämtas 77 denna fil från en av de lagringsnoder som har den senaste versionen.
Den opererande lagringsnoden avgör 79 därefter huruvida värdlistan behöver ändras, typiskt om ytterligare lagringsnoder bör tilläggas. Om så är fallet kan den opererande lagringsnoden utföra en process som i mycket 10 15 20 25 30 533 007 14 liknar skrivprocessen såsom den utförs av servern och såsom beskrivs i samband med figurerna 4A-4C, och 5. Resultatet av denna process är att filen skrivs till en ny lagringsnod. l fallet med versionskonflikter kan den opererande lagringsnoden uppdatera 81 kopior av filen som lagras på andra lagringsnoder, så att alla lagrade filer har korrekt version. Överflödiga kopior av den lagrade filen kan borttas 83. Om replikeringsprocessen initieras av en borttagningsoperation kan processen hoppa direkt till detta steg. Därefter, så snart alla lagringsnoder har accepterat borttagning av filen begär helt enkelt den opererande lagrings- noden, genom att använda unicast, att alla lagringsnoder fysiskt raderar filen i fråga. Lagringsnoderna bekräftar att filen raderats.
Vidare uppdateras statusen, dvs filens master-värdlista. Därefter är det valbart möjligt att återupprepa stegen 73-83 för att tillförsäkra att behovet av replikering inte längre föreligger. Denna repetering kommer att resultera i en ensartad master-värdlista som inte behöver uppdateras i steg 85.
Därefter avslutas replikeringsprocessen för denna fil och den opererande lagringsnoden kan släppa 87 statusen såsom filens master genom att sända ett motsvarande meddelande till alla andra lagringsnoder på värdlistan.
Detta system. där varje lagringsnod tar ansvar för underhåll av alla filer den lagrar över hela uppsättningen lagringsnoder åstadkommer ett själv- reparerande (i fallet med en fallerande lagringsnod), självrensande (i fallet med filkonflikter eller filer som skall tas bort) system med utmärkt tillförlitlighet.
Det är enkelt skalbart och kan lagra filer för ett stort antal applikationer samtidigt.
Uppfinningen är inte begränsad till de särskilda visade exemplen och kan varieras och ändras på olika sätt inom omfånget för de bilagda patent- kraven.

Claims (18)

10 15 20 25 30 533 00? 1 5 PATENTKRAV
1. Metod för underhåll av data i ett datalagringssystem, vilket innefattar ett flertal datalagringsnoder, varvid metoden används i en lagringsnod i datalagringssystemet och innefattar: -övervakning av statusen (59) hos andra lagringsnoder i systemet såväl som skrivoperationer (65, 67, 69) som utförs i datalagringssystemet; -detektering (51), på basis av övervakandet, av tillstånd i datalagringssystemet som implicerar behovet av replikering av data mellan noderna i datalagringssystemet; och -initiering av en replikeringsprocess (53) i det fall att ett sådant tillstånd detekteras, varvid replikeringsprocessen inkluderar sändning av ett iP- multicast-meddelande till ett flertal lagringsnoder, vilket meddelande frågar vilka av dessa lagringsnoder som lagrar särskilda data.
2. Metod enligt krav 1, varvid övervakandet innefattar lyssnandet (59) till heartbeat-signaler från andra lagringsnoderi systemet, och varvid ett tillstånd som implicerar behovet av replikering är en fallerande lagringsnod.
3. Metod enligt krav 1 eller 2, varvid nämnda data inkluderar filer och ett tillstånd är endera av en filborttagning och en filkonflikt.
4. Metod enligt något av föregående krav, varvid en replikeringslista, som innefattar filer i behov av replikering, underhållas.
5. Metod enligt krav 4, varvid replikeringslistan inkluderar prioriteter.
6. Metod enligt något av föregående krav, varvid replikeringsprocessen vidare inkluderar: -mottagning av svar från de lagringsnoder som innehåller nämnda särskilda data; -bestämning av huruvida nämnda särskilda data lagras på ett tillräckligt antal lagringsnoder; och -om så inte är fallet, val av åtminstone en ytterligare lagringsnod och sändning av nämnda särskilda data till denna lagringsnod.
7. Metod enligt krav 6, vidare innefattande uppdatering av nämnda särskilda data på lagringsnoder som innehåller obsoleta versioner därav. 10 15 20 25 30 533 DO? 16
8. Metod enligt krav 6 eller 7, varvid replikeringsprocessen inleds med att lagringsnoden försöker bli master för filen som ska replikeras, bland alla lagringsnoder i systemet.
9. Metod enligt något av föregående krav, varvid övervakandet vidare inkluderar övervakning av läsoperationer (63) som utförs idatalagrings- systemet.
10. Datalagringsnod för underhåll av data i ett datalagringssystem. som innefattar ett flertal datalagringsnoder, vilken datalagringsnod innefattar: -medel för övervakning av statusen hos andra lagringsnoder i systemet såväl som skrivoperationer som utförs i datalagringssystemet; - medel för detektering, på basis av övervakandet, tillstånd i datalagringssystemet, vilka implicerar behovet av replikering av data mellan noderna idatalagringssystemet; och -medel för initlering av en replikeringsprocess ifall ett sådant tillstånd detekteras, varvid replikeringsprocessen inkluderar sändning av ett lP- multioast-meddelande till ett flertal lagringsnoder, vilket meddelande frågar vilka av dessa lagringsnoder som lagrar särskilda data.
11. Metod för skrivning av data till ett datalagringssystem, vilket innefattar ett flertal datalagringsnoder, vilken metod används i en server, som kör en applikation, vilken åtkommer data i datalagringssystemet, och innefattar: -sändning (41) av en lP-multicast-lagringsförfrågan till ett flertal bland lagringsnoderna; -mottagning (43) av ett flertal svar från en delmängd bland nämnda lagringsnoder, varvid svaren inkluderar geografiska data avseende varje lagringsnods geografiska position; -val (45) av åtminstone två lagringsnoder l delmängden, på basis av nämnda svar; och -sändning (47) av data och en dataidentifierare, motsvarande dessa data, till de valda lagringsnoderna.
12. Metod enligt krav 11, varvid den geografiska positionen inkluderar latituden och longituden för lagringsnoden i fråga. 10 15 20 533 00? 17
13. Metod enligt krav 12, varvid svaren vidare inkluderar systemåldern för lagringsnoden i fråga.
14. Metod enligt krav 12 eller 13, varvid svaren vidare inkluderar systemlasten för lagringsnoden i fråga.
15. Metod enligt något av krav 12-14, varvid nämnda lP-multicast- lagringsförfrågan inkluderar en dataidentifierare, som identifierar nämnda data som ska lagras.
16. Metod enligt något av krav 12-15, varvid åtminstone tre noder väljs.
17. Metod enligt något av krav 12-16, varvid en lista med lagringsnoder, vilka framgångsrikt lagrat nämnda data, skickas till de valda lagringsnoderna.
18. Server, anordnad för skrivning av data till ett datalagringssystem och innefattande ett flertal datalagringsnoder, vilken server innefattar: -medel för sändning av en lP-multicast-lagringsförfrågan till ett flertal bland nämnda lagringsnoder; -medel för mottagning av ett flertal svar från en delmängd bland nämnda lagringsnoder, varvid svaren inkluderar geografiska data avseende varje lagringsnods geografiska position; -medel för val av åtminstone två lagringsnoder i delmängden på basis av nämnda svar; och -medel för sändning av data och en dataidentifierare, som motsvarar dessa data, till den valda lagringsnoden.
SE0802277A 2008-10-24 2008-10-24 Distribuerad datalagring SE533007C2 (sv)

Priority Applications (23)

Application Number Priority Date Filing Date Title
SE0802277A SE533007C2 (sv) 2008-10-24 2008-10-24 Distribuerad datalagring
EP09740675.5A EP2342663B1 (en) 2008-10-24 2009-10-21 Distributed data storage
BRPI0914437A BRPI0914437A2 (pt) 2008-10-24 2009-10-21 "método para a manutenção de dados em um sistema de armazenamento de dados compreendendo uma pluralidade de nós de armazenamento de dados, nó de armazenamento de dados para a manutenção de dados em um sistema de armazenamento de dados, método para a gravação de dados em um sistema de armazenamento de dados e servidor adaptado para a gravação dados em um sistema de armazenamento de dados"
JP2011532619A JP5553364B2 (ja) 2008-10-24 2009-10-21 分散データストレージ
AU2009306386A AU2009306386B2 (en) 2008-10-24 2009-10-21 Distributed data storage
DK09740675.5T DK2342663T3 (da) 2008-10-24 2009-10-21 Distribueret datalagring
ES09740675.5T ES2538129T3 (es) 2008-10-24 2009-10-21 Almacenamiento de datos distribuido
PCT/EP2009/063796 WO2010046393A2 (en) 2008-10-24 2009-10-21 Distributed data storage
CN200980142022.9A CN102301367B (zh) 2008-10-24 2009-10-21 分布式数据存储
EP15153108.4A EP2908257B1 (en) 2008-10-24 2009-10-21 Distributed data storage
US13/125,524 US8688630B2 (en) 2008-10-24 2009-10-21 Distributed data storage
KR1020117011630A KR101635238B1 (ko) 2008-10-24 2009-10-21 분산형 데이터 스토리지
MX2011004240A MX2011004240A (es) 2008-10-24 2009-10-21 Almacenamiento distribuido de datos.
EA201100545A EA201100545A1 (ru) 2008-10-24 2009-10-21 Распределенное хранение данных
CA2741477A CA2741477C (en) 2008-10-24 2009-10-21 Distributed data storage
EP19191885.3A EP3617897B1 (en) 2008-10-24 2009-10-21 Distributed data storage
ZA2011/03754A ZA201103754B (en) 2008-10-24 2011-05-23 Distributed data storage
US13/170,735 US9026559B2 (en) 2008-10-24 2011-06-28 Priority replication
US13/170,672 US9329955B2 (en) 2008-10-24 2011-06-28 System and method for detecting problematic data storage nodes
US14/169,699 US9495432B2 (en) 2008-10-24 2014-01-31 Distributed data storage
US15/084,445 US10650022B2 (en) 2008-10-24 2016-03-29 Distributed data storage
US16/410,688 US11468088B2 (en) 2008-10-24 2019-05-13 Selection of storage nodes for storage of data
US17/955,165 US11907256B2 (en) 2008-10-24 2022-09-28 Query-based selection of storage nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0802277A SE533007C2 (sv) 2008-10-24 2008-10-24 Distribuerad datalagring

Publications (2)

Publication Number Publication Date
SE0802277A1 SE0802277A1 (sv) 2010-04-25
SE533007C2 true SE533007C2 (sv) 2010-06-08

Family

ID=41404359

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0802277A SE533007C2 (sv) 2008-10-24 2008-10-24 Distribuerad datalagring

Country Status (15)

Country Link
US (7) US8688630B2 (sv)
EP (3) EP3617897B1 (sv)
JP (1) JP5553364B2 (sv)
KR (1) KR101635238B1 (sv)
CN (1) CN102301367B (sv)
AU (1) AU2009306386B2 (sv)
BR (1) BRPI0914437A2 (sv)
CA (1) CA2741477C (sv)
DK (1) DK2342663T3 (sv)
EA (1) EA201100545A1 (sv)
ES (1) ES2538129T3 (sv)
MX (1) MX2011004240A (sv)
SE (1) SE533007C2 (sv)
WO (1) WO2010046393A2 (sv)
ZA (1) ZA201103754B (sv)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207888A1 (en) * 2008-09-19 2015-07-23 Limelight Networks, Inc. Multicast mapped look-up on content delivery networks
US8458290B2 (en) * 2011-02-01 2013-06-04 Limelight Networks, Inc. Multicast mapped look-up on content delivery networks
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
WO2011085405A2 (en) * 2010-01-11 2011-07-14 Innovative Timing Systems Sports timing system (sts) integrated communication system and method
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
US9323775B2 (en) * 2010-06-19 2016-04-26 Mapr Technologies, Inc. Map-reduce ready distributed file system
US11726955B2 (en) 2010-06-19 2023-08-15 Hewlett Packard Enterprise Development Lp Methods and apparatus for efficient container location database snapshot operation
US8290919B1 (en) 2010-08-27 2012-10-16 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
US8392368B1 (en) 2010-08-27 2013-03-05 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
US8768981B1 (en) * 2010-08-27 2014-07-01 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
EP2439908A1 (en) * 2010-09-20 2012-04-11 Thomson Licensing Method of data replication in a distributed data storage system and corresponding device
JP2012088955A (ja) * 2010-10-20 2012-05-10 Nec Corp データ複製システム、データ複製サーバ、データ複製方法、及び、データ複製プログラム
US9710344B1 (en) 2010-12-13 2017-07-18 Amazon Technologies, Inc. Locality based quorum eligibility
US8473775B1 (en) 2010-12-14 2013-06-25 Amazon Technologies, Inc. Locality based quorums
CA2824178C (en) 2011-01-10 2017-08-29 Storone Ltd. Large scale storage system
US20120185433A1 (en) * 2011-01-14 2012-07-19 International Business Machines Corporation Priority-based asynchronous data replication
US8396970B2 (en) 2011-02-01 2013-03-12 Limelight Networks, Inc. Content processing between locations workflow in content delivery networks
US8521813B2 (en) 2011-02-01 2013-08-27 Limelight Networks, Inc. Content replication workflow in content delivery networks
US8615577B2 (en) 2011-02-01 2013-12-24 Limelight Networks, Inc. Policy based processing of content objects in a content delivery network using mutators
US8478858B2 (en) 2011-02-01 2013-07-02 Limelight Networks, Inc. Policy management for content storage in content delivery networks
EP2555129B1 (en) * 2011-08-03 2019-02-06 Amadeus S.A.S. Method and system to maintain strong consistency of distributed replicated contents in a client/server system
US9385874B2 (en) * 2013-01-23 2016-07-05 Nexenta Systems, Inc. Scalable transport with client-consensus rendezvous
US9910904B2 (en) 2011-08-30 2018-03-06 International Business Machines Corporation Replication of data objects from a source server to a target server
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US9021053B2 (en) * 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US9626378B2 (en) * 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8997124B2 (en) * 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US8650365B2 (en) * 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US8645978B2 (en) * 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
JP5910117B2 (ja) * 2012-01-30 2016-04-27 富士通株式会社 ファイルシステム
CN103294675B (zh) * 2012-02-23 2018-08-03 上海盛大网络发展有限公司 一种分布式存储系统中的数据更新方法及装置
CN102694863B (zh) * 2012-05-30 2015-08-26 电子科技大学 基于负载调整和系统容错的分布式存储系统的实现方法
CN102821045B (zh) * 2012-08-03 2015-07-22 中兴通讯股份有限公司 多播报文复制方法及装置
US8589659B1 (en) * 2012-11-08 2013-11-19 DSSD, Inc. Method and system for global namespace with consistent hashing
US9479587B2 (en) 2013-01-23 2016-10-25 Nexenta Systems, Inc. Scalable object storage using multicast transport
JP5711772B2 (ja) * 2013-01-29 2015-05-07 日本電信電話株式会社 クラスタシステム
US10452284B2 (en) 2013-02-05 2019-10-22 International Business Machines Corporation Storage system based host computer monitoring
US9984083B1 (en) * 2013-02-25 2018-05-29 EMC IP Holding Company LLC Pluggable storage system for parallel query engines across non-native file systems
US9805092B1 (en) 2013-02-25 2017-10-31 EMC IP Holding Company LLC Parallel processing database system
KR102092921B1 (ko) 2013-06-28 2020-03-24 삼성전자주식회사 시뮬레이션 장치 및 분산 시뮬레이션 시스템
CN103731505A (zh) * 2014-01-17 2014-04-16 中国联合网络通信集团有限公司 一种数据分布式存储方法及系统
US10235404B2 (en) * 2014-06-25 2019-03-19 Cohesity, Inc. Distributed key-value store
CN104320452B (zh) * 2014-10-22 2017-12-26 南京市测绘勘察研究院股份有限公司 一种地理数据采集\成图\管理云服务系统及其方法
CN104360915B (zh) * 2014-10-31 2017-08-01 北京思特奇信息技术股份有限公司 一种基于分布式存储的数据恢复方法及装置
US10148748B2 (en) * 2015-02-26 2018-12-04 Microsoft Technology Licensing, Llc Co-locating peer devices for peer matching
US10725708B2 (en) 2015-07-31 2020-07-28 International Business Machines Corporation Replication of versions of an object from a source storage to a target storage
US10306005B1 (en) * 2015-09-30 2019-05-28 EMC IP Holding Company LLC Data retrieval system and method
US10089178B2 (en) * 2016-02-29 2018-10-02 International Business Machines Corporation Developing an accurate dispersed storage network memory performance model through training
US10341181B2 (en) * 2016-03-07 2019-07-02 International Business Machines Corporation Method and apparatus to allow dynamic changes of a replica network configuration in distributed systems
US10628399B2 (en) * 2016-04-29 2020-04-21 International Business Machines Corporation Storing data in a dispersed storage network with consistency
CN106250055A (zh) * 2016-07-12 2016-12-21 乐视控股(北京)有限公司 一种数据存储方法及系统
CN106652153B (zh) * 2016-10-17 2019-03-26 深圳市穗彩科技开发有限公司 可扩展的彩票检索派彩方法及系统
CN108255640B (zh) * 2017-12-15 2021-11-02 云南省科学技术情报研究院 分布式存储中冗余数据快速恢复方法及装置
EP3620905B1 (en) * 2017-12-18 2022-10-19 Huawei Cloud Computing Technologies Co., Ltd. Method and device for identifying osd sub-health, and data storage system
US11216420B2 (en) * 2018-07-31 2022-01-04 Nutanix, Inc. System and method for high replication factor (RF) data replication
JP2020046927A (ja) 2018-09-19 2020-03-26 キオクシア株式会社 ストレージ装置、ストレージシステム、および方法
US11005825B2 (en) * 2018-11-13 2021-05-11 Seagate Technology Llc Sensor nodes and host forming a tiered ecosystem that uses public and private data for duplication
US11388136B2 (en) 2019-06-18 2022-07-12 Nutanix, Inc. Dynamic distributed service location discovery
WO2021155498A1 (zh) * 2020-02-04 2021-08-12 华为技术有限公司 一种数据读取方法以及终端
US11544258B2 (en) 2020-02-05 2023-01-03 Ebay Inc. Selecting a host based on quality of stored data
US11893064B2 (en) * 2020-02-05 2024-02-06 EMC IP Holding Company LLC Reliably maintaining strict consistency in cluster wide state of opened files in a distributed file system cluster exposing a global namespace
JP7452840B2 (ja) * 2020-02-10 2024-03-19 Necソリューションイノベータ株式会社 情報処理方法
US11544147B2 (en) 2020-05-22 2023-01-03 Vmware, Inc. Using erasure coding across multiple regions to reduce the likelihood of losing objects maintained in cloud object storage
US11481319B2 (en) * 2020-05-22 2022-10-25 Vmware, Inc. Using data mirroring across multiple regions to reduce the likelihood of losing objects maintained in cloud object storage
US11556423B2 (en) 2020-05-22 2023-01-17 Vmware, Inc. Using erasure coding in a single region to reduce the likelihood of losing objects maintained in cloud object storage
US12174823B2 (en) * 2022-10-21 2024-12-24 Dell Products L.P. System and method to ensure data integrity of software defined storage system
CN115834263B (zh) * 2022-11-21 2025-05-06 南京大学 一种分布式存储系统副本复制在网多播方法

Family Cites Families (277)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3707707A (en) 1970-11-12 1972-12-26 Cipher Data Prod Digital cassette magnetic tape recorder and reproducer
JPS5628707A (en) 1979-08-20 1981-03-20 Hitachi Ltd Hair dryer
JPS6348527Y2 (sv) 1984-09-19 1988-12-14
JP3139884B2 (ja) 1993-06-14 2001-03-05 株式会社東芝 多重要素処理システム
US5713017A (en) 1995-06-07 1998-01-27 International Business Machines Corporation Dual counter consistency control for fault tolerant network file servers
JPH103421A (ja) 1995-11-20 1998-01-06 Matsushita Electric Ind Co Ltd 仮想ファイル管理システム
US5787247A (en) * 1996-07-12 1998-07-28 Microsoft Corporation Replica administration without data loss in a store and forward replication enterprise
US5924094A (en) 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US6021118A (en) 1997-02-10 2000-02-01 Lucent Techologies Inc. Synchronization methods for distributed processing systems having replicated data
US6003065A (en) 1997-04-24 1999-12-14 Sun Microsystems, Inc. Method and system for distributed processing of applications on host and peripheral devices
US6259701B1 (en) 1997-09-11 2001-07-10 At&T Corp. Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session
US6055543A (en) 1997-11-21 2000-04-25 Verano File wrapper containing cataloging information for content searching across multiple platforms
CA2318908C (en) 1998-01-23 2007-04-03 Filepool N.V. Content addressable information encapsulation, representation, and transfer
JPH11249874A (ja) 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムにおける同期処理方法および記録媒体
US6510162B1 (en) 1998-05-27 2003-01-21 3Com Corporation System and method for managing channel usage in a data over cable system
JP4146983B2 (ja) 1999-02-26 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ・オブジェクトのメソッドを呼び出すプロセス方法及びデータ処理システム
WO2000052889A1 (en) 1999-03-05 2000-09-08 Allayer Technologies Corporation Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control
US6401120B1 (en) * 1999-03-26 2002-06-04 Microsoft Corporation Method and system for consistent cluster operational data in a server cluster using a quorum of replicas
US7774469B2 (en) * 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6389432B1 (en) 1999-04-05 2002-05-14 Auspex Systems, Inc. Intelligent virtual volume access
JP2000322292A (ja) 1999-05-10 2000-11-24 Nec Corp クラスタ型データサーバシステム及びデータ格納方法
US6952741B1 (en) 1999-06-30 2005-10-04 Computer Sciences Corporation System and method for synchronizing copies of data in a computer system
US7634453B1 (en) 1999-08-13 2009-12-15 Storage Technology Corporation Distributed file data location
US6976165B1 (en) 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
US7934251B2 (en) 1999-12-02 2011-04-26 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US6499090B1 (en) 1999-12-28 2002-12-24 Intel Corporation Prioritized bus request scheduling mechanism for processing devices
US6546388B1 (en) 2000-01-14 2003-04-08 International Business Machines Corporation Metadata search results ranking system
US6542972B2 (en) 2000-01-31 2003-04-01 Commvault Systems, Inc. Logical view and access to physical storage in modular data and storage management system
US6738766B2 (en) 2000-02-02 2004-05-18 Doongo Technologies, Inc. Apparatus and methods for providing personalized application search results for wireless devices based on user profiles
US6952737B1 (en) 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
US7506034B2 (en) 2000-03-03 2009-03-17 Intel Corporation Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user
US7428540B1 (en) * 2000-03-03 2008-09-23 Intel Corporation Network storage system
US6470420B1 (en) 2000-03-31 2002-10-22 Western Digital Ventures, Inc. Method for designating one of a plurality of addressable storage devices to process a data transfer request
WO2001082678A2 (en) 2000-05-02 2001-11-08 Sun Microsystems, Inc. Cluster membership monitor
US8281022B1 (en) * 2000-06-30 2012-10-02 Emc Corporation Method and apparatus for implementing high-performance, scaleable data processing and storage systems
US6826564B2 (en) 2000-07-10 2004-11-30 Fastforward Networks Scalable and programmable query distribution and collection in a network of queryable devices
US6732237B1 (en) 2000-08-29 2004-05-04 Oracle International Corporation Multi-tier caching system
US20040236798A1 (en) 2001-09-11 2004-11-25 Sudhir Srinivasan Migration of control in a distributed segmented file system
US7406484B1 (en) 2000-09-12 2008-07-29 Tbrix, Inc. Storage allocation in a distributed segmented file system
US6782389B1 (en) 2000-09-12 2004-08-24 Ibrix, Inc. Distributing files across multiple, permissibly heterogeneous, storage devices
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
AU2002214659A1 (en) 2000-10-26 2002-05-06 James C. Flood Jr. Method and system for managing distributed content and related metadata
SE520129C2 (sv) 2000-10-27 2003-05-27 Terraplay Systems Ab Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer
US6985956B2 (en) * 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
AU2002232411A1 (en) * 2000-11-28 2002-06-11 Gregory L. Gingerich A method and system for software and hardware multiplicity
US7165096B2 (en) 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
EP1349982A1 (de) 2000-12-27 2003-10-08 BSH Bosch und Siemens Hausgeräte GmbH Verfahren und vorrichtung zum glätten von kleidungsstücken
US7266556B1 (en) * 2000-12-29 2007-09-04 Intel Corporation Failover architecture for a distributed storage system
US6768871B2 (en) 2001-01-30 2004-07-27 The Regents Of The University Of California Optical layer multicasting using a multicast switch to effect survivability and security
US6865603B2 (en) 2001-01-31 2005-03-08 Hewlett-Packard Development Company, L.P. Correcting for network address changes
WO2002065329A1 (en) 2001-02-14 2002-08-22 The Escher Group, Ltd. Peer-to peer enterprise storage
US20020156912A1 (en) 2001-02-15 2002-10-24 Hurst John T. Programming content distribution
US7062490B2 (en) * 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US6839815B2 (en) * 2001-05-07 2005-01-04 Hitachi, Ltd. System and method for storage on demand service in a global SAN environment
US6918013B2 (en) 2001-07-16 2005-07-12 Bea Systems, Inc. System and method for flushing bean cache
US7039622B2 (en) 2001-09-12 2006-05-02 Sas Institute Inc. Computer-implemented knowledge repository interface system and method
US7054867B2 (en) * 2001-09-18 2006-05-30 Skyris Networks, Inc. Systems, methods and programming for routing and indexing globally addressable objects and associated business models
GB2381427A (en) 2001-10-27 2003-04-30 Hewlett Packard Co Spanning tree in peer to peer networks
WO2003039071A1 (en) 2001-10-29 2003-05-08 Sun Microsystems, Inc. Method to manage high availability equipments
US7054910B1 (en) 2001-12-20 2006-05-30 Emc Corporation Data replication facility for distributed computing environments
US6917941B2 (en) 2001-12-28 2005-07-12 Channel Intelligence, Inc. Method and apparatus for creation and maintenance of database structure
JP4202026B2 (ja) 2002-01-31 2008-12-24 株式会社アンソナ ストレージシステムおよびストレージ装置
US7243103B2 (en) * 2002-02-14 2007-07-10 The Escher Group, Ltd. Peer to peer enterprise storage system with lexical recovery sub-system
JP4198920B2 (ja) * 2002-02-26 2008-12-17 エイディシーテクノロジー株式会社 バックアップシステム、バックアップ用プログラムおよびバックアップ方法
US7020665B2 (en) 2002-03-07 2006-03-28 Microsoft Corporation File availability in distributed file storage systems
JP2003271316A (ja) * 2002-03-14 2003-09-26 Hitachi Ltd ストレージシステム、その動作プログラム及びその運用方法、情報処理端末及びその動作プログラム、データ管理システム
US7257645B2 (en) 2002-05-01 2007-08-14 Bea Systems, Inc. System and method for storing large messages
US7305585B2 (en) 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
US7117294B1 (en) * 2002-05-28 2006-10-03 Oracle International Corporation Method and system for archiving and compacting data in a data storage array
US7574488B2 (en) 2002-05-31 2009-08-11 Hitachi, Ltd. Method and apparatus for peer-to-peer file sharing
US6732171B2 (en) 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
US20030233455A1 (en) 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
US7631313B2 (en) 2002-06-17 2009-12-08 David Mayhew System and method for transferring data
US8060598B1 (en) 2002-07-01 2011-11-15 Sprint Communications Company L.P. Computer network multicasting traffic monitoring and compensation
JP4240930B2 (ja) 2002-07-15 2009-03-18 株式会社日立製作所 複数ネットワークストレージの仮送想一元化方法及び装置
DE10237875A1 (de) 2002-08-19 2004-03-04 Siemens Ag Vorrichtung, insbesondere Automatisierungsgerät, mit in Datei gespeicherter Dateiverzeichnisstruktur
US7363346B2 (en) * 2002-09-07 2008-04-22 Appistry, Inc. Reliably storing information across multiple computers such as in a hive of computers
EP1540510B1 (en) 2002-09-10 2009-08-12 Exagrid Systems, Inc. Method and apparatus for managing data integrity of backup and disaster recovery data
JP4254178B2 (ja) * 2002-09-11 2009-04-15 富士ゼロックス株式会社 分散格納制御装置及び方法
US7206836B2 (en) 2002-09-23 2007-04-17 Sun Microsystems, Inc. System and method for reforming a distributed data system cluster after temporary node failures or restarts
US7146499B2 (en) * 2002-09-30 2006-12-05 International Business Machines Corporation Security system for replicated storage devices on computer networks
US7509645B2 (en) 2002-10-17 2009-03-24 Intel Corporation Methods and apparatus for load balancing storage nodes in a distributed network attached storage system
CA2500166A1 (en) 2002-10-29 2004-05-13 British Telecommunications Public Limited Company Method and apparatus for network management
US7328243B2 (en) 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
US7565419B1 (en) 2002-11-22 2009-07-21 Symantec Operating Corporation Conflict resolution in a peer to peer network
US20040139167A1 (en) 2002-12-06 2004-07-15 Andiamo Systems Inc., A Delaware Corporation Apparatus and method for a scalable network attach storage system
US7624158B2 (en) 2003-01-14 2009-11-24 Eycast Inc. Method and apparatus for transmission and storage of digital medical data
US7320009B1 (en) 2003-03-28 2008-01-15 Novell, Inc. Methods and systems for file replication utilizing differences between versions of files
US7328256B2 (en) 2003-06-02 2008-02-05 Apple Inc. Method and apparatus for distributing computer files across a network to multiple clients
US20040260775A1 (en) 2003-06-20 2004-12-23 Xerox Corporation System and method for sending messages
US7694086B1 (en) 2003-06-30 2010-04-06 Symantec Operating Corporation Method and system for incremental backup of data volumes
US7523217B2 (en) 2003-07-15 2009-04-21 Hewlett-Packard Development Company, L.P. System and method having improved efficiency and reliability for distributing a file among a plurality of recipients
US20050015461A1 (en) 2003-07-17 2005-01-20 Bruno Richard Distributed file system
JP2005044003A (ja) 2003-07-23 2005-02-17 Fujitsu Ltd 認証装置、方法、及びプログラム
US6983429B2 (en) 2003-09-30 2006-01-03 Bull Hn Information Systems Inc. Formal proof methods for analyzing circuit loading problems under operating conditions
US20130097302A9 (en) 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
WO2005042713A2 (en) 2003-10-28 2005-05-12 The Johns Hopkins University Quantitative multiplex methylation-specific pcr
US7340510B1 (en) * 2003-11-18 2008-03-04 Cisco Technology, Inc. Content delivery network (CDN) replication status reporter
JP2005165516A (ja) * 2003-12-01 2005-06-23 Hitachi Ltd ストレージ制御装置、ストレージシステム、及びストレージシステムの制御方法
US7376945B1 (en) 2003-12-02 2008-05-20 Cisco Technology, Inc. Software change modeling for network devices
US7039661B1 (en) 2003-12-29 2006-05-02 Veritas Operating Corporation Coordinated dirty block tracking
US7822711B1 (en) 2003-12-31 2010-10-26 Symantec Operating Corporation Conflict resolution for a distributed file sharing system
US8566446B2 (en) * 2004-01-28 2013-10-22 Hewlett-Packard Development Company, L.P. Write operation control in storage networks
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US7385978B1 (en) * 2004-02-19 2008-06-10 Cisco Technology, Inc. Method and apparatus for reliable multicast distribution
US9160571B2 (en) 2004-03-11 2015-10-13 Hewlett-Packard Development Company, L.P. Requesting a service from a multicast network
JP4448719B2 (ja) 2004-03-19 2010-04-14 株式会社日立製作所 ストレージシステム
JP2005276094A (ja) * 2004-03-26 2005-10-06 Hitachi Ltd 分散ストレージ装置のファイル管理方法及び分散ストレージシステム並びにプログラム
US7503052B2 (en) 2004-04-14 2009-03-10 Microsoft Corporation Asynchronous database API
US20060023969A1 (en) 2004-04-30 2006-02-02 Lara Eyal D Collaboration and multimedia authoring
DE602005005471T2 (de) 2004-05-18 2008-07-03 British Telecommunications P.L.C. Peer-to-peer-netze
US7433898B1 (en) * 2004-06-01 2008-10-07 Sanbolic, Inc. Methods and apparatus for shared storage journaling
US7634566B2 (en) 2004-06-03 2009-12-15 Cisco Technology, Inc. Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality
US7330997B1 (en) * 2004-06-03 2008-02-12 Gary Odom Selective reciprocal backup
US7873650B1 (en) 2004-06-11 2011-01-18 Seisint, Inc. System and method for distributing data in a parallel processing system
US20050278552A1 (en) * 2004-06-14 2005-12-15 Vincent Delisle Secure virtual account
US20060031230A1 (en) 2004-07-21 2006-02-09 Kumar Sinha M Data storage systems
US20060047776A1 (en) 2004-08-31 2006-03-02 Chieng Stephen S Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link
US20060080574A1 (en) * 2004-10-08 2006-04-13 Yasushi Saito Redundant data storage reconfiguration
US8090776B2 (en) 2004-11-01 2012-01-03 Microsoft Corporation Dynamic content change notification
JP4222295B2 (ja) 2004-11-19 2009-02-12 パナソニック株式会社 ビデオサーバおよびこれを用いた映像配信システム
US7631023B1 (en) 2004-11-24 2009-12-08 Symantec Operating Corporation Performance-adjusted data allocation in a multi-device file system
JP4451293B2 (ja) 2004-12-10 2010-04-14 株式会社日立製作所 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
US7320088B1 (en) * 2004-12-28 2008-01-15 Veritas Operating Corporation System and method to automate replication in a clustered environment
AR052083A1 (es) * 2005-01-07 2007-02-28 Thomson Global Resources Sistemas ,metodos y software para carga distribuida de bases de datos
JP4843976B2 (ja) * 2005-03-25 2011-12-21 日本電気株式会社 レプリケーションシステムと方法
US7454426B2 (en) 2005-04-12 2008-11-18 International Business Machines Corporation Referential integrity across a distributed directory
JP2006293864A (ja) * 2005-04-13 2006-10-26 Hitachi Ltd ストレージシステム、データ移動管理システム、及びデータ移動管理方法
US7631016B2 (en) 2005-05-04 2009-12-08 Oracle International Corporation Providing the latest version of a data item from an N-replica set
US7698391B2 (en) * 2005-05-16 2010-04-13 Oracle International Corporation Performing a provisioning operation associated with a software application on a subset of the nodes on which the software application is to operate
WO2006124911A2 (en) 2005-05-18 2006-11-23 Ibrix, Inc. Balanced computer architecture
EP2228969B1 (en) 2005-06-09 2017-04-19 Whirlpool Corporation Software architecture system and method for communication with, and management of, at least one component within a household appliance
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US8401997B1 (en) 2005-06-30 2013-03-19 Symantec Operating Corporation System and method for replication using consistency interval markers in a distributed storage environment
US7631045B2 (en) 2005-07-14 2009-12-08 Yahoo! Inc. Content router asynchronous exchange
US20070022129A1 (en) 2005-07-25 2007-01-25 Parascale, Inc. Rule driven automation of file placement, replication, and migration
US9305011B2 (en) 2005-07-27 2016-04-05 Hitachi Data Systems Corporation Method for improving mean time to data loss (MTDL) in a fixed content distributed data storage
US20070028291A1 (en) * 2005-07-29 2007-02-01 Bit 9, Inc. Parametric content control in a network security system
US7568069B2 (en) 2005-07-29 2009-07-28 Lsi Corporation Method for creating a large-scale storage array system out of multiple mid-range storage arrays
JP4747733B2 (ja) 2005-08-22 2011-08-17 ブラザー工業株式会社 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
US20070055703A1 (en) 2005-09-07 2007-03-08 Eyal Zimran Namespace server using referral protocols
US7752211B1 (en) * 2005-09-30 2010-07-06 Emc Corporation Adaptive index processing
US9996413B2 (en) 2007-10-09 2018-06-12 International Business Machines Corporation Ensuring data integrity on a dispersed storage grid
US7558859B2 (en) 2005-10-17 2009-07-07 Microsoft Corporation Peer-to-peer auction based data distribution
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
CA2627436A1 (en) 2005-11-04 2007-05-18 Thomson Licensing Method and apparatus for managing media storage devices
CA2631098C (en) 2005-11-23 2013-06-25 Envisionit Llc Message broadcasting admission control system and method
EP1798934A1 (en) 2005-12-13 2007-06-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for organizing nodes in a network
US8589574B1 (en) 2005-12-29 2013-11-19 Amazon Technologies, Inc. Dynamic application instance discovery and state management within a distributed system
US8554758B1 (en) * 2005-12-29 2013-10-08 Amazon Technologies, Inc. Method and apparatus for monitoring and maintaining health in a searchable data service
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US7546484B2 (en) * 2006-02-08 2009-06-09 Microsoft Corporation Managing backup solutions with light-weight storage nodes
US7623474B2 (en) 2006-02-14 2009-11-24 Cisco Technology, Inc. Techniques for distributing information using multicast subsets
US7552148B2 (en) * 2006-02-28 2009-06-23 Microsoft Corporation Shutdown recovery
US8185576B2 (en) 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US7778183B2 (en) 2006-03-31 2010-08-17 International Business Machines Corporation Data replica selector
US7480817B2 (en) 2006-03-31 2009-01-20 International Business Machines Corporation Method for replicating data based on probability of concurrent failure
US20070288638A1 (en) 2006-04-03 2007-12-13 British Columbia, University Of Methods and distributed systems for data location and delivery
US7979771B2 (en) 2006-04-04 2011-07-12 Permabit Technology Corporation Erasure coding technique for scalable and fault tolerant storage system
US20070255763A1 (en) 2006-04-27 2007-11-01 International Business Machines Corporation Database replication method and system
US20080126357A1 (en) 2006-05-04 2008-05-29 Wambo, Inc. Distributed file storage and transmission system
US8255420B2 (en) 2006-05-23 2012-08-28 Noryan Holding Corporation Distributed storage
JP5584910B2 (ja) 2006-05-23 2014-09-10 ノーリャン・ホールディング・コーポレイション 分散ストレージ
US8117155B2 (en) 2006-06-30 2012-02-14 Microsoft Corporation Collection-based object replication
US20080005195A1 (en) 2006-06-30 2008-01-03 Microsoft Corporation Versioning synchronization for mass p2p file sharing
US7546486B2 (en) 2006-08-28 2009-06-09 Bycast Inc. Scalable distributed object management in a distributed fixed content storage system
US20080077635A1 (en) 2006-09-22 2008-03-27 Digital Bazaar, Inc. Highly Available Clustered Storage Network
US7840992B1 (en) * 2006-09-28 2010-11-23 Emc Corporation System and method for environmentally aware data protection
US7680048B2 (en) 2006-10-06 2010-03-16 International Business Machiens Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamically adjusting local routing strategies
US8176265B2 (en) 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US8094585B2 (en) 2006-10-31 2012-01-10 International Business Machines Corporation Membership management of network nodes
US8555335B2 (en) 2006-11-01 2013-10-08 Microsoft Corporation Securing distributed application information delivery
US8190561B1 (en) 2006-12-06 2012-05-29 At&T Mobility Ii Llc LDAP replication priority queuing mechanism
US7590672B2 (en) 2006-12-11 2009-09-15 Bycast Inc. Identification of fixed content objects in a distributed fixed content storage system
GB2445986A (en) 2007-01-17 2008-07-30 Connect Spot Ltd Database Update Systems for Wireless communications Systems
US9015342B2 (en) * 2007-01-22 2015-04-21 Xerox Corporation Two-level structured overlay design for cluster management in a peer-to-peer network
US8255736B2 (en) * 2007-02-22 2012-08-28 Telefonaktiebolaget Lm Ericsson (Publ) Consistent and fault tolerant distributed hash table (DHT) overlay network
US8635691B2 (en) 2007-03-02 2014-01-21 403 Labs, Llc Sensitive data scanner
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
JP2008234445A (ja) * 2007-03-22 2008-10-02 Brother Ind Ltd コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム
US8150800B2 (en) * 2007-03-28 2012-04-03 Netapp, Inc. Advanced clock synchronization technique
JP2008250773A (ja) 2007-03-30 2008-10-16 Brother Ind Ltd 情報配信システム、管理装置用プログラム及び情報処理装置用プログラム
JP4696089B2 (ja) 2007-03-30 2011-06-08 三菱電機インフォメーションシステムズ株式会社 分散ストレージシステム
US7975115B2 (en) 2007-04-11 2011-07-05 Dot Hill Systems Corporation Method and apparatus for separating snapshot preserved and write data
US20080263183A1 (en) * 2007-04-20 2008-10-23 Lisa Midori Nishiyama Management of Kernel configurations for nodes in a clustered system
US8706914B2 (en) 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
TWI483584B (zh) * 2007-06-04 2015-05-01 Graco Minnesota Inc 分配式監視及控制流體處理系統
US7676704B2 (en) 2007-06-29 2010-03-09 Symantec Corporation Resource management for scalable file system recovery
US8332375B2 (en) 2007-08-29 2012-12-11 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
WO2009031915A1 (fr) 2007-09-03 2009-03-12 Obschestvo S Ogranichennoi Otvetstvennostiyu 'meralabs' Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés
US8533256B2 (en) 2007-10-09 2013-09-10 Cleversafe, Inc. Object interface to a dispersed data storage network
US8185614B2 (en) 2007-10-09 2012-05-22 Cleversafe, Inc. Systems, methods, and apparatus for identifying accessible dispersed digital storage vaults utilizing a centralized registry
US7979662B2 (en) 2007-12-28 2011-07-12 Sandisk Il Ltd. Storage device with transaction indexing capability
US7913030B2 (en) 2007-12-28 2011-03-22 Sandisk Il Ltd. Storage device with transaction logging capability
US7899850B2 (en) 2008-02-22 2011-03-01 Bycast, Inc. Relational objects for the optimized management of fixed-content storage systems
US20090228669A1 (en) 2008-03-10 2009-09-10 Microsoft Corporation Storage Device Optimization Using File Characteristics
WO2009120301A2 (en) 2008-03-25 2009-10-01 Square Products Corporation System and method for simultaneous media presentation
US8577957B2 (en) 2008-04-01 2013-11-05 Litl Llc System and method for streamlining user interaction with electronic content
JP2009259007A (ja) 2008-04-17 2009-11-05 Nippon Telegr & Teleph Corp <Ntt> 分散格納方法、分散格納システム及び分散格納装置
TWI476610B (zh) 2008-04-29 2015-03-11 Maxiscale Inc 同級間冗餘檔案伺服器系統及方法
US20100010975A1 (en) * 2008-07-10 2010-01-14 Morris Robert P Methods And Systems For Resolving A Query Region To A Network Identifier
US7869383B2 (en) * 2008-07-24 2011-01-11 Symform, Inc. Shared community storage network
US8255430B2 (en) 2008-08-26 2012-08-28 Caringo, Inc. Shared namespace for storage clusters
US8458128B2 (en) 2008-08-26 2013-06-04 Microsoft Corporation Minimal extensions required for multi-master offline and collaboration for devices and web services
WO2010037117A1 (en) 2008-09-29 2010-04-01 Nirvanix, Inc. Client application program interface for network-attached storage system
WO2010045109A1 (en) 2008-10-17 2010-04-22 Azuki Systems, Inc. Method and apparatus for efficient http data streaming
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US8443062B2 (en) * 2008-10-23 2013-05-14 Microsoft Corporation Quorum based transactionally consistent membership management in distributed storage systems
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
US8898236B2 (en) 2008-10-31 2014-11-25 Netapp, Inc. Automated conversion of versioned data collections
KR101285113B1 (ko) 2008-10-31 2013-07-17 에스케이플래닛 주식회사 컨텐츠 전달 시스템, 방법, 서비스 서버, 이동통신단말기 및 저장 매체
US8561052B2 (en) 2008-12-08 2013-10-15 Harris Corporation Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method
WO2010080533A2 (en) 2008-12-18 2010-07-15 Bizanga Ltd. Multipurpose storage system based upon a distributed hashing mechanism with transactional support and failover capability
US20100185693A1 (en) 2009-01-20 2010-07-22 Murty Venkataesh V Methods and apparatus for creating an audit trail
US8832023B2 (en) 2009-01-30 2014-09-09 Apple Inc. System for managing distributed assets and metadata
US8165122B2 (en) 2009-05-26 2012-04-24 Alcatel Lucent System and method for converting unicast client requests into multicast client requests
US8533151B2 (en) 2009-05-26 2013-09-10 Microsoft Corporation Generating a local copy of a virtualized application package from a local installation
US20130254314A1 (en) 2009-06-09 2013-09-26 Edmond K. Chow Digital content delivery
US8504797B2 (en) 2009-06-02 2013-08-06 Hitachi, Ltd. Method and apparatus for managing thin provisioning volume by using file storage system
US10108492B2 (en) 2009-07-30 2018-10-23 International Business Machines Corporation Rebuilding data stored in a dispersed storage network
US8458287B2 (en) 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
US20110035540A1 (en) 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US9189244B2 (en) 2009-08-18 2015-11-17 Adobe Systems Incorporated Methods and systems for managing data service specifications
US20110047413A1 (en) 2009-08-20 2011-02-24 Mcgill Robert E Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer
US8745170B2 (en) 2009-08-27 2014-06-03 Apple Inc. Dynamic file streaming
US8554993B2 (en) 2009-09-21 2013-10-08 Translattice, Inc. Distributed content storage and retrieval
WO2011036707A1 (en) 2009-09-24 2011-03-31 Hitachi, Ltd. Computer system for controlling backups using wide area network
US8620879B2 (en) 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
CN101710339B (zh) 2009-11-20 2012-02-01 中国科学院计算技术研究所 控制机群文件系统中数据存储方法和系统及创建文件方法
US8190578B2 (en) 2009-12-17 2012-05-29 International Business Machines Corporation Migration of versioned data between configuration management systems
US8452739B2 (en) 2010-03-16 2013-05-28 Copiun, Inc. Highly scalable and distributed data de-duplication
US9135268B2 (en) 2009-12-30 2015-09-15 Symantec Corporation Locating the latest version of replicated data files
US8683119B2 (en) 2010-03-15 2014-03-25 Cleversafe, Inc. Access control in a dispersed storage network
US20110238909A1 (en) 2010-03-29 2011-09-29 Pankaj Kumar Multicasting Write Requests To Multiple Storage Controllers
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
US9552299B2 (en) 2010-06-11 2017-01-24 California Institute Of Technology Systems and methods for rapid processing and storage of data
US9357328B1 (en) 2010-06-15 2016-05-31 Thales Avionics, Inc. Systems and methods for distributing content using attributes
CN102947879B (zh) 2010-06-22 2015-11-25 索尼电脑娱乐公司 信息处理装置
CN101909058B (zh) 2010-07-30 2013-01-16 天维讯达无线电设备检测(北京)有限责任公司 一种适合可信连接架构的平台鉴别策略管理方法及系统
US8495472B1 (en) 2010-08-06 2013-07-23 Amazon Technologies, Inc. Method and system for performing financial reconciliation between two systems using checksums
GB2544888A (en) 2010-09-08 2017-05-31 Saffron Digital Ltd Delivering a file from a content provider to a client
US9253199B2 (en) 2010-09-09 2016-02-02 Red Hat, Inc. Verifying authenticity of a sender of an electronic message sent to a recipient using message salt
US8504758B1 (en) 2010-09-21 2013-08-06 Amazon Technologies, Inc. System and method for logical deletion of stored data objects
US8660986B2 (en) 2010-10-27 2014-02-25 Microsoft Corporation Preserving user intent in merging ordered objects
EP3002697A1 (en) 2010-11-05 2016-04-06 Interdigital Patent Holdings, Inc. Device validation, distress indication, and remediation
US9471593B1 (en) 2010-12-30 2016-10-18 Emc Corporation Method and apparatus for ensuring consistent ordering of writes in a distributed database storage system
US8949828B2 (en) 2011-01-11 2015-02-03 International Business Machines Corporation Single point, scalable data synchronization for management of a virtual input/output server cluster
US9020996B2 (en) 2011-06-24 2015-04-28 Stephen P. LORD Synthetic view
US9268665B2 (en) 2011-07-26 2016-02-23 Trimble Navigation Limited System and method for identifying fault prone computer code files
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US9275063B1 (en) 2011-09-30 2016-03-01 Emc Corporation Replication optimizated IO
US9225780B2 (en) 2012-02-24 2015-12-29 Xyratex Technology Limited Data integrity in a networked storage system
US20130268632A1 (en) 2012-04-05 2013-10-10 Canon Kabushiki Kaisha Server assisted authenticated device
US8972478B1 (en) 2012-05-23 2015-03-03 Netapp, Inc. Using append only log format in data storage cluster with distributed zones for determining parity of reliability groups
US9256765B2 (en) 2012-06-29 2016-02-09 Kip Sign P1 Lp System and method for identifying software changes
US9344521B2 (en) 2012-12-13 2016-05-17 Red Hat, Inc. Pluggable infrastructure for cloud provider selection
US9367448B1 (en) 2013-06-04 2016-06-14 Emc Corporation Method and system for determining data integrity for garbage collection of data storage systems
US10025673B1 (en) 2013-09-20 2018-07-17 Amazon Technologies, Inc. Restoring partitioned database tables from backup
US9280678B2 (en) 2013-12-02 2016-03-08 Fortinet, Inc. Secure cloud storage distribution and aggregation
US9395922B2 (en) 2014-01-10 2016-07-19 Hitachi, Ltd. Information system and I/O processing method
US20150288659A1 (en) 2014-04-03 2015-10-08 Bitdefender IPR Management Ltd. Systems and Methods for Mutual Integrity Attestation Between A Network Endpoint And A Network Appliance
US9864874B1 (en) 2014-05-21 2018-01-09 Amazon Technologies, Inc. Management of encrypted data storage
JP6708948B2 (ja) 2016-01-21 2020-06-10 日本電気株式会社 ブロックストレージ
US10102356B1 (en) 2016-03-09 2018-10-16 EMC IP Holding Company LLC Securing storage control path against unauthorized access
JP6348527B2 (ja) 2016-03-10 2018-06-27 本田技研工業株式会社 車体後部構造
KR102527992B1 (ko) 2016-03-14 2023-05-03 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10810088B1 (en) 2016-05-13 2020-10-20 NortonLifeLock Inc. System and method of dynamic backup policy generation
US10567406B2 (en) 2016-08-16 2020-02-18 International Business Machines Corporation Cloud computing environment activity monitoring
US10846137B2 (en) 2018-01-12 2020-11-24 Robin Systems, Inc. Dynamic adjustment of application resources in a distributed computing system
US11106810B2 (en) 2018-07-30 2021-08-31 EMC IP Holding Company LLC Multi-tenant deduplication with non-trusted storage system
US10877683B2 (en) 2019-04-09 2020-12-29 International Business Machines Corporation Tiered storage optimization and migration

Also Published As

Publication number Publication date
MX2011004240A (es) 2011-08-15
ZA201103754B (en) 2012-01-25
EP2342663B1 (en) 2015-03-11
EP3617897A1 (en) 2020-03-04
EP3617897B1 (en) 2022-04-06
KR101635238B1 (ko) 2016-06-30
ES2538129T3 (es) 2015-06-17
EA201100545A1 (ru) 2012-01-30
CA2741477A1 (en) 2010-04-29
US11907256B2 (en) 2024-02-20
JP2012506582A (ja) 2012-03-15
EP2908257A1 (en) 2015-08-19
US20140149351A1 (en) 2014-05-29
US20190266174A1 (en) 2019-08-29
US20230013449A1 (en) 2023-01-19
US9026559B2 (en) 2015-05-05
US10650022B2 (en) 2020-05-12
WO2010046393A2 (en) 2010-04-29
SE0802277A1 (sv) 2010-04-25
US11468088B2 (en) 2022-10-11
AU2009306386B2 (en) 2015-02-05
EP2908257B1 (en) 2019-09-25
US20120023179A1 (en) 2012-01-26
CN102301367A (zh) 2011-12-28
EP2342663A2 (en) 2011-07-13
US9495432B2 (en) 2016-11-15
BRPI0914437A2 (pt) 2016-05-24
CA2741477C (en) 2016-12-13
US20160212212A1 (en) 2016-07-21
US8688630B2 (en) 2014-04-01
US20110295807A1 (en) 2011-12-01
CN102301367B (zh) 2015-01-21
US9329955B2 (en) 2016-05-03
KR20110086114A (ko) 2011-07-27
AU2009306386A1 (en) 2010-04-29
US20120030170A1 (en) 2012-02-02
JP5553364B2 (ja) 2014-07-16
WO2010046393A3 (en) 2013-02-21
DK2342663T3 (da) 2015-06-08

Similar Documents

Publication Publication Date Title
SE533007C2 (sv) Distribuerad datalagring
EP2387200B1 (en) Distributed data storage
US20130061232A1 (en) Method And Device For Maintaining Data In A Data Storage System Comprising A Plurality Of Data Storage Nodes
EP2751713A1 (en) A method and device for writing data to a data storage system comprising a plurality of data storage nodes

Legal Events

Date Code Title Description
NUG Patent has lapsed