Movatterモバイル変換


[0]ホーム

URL:


US20030041097A1 - Distributed transactional network storage system - Google Patents

Distributed transactional network storage system
Download PDF

Info

Publication number
US20030041097A1
US20030041097A1US10/193,830US19383002AUS2003041097A1US 20030041097 A1US20030041097 A1US 20030041097A1US 19383002 AUS19383002 AUS 19383002AUS 2003041097 A1US2003041097 A1US 2003041097A1
Authority
US
United States
Prior art keywords
file
data file
local
data
network
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US10/193,830
Inventor
Alexander Tormasov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Parallels IP Holdings GmbH
Original Assignee
Individual
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 IndividualfiledCriticalIndividual
Priority to US10/193,830priorityCriticalpatent/US20030041097A1/en
Priority to US10/293,196prioritypatent/US7886016B1/en
Publication of US20030041097A1publicationCriticalpatent/US20030041097A1/en
Assigned to SWSOFT HOLDINGS LTD.reassignmentSWSOFT HOLDINGS LTD.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: TORMASOV, ALEXANDER
Assigned to SWSOFT HOLDINGS LTD.reassignmentSWSOFT HOLDINGS LTD.CONFIRMATORY ASSIGNMENTAssignors: SWSOFT HOLDINGS, INC.
Assigned to PARALLELS HOLDINGS, LTD.reassignmentPARALLELS HOLDINGS, LTD.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: SWSOFT HOLDINGS, LTD.
Assigned to Parallels IP Holdings GmbHreassignmentParallels IP Holdings GmbHASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: PARALLELS HOLDINGS, LTD.
Abandonedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

The present invention provides a highly scalable system for fault tolerant distributed data file storage over a set of functionally equal network servers linked through a local network with network servers and client computers. Data files are represented as a set of transactional records, each record is disassembled into redundant, functionally identical data pieces with original file reassembly dependent only upon the number of data file pieces and not on the presence or absence of any particular data file piece. Local algorithms generate unique data file identifiers upon file creation and disassembly. Changes to the data file storage system are ranked by creation time and stored as separate records with unique transaction identifiers in addition to unique data file identifiers. A transactional data file record is stored by disassembling the transactional file into pieces placed at the network servers. Low-level transactional files are collected to reassemble the data file contents.

Description

Claims (15)

What is claimed is:
1. A system of distributed file storage, comprising:
a local computer network with network servers and client computers;
a plurality of functionally equal network servers linked together by said local network with said network servers and said client computers and ranked according to available capacity and accessibility;
a said plurality of functionally equal network servers organized into a plurality of groups where each said server can participate in a couple of different groups and said servers inside each said group are considered neighbors;
a pre-defined set of network services supported by each of said plurality of functionally equal network servers;
a plurality of client computers utilizing said local network with network servers and client computers;
software constructed and arranged to run on a local client computer to enable distributed data file storage;
software constructed and arranged to run on a network server computer to enable distributed data file storage;
a common file namespace in the form of a tree with a shared root;
directory files and common data files within said common file namespace;
wherein accessibility to stored data does not depend upon dedicated access to any particular member of said plurality of functionally equal network servers, but rather depends only upon access to a pre-defined quantity of network servers from said plurality of functionally equal network servers.
2. The system ofclaim 1, wherein said software constructed and arranged to run on a local client computer for distributed file storage traces changes to said local data file system, puts said changes into the form of transaction records, and verifies said local data file content to be consistent with the content of the files stored in said distributed data file storage in case of local data file open-and-create requests.
3. The system ofclaim 1, wherein said software is constructed and arranged to run on a local client computer to be used for said distributed file storage communications with said plurality of functionally equal network servers, records transactions made into said distributed data file storage, and reads and assembles data files into the local file system of a client computer.
4. A method of providing distributed file storage, comprising the steps of:
utilizing a local network with network servers and client computers;
establishing a plurality of functionally equal network servers;
linking said plurality of functionally equal network servers together by said local network with network servers and client computers;
ranking said plurality of functionally equal network servers according to available capacity and accessibility;
supporting a pre-defined set of network services at each of said plurality of functionally equal network servers;
establishing a plurality of client computers utilizing said local network with network servers and client computers;
utilizing software constructed and arranged to run on a local client computer for distributed data file storage;
utilizing software constructed and arranged to run on a network server computer for distributed data file storage;
establishing a common file namespace in the form of a tree with a shared root; and
establishing directory files and common files within said common file namespace;
whereby accessibility to said directory files and said common files does not require dedicated access to any particular member of said plurality of functionally equal network servers, but rather depends only upon access to a pre-defined quantity from said plurality of functionally equal network servers.
5. The method ofclaim 4, further including the step of:
providing client file access through the highest ranked member of said plurality of functionally equal network servers with respect to available capacity and accessibility, where client could be on client computer or initiate request from network server computer.
6. The method ofclaim 5, wherein the step of providing client file access further includes the steps of:
requesting a data file by its full name in said common file namespace from any network server;
requesting information about the availability of a plurality of file transaction record pieces necessary for file data assembling;
collecting a plurality of data file pieces for each transaction record;
checking the presence of said data file pieces in the local cache;
checking the presence of said data file pieces in neighboring servers;
sending said data file pieces from a neighboring server to a requesting network server;
sending said data file pieces from said requesting network server to at least one client computer;
assembling said data file pieces into a requested transactions file on a client computer; and
assembling said transactions into a requested file.
7. The method ofclaim 4, wherein the step of establishing directory files and common files within a common file namespace, further includes the steps of:
assigning a unique data file identifier to each of said directory files and said common files, wherein said unique data file identifier is unique across said local network with network servers and client computers and independent of any particular member of said plurality of functionally equal network servers; and
translation of said common files or directory file full pathname within said common file namespace by traverse procedure using said directory file data along a logical pathname into said unique file identifiers.
8. The method ofclaim 4, wherein the step of establishing directory files and common files within a common file namespace, further includes the step of:
creation of representation of file in the form of transactions records;
creating a procedure to disassemble said transaction records based upon a predetermined fault tolerance level; and
disassembling each of said transaction records according to said procedure.
9. The method ofclaim 8, wherein the step of creating a procedure to disassemble each of said transaction records based upon a predetermined fault tolerance level further includes the steps of:
determining the size of each of said transaction records;
determining the required degree of said file redundancy; and
determining the minimum functional number of said servers based upon said predetermined fault tolerance levels.
10. The method ofclaim 8, wherein the step of disassembling each of said transaction records according to said procedure further includes the steps of:
disassembling each of said transaction records into a plurality of data file pieces;
distributing said plurality of data file pieces to a member of said plurality of functionally equal network servers; and
further distributing said plurality of data file pieces to neighboring members of said plurality of functionally equal network servers;
whereby said predetermined fault tolerance level is achieved and each of said files remains accessible.
11. The method ofclaim 4, wherein the step of utilizing client local software for distributed data file storage further includes the steps of:
tracing changes to said local file system of performed local operation system processes and daemons;
putting said changes into the form of transaction records;
disassembling transaction records into data pieces; and
if requested file does not exist in said local file system, when said local file access is requested from local operation system processes and daemons, performs a search procedure using client network software to find whether this data file is stored in the distributed file storage;
if said search procedure finds said requested file and downloads said requested file into local storage, readdresses said local data file access request to said loaded file and continues work in normal mode;
if said search procedure does not find said requested file, finish said local file access request with appropriate local operation system code denoting that file has not been found;
if said requested file exists in said local file system when said local file access is requested from local operating system processes and daemons, a check is performed of configuration conditions, and after positive response of said check performs the same search procedure using client network software to determine whether said requested file is stored in the distributed file storage and overlaps local files by data stored in distributed storage; after a negative response of said check readdresses said local file access request to said found file and continue work in normal mode.
12. The method ofclaim 4, wherein the step of utilizing client network software for distributed file storage further includes the steps of:
communicating with the network servers;
recording said disassembled transaction pieces created by said software running on said local client computer into the distributed file storage; and
searching for pieces of said transaction records of said data file inside distributed storage;
collecting said pieces of said transaction records of said data file; and
assembling said transaction records and said files and putting them into the local file system of said client computer.
13. The method ofclaim 4, wherein the step of utilizing client network software for distributed file storage further includes the steps of:
requesting a fault tolerance level;
sending transactional file records to the client network software;
disassembling said transactional file records into transactional data file pieces;
distributing said transactional data file pieces to a network server;
further distributing said data file pieces to neighboring servers;
whereby said requested fault tolerance level is achieved.
14. The method ofclaim 13, wherein said step of requesting a fault tolerance level further includes the steps of:
determining the required degree of redundancy of said transactional file record pieces;
determining the required number of said transactional file record pieces;
determining the minimum number of functional servers;
whereby all data files in storage remain accessible.
15. A method of organizing distributed file storage, comprising the steps of:
storing a data file as a series of transactions whereby each of said transactions is an incremental change which is integral and indivisible;
ordering said transactions by time;
storing each of said transactions logically as a special separate file with a unique transaction identifier;
collecting all the transactions for a certain time period;
reassembling said data file from said plurality of transactions.
US10/193,8302001-07-112002-07-11Distributed transactional network storage systemAbandonedUS20030041097A1 (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
US10/193,830US20030041097A1 (en)2001-07-112002-07-11Distributed transactional network storage system
US10/293,196US7886016B1 (en)2001-07-112002-11-13Distributed transactional network storage system

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US30465501P2001-07-112001-07-11
US10/193,830US20030041097A1 (en)2001-07-112002-07-11Distributed transactional network storage system

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
US10/293,196ContinuationUS7886016B1 (en)2001-07-112002-11-13Distributed transactional network storage system

Publications (1)

Publication NumberPublication Date
US20030041097A1true US20030041097A1 (en)2003-02-27

Family

ID=26889395

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US10/193,830AbandonedUS20030041097A1 (en)2001-07-112002-07-11Distributed transactional network storage system
US10/293,196Expired - Fee RelatedUS7886016B1 (en)2001-07-112002-11-13Distributed transactional network storage system

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
US10/293,196Expired - Fee RelatedUS7886016B1 (en)2001-07-112002-11-13Distributed transactional network storage system

Country Status (1)

CountryLink
US (2)US20030041097A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20060253502A1 (en)*2005-05-062006-11-09Microsoft CorporationMaintenance of link level consistency between database and file system
US20070118559A1 (en)*2005-11-182007-05-24Microsoft CorporationFile system filters and transactions
US20070165865A1 (en)*2003-05-162007-07-19Jarmo TalvitieMethod and system for encryption and storage of information
US20100106934A1 (en)*2008-10-242010-04-29Microsoft CorporationPartition management in a partitioned, scalable, and available structured storage
WO2010048027A3 (en)*2008-10-242010-06-17Microsoft CorporationAtomic multiple modification of data in a distributed storage system
US20100235878A1 (en)*2009-03-132010-09-16Creative Technology Ltd.Method and system for file distribution
US20120176638A1 (en)*2004-09-072012-07-12Canon Kabushiki KaishaInformation processing device capable of outputing print data to print data device, and control method thereof
US20120226714A1 (en)*2011-03-022012-09-06Cleversafe, Inc.Selecting a directory of a dispersed storage network
US20140250073A1 (en)*2013-03-012014-09-04Datadirect Networks, Inc.Asynchronous namespace maintenance
US9268834B2 (en)2012-12-132016-02-23Microsoft Technology Licensing, LlcDistributed SQL query processing using key-value storage system
US20160371353A1 (en)*2013-06-282016-12-22Qatar FoundationA method and system for processing data
US20170195333A1 (en)*2012-10-052017-07-06Gary Robin MazeDocument management systems and methods
US10635997B1 (en)*2012-06-152020-04-28Amazon Technologies, Inc.Finite life instances
CN112532700A (en)*2020-11-172021-03-19华帝股份有限公司Data transmission method and related equipment
CN114741693A (en)*2021-11-182022-07-12北京珞安科技有限责任公司Operation and maintenance system and method for safety protection
CN115292420A (en)*2022-10-102022-11-04天津南大通用数据技术股份有限公司Method and device for rapidly loading data in distributed database
CN116149575A (en)*2023-04-202023-05-23北京大学 Method and system for writing to redundant disk array for server-less perception computing

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6526448B1 (en)*1998-12-222003-02-25At&T Corp.Pseudo proxy server providing instant overflow capacity to computer networks
US10812590B2 (en)2017-11-172020-10-20Bank Of America CorporationSystem for generating distributed cloud data storage on disparate devices
US10866963B2 (en)2017-12-282020-12-15Dropbox, Inc.File system authentication
JP6949801B2 (en)2018-10-172021-10-13株式会社日立製作所 Storage system and data placement method in the storage system
CN109548060B (en)*2018-12-292022-05-13广州敬信药草园信息科技有限公司 A processing method for abnormal disconnection of recording and broadcasting network

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5555404A (en)*1992-03-171996-09-10Telenor AsContinuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
US6662307B1 (en)*1993-06-142003-12-09Unisys CorporationDisk recovery/reconstruction
JP3817339B2 (en)*1997-06-262006-09-06株式会社日立製作所 File input / output control method
WO1999023571A1 (en)*1997-11-031999-05-14Inca Technology, Inc.Automatically configuring network-name-services
US6119005A (en)*1998-05-272000-09-12Lucent Technologies Inc.System for automated determination of handoff neighbor list for cellular communication systems
US6308284B1 (en)*1998-08-282001-10-23Emc CorporationMethod and apparatus for maintaining data coherency
US6560611B1 (en)*1998-10-132003-05-06Netarx, Inc.Method, apparatus, and article of manufacture for a network monitoring system
US6901457B1 (en)*1998-11-042005-05-31Sandisk CorporationMultiple mode communications system
JP2000261482A (en)*1999-03-082000-09-22Sony CorpAddress setting method, client device, server and client server system
US6446218B1 (en)*1999-06-302002-09-03B-Hub, Inc.Techniques for maintaining fault tolerance for software programs in a clustered computer system
US6760763B2 (en)*1999-08-272004-07-06International Business Machines CorporationServer site restructuring
US6366907B1 (en)*1999-12-152002-04-02Napster, Inc.Real-time search engine
US6606643B1 (en)*2000-01-042003-08-12International Business Machines CorporationMethod of automatically selecting a mirror server for web-based client-host interaction
US6952737B1 (en)*2000-03-032005-10-04Intel CorporationMethod and apparatus for accessing remote storage in a distributed storage cluster architecture
US6789076B1 (en)*2000-05-112004-09-07International Business Machines Corp.System, method and program for augmenting information retrieval in a client/server network using client-side searching
KR100390853B1 (en)*2000-06-072003-07-10차상균A Logging Method and System for Highly Parallel Recovery Operation in Main-Memory Transaction Processing Systems
US6988124B2 (en)*2001-06-062006-01-17Microsoft CorporationLocating potentially identical objects across multiple computers based on stochastic partitioning of workload

Cited By (30)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20070165865A1 (en)*2003-05-162007-07-19Jarmo TalvitieMethod and system for encryption and storage of information
US9424501B2 (en)2004-09-072016-08-23Canon Kabushiki KaishaInformation processing device capable of outputting print data to print device, and control method thereof
US8760698B2 (en)*2004-09-072014-06-24Canon Kabushiki KaishaInformation processing device capable of outputting print data to print data device, and control method thereof
US20120176638A1 (en)*2004-09-072012-07-12Canon Kabushiki KaishaInformation processing device capable of outputing print data to print data device, and control method thereof
US8145686B2 (en)*2005-05-062012-03-27Microsoft CorporationMaintenance of link level consistency between database and file system
US20060253502A1 (en)*2005-05-062006-11-09Microsoft CorporationMaintenance of link level consistency between database and file system
US20070118559A1 (en)*2005-11-182007-05-24Microsoft CorporationFile system filters and transactions
US20110113021A1 (en)*2005-11-182011-05-12Microsoft CorporationFile system filters and transactions
US8078639B2 (en)2005-11-182011-12-13Microsoft CorporationFile system filters and transactions
WO2010048027A3 (en)*2008-10-242010-06-17Microsoft CorporationAtomic multiple modification of data in a distributed storage system
CN102197365A (en)*2008-10-242011-09-21微软公司 Atomic multiple modification of data in a distributed memory system
US8255373B2 (en)2008-10-242012-08-28Microsoft CorporationAtomic multiple modification of data in a distributed storage system
US9996572B2 (en)2008-10-242018-06-12Microsoft Technology Licensing, LlcPartition management in a partitioned, scalable, and available structured storage
US20100106934A1 (en)*2008-10-242010-04-29Microsoft CorporationPartition management in a partitioned, scalable, and available structured storage
US20100235878A1 (en)*2009-03-132010-09-16Creative Technology Ltd.Method and system for file distribution
US20120226714A1 (en)*2011-03-022012-09-06Cleversafe, Inc.Selecting a directory of a dispersed storage network
US9658911B2 (en)*2011-03-022017-05-23International Business Machines CorporationSelecting a directory of a dispersed storage network
US10635997B1 (en)*2012-06-152020-04-28Amazon Technologies, Inc.Finite life instances
US20170195333A1 (en)*2012-10-052017-07-06Gary Robin MazeDocument management systems and methods
US10536459B2 (en)*2012-10-052020-01-14Kptools, Inc.Document management systems and methods
US9626404B2 (en)2012-12-132017-04-18Microsoft Technology Licensing, LlcDistributed SQL query processing using key-value storage system
US9268834B2 (en)2012-12-132016-02-23Microsoft Technology Licensing, LlcDistributed SQL query processing using key-value storage system
US9792344B2 (en)2013-03-012017-10-17Datadirect Networks, Inc.Asynchronous namespace maintenance
US9020893B2 (en)*2013-03-012015-04-28Datadirect Networks, Inc.Asynchronous namespace maintenance
US20140250073A1 (en)*2013-03-012014-09-04Datadirect Networks, Inc.Asynchronous namespace maintenance
US20160371353A1 (en)*2013-06-282016-12-22Qatar FoundationA method and system for processing data
CN112532700A (en)*2020-11-172021-03-19华帝股份有限公司Data transmission method and related equipment
CN114741693A (en)*2021-11-182022-07-12北京珞安科技有限责任公司Operation and maintenance system and method for safety protection
CN115292420A (en)*2022-10-102022-11-04天津南大通用数据技术股份有限公司Method and device for rapidly loading data in distributed database
CN116149575A (en)*2023-04-202023-05-23北京大学 Method and system for writing to redundant disk array for server-less perception computing

Also Published As

Publication numberPublication date
US7886016B1 (en)2011-02-08

Similar Documents

PublicationPublication DateTitle
US20030041097A1 (en)Distributed transactional network storage system
US8122284B2 (en)N+1 failover and resynchronization of data storage appliances
US7930382B1 (en)Distributed network data storage system and method using cryptographic algorithms
EP1782289B1 (en)Metadata management for fixed content distributed data storage
US8935211B2 (en)Metadata management for fixed content distributed data storage
Pu et al.Regeneration of replicated objects: A technique and its Eden implementation
US7653699B1 (en)System and method for partitioning a file system for enhanced availability and scalability
US6658589B1 (en)System and method for backup a parallel server data storage system
US9785691B2 (en)Method and apparatus for sequencing transactions globally in a distributed database cluster
US8255364B2 (en)System for emulating a virtual boundary of a file system for data management at a fileset granularity
US8856091B2 (en)Method and apparatus for sequencing transactions globally in distributed database cluster
US7392425B1 (en)Mirror split brain avoidance
JP3864244B2 (en) System for transferring related data objects in a distributed data storage environment
Goel et al.Data replication strategies in wide-area distributed systems
US7054887B2 (en)Method and system for object replication in a content management system
JP2005502096A (en) File switch and exchange file system
JPH0713751A (en)Selective addition device of side effect of file system
EP2619695A2 (en)System and method for managing integrity in a distributed database
US7778970B1 (en)Method and system for managing independent object evolution
US20050097105A1 (en)Distributed database for one search key
AU2011265370B2 (en)Metadata management for fixed content distributed data storage
Boukerche et al.Servers reintegration in disconnection-resilient file systems for mobile clients
LeendersHeterogeneous storage in hopsfs
CN112380182A (en)Distributed storage method based on disk management mode
To et al.Oracle Database High Availability Best Practices 11g Release 2 (11.2) E10803-06

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:SWSOFT HOLDINGS LTD., VIRGINIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TORMASOV, ALEXANDER;REEL/FRAME:014433/0705

Effective date:20030720

ASAssignment

Owner name:SWSOFT HOLDINGS LTD., VIRGINIA

Free format text:CONFIRMATORY ASSIGNMENT;ASSIGNOR:SWSOFT HOLDINGS, INC.;REEL/FRAME:014433/0820

Effective date:20030720

STCBInformation on status: application discontinuation

Free format text:EXPRESSLY ABANDONED -- DURING EXAMINATION

ASAssignment

Owner name:PARALLELS HOLDINGS, LTD., WASHINGTON

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SWSOFT HOLDINGS, LTD.;REEL/FRAME:027467/0345

Effective date:20111230

ASAssignment

Owner name:PARALLELS IP HOLDINGS GMBH, SWITZERLAND

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PARALLELS HOLDINGS, LTD.;REEL/FRAME:027595/0187

Effective date:20120125


[8]ページ先頭

©2009-2025 Movatter.jp