Aggregated lock management for locking aggregated files in a switched file system
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-007/00
G06F-017/30
G06F-015/167
G06F-015/16
출원번호
US-0336834
(2003-01-02)
등록번호
US-7509322
(2009-03-24)
발명자
/ 주소
Miloushev,Vladimir
Nickolov,Peter
출원인 / 주소
F5 Networks, Inc.
대리인 / 주소
Bromberg & Sunstein LLP
인용정보
피인용 횟수 :
31인용 특허 :
66
초록▼
A switched file system, also termed a file switch, is logically positioned between client computers and file servers in a computer network. The file switch distributes user files among multiple file servers using aggregated file, transaction and directory mechanisms. The file switch ensures consist
A switched file system, also termed a file switch, is logically positioned between client computers and file servers in a computer network. The file switch distributes user files among multiple file servers using aggregated file, transaction and directory mechanisms. The file switch ensures consistent and atomic behavior of the switched file system by aggregating in a deterministic way the transactions initiated by the client of multiple independent file switches so that only one of the multiple concurrent transactions attempted on the same aggregated data file may succeed, or so that the transactions are serialized so as to be performed as a sequence of atomic operations. In addition, the integrity of the aggregated data file is safeguarded by issuing locking requests on behalf of certain client applications that do not observe locking mechanism consistently.
대표청구항▼
What is claimed is: 1. A method of acquiring locks on a user file by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of f
What is claimed is: 1. A method of acquiring locks on a user file by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, comprising: receiving, by the file switch, a user request requiring a lock on a subset of the user file; identifying, by the file switch, a subset of the file servers that store portions of the user file that together comprise the subset of the user file based on metadata stored in a metafile; sending, by the file switch, a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and aggregating, by the file switch, the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. 2. A method of acquiring locks on a user file by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, comprising: receiving, by the file switch, a user request requiring a lock on a subset of the user file; accessing, by the file switch, a metafile that stores at least a portion of metadata for the user file including information identifying a set of file servers that store respective defined portions of the user file; determining, by the file switch, based on the information stored in the metafile, a subset of the file servers that store portions of the user file that together comprise the subset of the user file; sending, by the file switch, a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and aggregating, by the file switch, the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. 3. A method of acquiring locks on user files by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, where each user file of at least a plurality of the user files is divided into portions stored on a plurality of file servers, among the group of file servers, comprising: receiving, by the file switch, a user request requiring a lock on a subset of a specified user file; accessing, by the file switch, a metafile that stores at least a portion of metadata for the user file including information identifying a set of file servers that stores respective defined portions of the specified user file; determining, by the file switch, based on the information stored in the metafile, a subset of the file servers that store portions of the specified user file that together comprise the subset of the specified user file; sending, by the file switch, a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the specified user file stored therein, and to produce a lock acquisition result; and aggregating, by the file switch, the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. 4. The method of claim 3, further including: when the aggregated lock acquisition result is a positive result, continuing processing of the user request by the file switch performing an operation on the subset of the specified user file. 5. The method of claim 3, further including: when the aggregated lock acquisition result is a negative result, deferring processing of the user request by the file switch for defined period of time and then repeating performance of the lock acquisition operation at each file server in the subset of file servers. 6. The method of claim 3, further including: when the aggregated lock acquisition result is a negative result, returning a negative result in response to the user request by the file switch. 7. The method of claim 3, wherein the accessing includes accessing cached information from the metafile by the file switch. 8. A method of managing locks on a user file by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, comprising: receiving, by the file switch, a user request requiring a lock on a subset of the user file; accessing, by the file switch, at least one metafile that stores at least a portion of metadata for the user file including information identifying a set of file servers that store respective defined portions of the user file; performing, by the file switch, a lock acquisition operation on the at least one metafile, the lock acquisition operation using a first range of file positions corresponding to the subset of the user file, the first range of file positions falling at least partially outside file positions located within the metafile, and producing an aggregated lock acquisition result; and when the aggregated lock acquisition result is positive, continuing processing of the user request by the file switch performing an operation on the subset of the user file. 9. The method of claim 8, further including: when the aggregated lock acquisition result is a negative result, deferring processing of the user request by the file switch for defined period of time and then repeating performance of the lock acquisition operation. 10. The method of claim 8, further including: when the aggregated lock acquisition result is a negative result, blocking processing of the user request by the file switch. 11. The method of claim 8, wherein the continuing processing includes determining, by the file switch, based on the information stored in the metafile, a subset of the file servers that store portions of the user file that together comprise the subset of the user file. 12. The method of claim 11, the continuing processing further including: sending, by the file switch, a lock request to each file server in the subset of file servers to perform an operation on the respective portion of the user file stored therein, and to produce a result; and aggregating, by the file switch, the results from the subset of file servers to produce an aggregated result. 13. A file switch for acquiring locks on a user file in a computer network in which the file switch is logically positioned between a client computer and a group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, the file switch comprising: at least one network interface for communication with the client computer and the group of file servers; and a lock manager coupled to the at least one network interface and configured to receive a user request requiring a lock on a subset of the user file; identify a subset of the file servers that store portions of the user file that together comprise the subset of the user file based on metadata stored in a metafile; send a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and aggregate the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. 14. The file switch of claim 13, wherein the lock manager is configured to identify the subset of the file sewers that store portions of the user file by accessing a metafile that stores at least a portion of metadata for the user file including information identifying the subset of file sewers and determining the subset of file sewers based on the information stored in the metafile. 15. The file switch of claim 13, wherein a plurality of user files is divided into portions stored on a plurality of file servers, and wherein the user request relates to a specified user file from among the plurality of user files. 16. The file switch of claim 13, wherein the lock manager is configured to continue processing of the user request by performing an operation on the subset of the user file, when the aggregated lock acquisition result is a positive result. 17. The file switch of claim 13, wherein the lock manager is configured to defer processing of the user request for a defined period of time and then repeat performance of the lock acquisition operation at each file server in the subset of file sewers, when the aggregated lock acquisition result is a negative result. 18. The file switch of claim 13, wherein the lock manager is configured to return a negative result in response to the user request, when the aggregated lock acquisition result is a negative result. 19. The file switch of claim 13, wherein the lock manager is configured to access the metafile from cached information. 20. A file switch for acquiring locks on a user file in a computer network in which the file switch is logically positioned between a client computer and a group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, the file switch comprising: at least one network interface for communication with the client computer and the group of file servers; and a lock manager coupled to the at least one network interface and configured to receive a user request requiring a lock on a subset of the user file; access at least one metafile that stores information identifying a set of file servers that store respective defined portions of the user file; perform a lock acquisition operation on the at least one metafile, the lock acquisition operation using a first range of file positions corresponding to the subset of the user file, the first range of file positions falling at least partially outside file positions located within the metafile, and produce an aggregated lock acquisition result; and when the aggregated lock acquisition result is positive, continue processing of the user request by performing an operation on the subset of the user file. 21. The file switch of claim 20, wherein the lock manager is configured to defer processing of the user request for a defined period of time and then repeat performance of the lock acquisition operation, when the aggregated lock acquisition result is a negative result. 22. The file switch of claim 20, wherein the lock manager is configured to block processing of the user request, when the aggregated lock acquisition result is a negative result. 23. The file switch of claim 20, wherein the lock manager is configured to continue processing of the user request by determining, based on the information stored in the metafile, a subset of the file servers that store portions of the user file that together comprise the subset of the user file. 24. The file switch of claim 23, wherein the lock manager is configured to continue processing of the user request by sending a lock request to each file server in the subset of file servers to perform an operation on the respective portion of the user file stored therein, and to produce a result; and aggregating the results from the subset of file servers to produce an aggregated result. 25. A system for acquiring locks on a user file in a computer network having a client computer, the system comprising: a group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers; and a file switch logically positioned between the client computer and the group of file servers, the file switch configured to receive a user request requiring a lock on a subset of the user file; identify a subset of the file servers that store portions of the user file that together comprise the subset of the user file based on metadata stored in a metafile; send a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and aggregate the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. 26. The system of claim 25, wherein the file switch is configured to identify the subset of the file servers that store portions of the user file by accessing a metafile that stores at least a portion of metadata for the user file including information identifying the subset of file servers and determining the subset of file servers based on the information stored in the metafile. 27. The system of claim 25, wherein a plurality of user files is divided into portions stored on a plurality of file servers, and wherein the user request relates to a specified user file from among the plurality of user files. 28. The system of claim 25, wherein the file switch is configured to continue processing of the user request by performing an operation on the subset of the user file, when the aggregated lock acquisition result is a positive result. 29. The system of claim 25, wherein the file switch is configured to defer processing of the user request for a defined period of time and then repeat performance of the lock acquisition operation at each file server in the subset of file servers, when the aggregated lock acquisition result is a negative result. 30. The system of claim 25, wherein the file switch is configured to return a negative result in response to the user request, when the aggregated lock acquisition result is a negative result. 31. The system of claim 25, wherein the file switch is configured to access the metafile from cached information. 32. A system for acquiring locks on a user file in a computer network having a client computer, the system comprising: a group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers; and a file switch logically positioned between the client computer and the group of file servers, the file switch configured to receive a user request requiring a lock on a subset of the user file; access at least one metafile that stores information identifying a set of file servers that store respective defined portions of the user file; perform a lock acquisition operation on the at least one metafile, the lock acquisition operation using a first range of file positions corresponding to the subset of the user file, the first range of file positions falling at least partially outside file positions located within the metafile, and produce an aggregated lock acquisition result; and when the aggregated lock acquisition result is positive, continue processing of the user request by performing an operation on the subset of the user file. 33. The system of claim 32, wherein the file switch is configured to defer processing of the user request for a defined period of time and then repeat performance of the lock acquisition operation, when the aggregated lock acquisition result is a negative result. 34. The system of claim 32, wherein the file switch is configured to block processing of the user request, when the aggregated lock acquisition result is a negative result. 35. The system of claim 32, wherein the file switch is configured to continue processing of the user request by determining, based on the information stored in the metafile, a subset of the file servers that store portions of the user file that together comprise the subset of the user file. 36. The system of claim 35, wherein the file switch is configured to continue processing of the user request by sending a lock request to each file server in the subset of file servers to perform an operation on the respective portion of the user file stored therein, and to produce a result; and aggregating the results from the subset of file servers to produce an aggregated result.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (66)
Agarwalla,Rajesh S.; Doyle,Ronald P.; Jiang,Tianyu; Niranjan,Thirumale; Ramamurthy,Srikanth, Addressing the name space mismatch between content servers and content caching systems.
Gardner Alan S. (Potomac MD) McElrath Rodney D. (Fairfax VA) Harvey Stephen L. (Port Haywood VA), Apparatus and method for data storage and retrieval using bandwidth allocation.
Reed Drummond Shattuck ; Heymann Peter Earnshaw ; Mushero Steven Mark ; Jones Kevin Benard ; Oberlander Jeffrey Todd ; Banay Dan, Computer-based communication system and method using metadata defining a control structure.
Blickenstaff Ronald L. (Boulder CO) Brant Catherine I. (Boulder CO) Dodd Paul D. (Niwot CO) Kirchner Anton H. (Boulder CO) Montez Jennifer K. (Thornton CO) Trede Brian E. (Boulder CO) Winter Richard , Data storage management for network interconnected processors.
Blickenstaff Ronald L. ; Brant Catherine Irlam ; Dodd Paul David ; Kirchner Anton H. ; Montez Jennifer Kay ; Trede Brian Eldred ; Winter Richard Allen, Data storage management for network interconnected processors.
Leblang David B. (Wayland MA) Allen Larry W. (Cambridge MA) Chase ; Jr. Robert P. (Newton MA) Douros Bryan P. (Framingham MA) Jabs David E. (Sudbury MA) McLean ; Jr. Gordon D. (Brookline MA) Minard D, Dynamic rule-based version control system.
Akizawa Mitsuru (Hachioji JPX) Yamashita Hirofumi (Yokohama JPX) Kawaguchi Hisamitsu (Sagamihara JPX) Tada Katsumi (Yokohama JPX) Kato Kanji (Yokohama JPX) Kito Akira (Ebina JPX) Yamada Hidenori (Had, File server system and file access control method of the same.
Xu Yikang ; Vahalia Uresh K. ; Jiang Xiaoye ; Gupta Uday ; Tzelnic Percy, File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems.
Krakauer Arno S. (San Jose CA) Gawlick Dieter (Palo Alto CA) Colgrove John A. (Mountain View CA) Wilmot ; II Richard B. (Lafayette CA), File system for a plurality of storage classes.
Steven R. Soltis ; Matthew T. O'Keefe ; Thomas M. Ruwart ; Gerald A. Houlder ; James A. Coomes ; Michael H. Miller ; Edward A. Soltis ; Raymond W. Gilson ; Kenneth W. Preslan, Global file system and data storage device locks.
Meijer Ronald ; Hebenthal Douglas C. ; Dillingham Lara N. ; Stebbens Kim A. ; Jacoby James D. ; Romano Anthony C., Integration of physical and virtual namespace.
Savitzky Stephen R. ; Wolff Gregory J., Method and apparatus for document processing using agents to process transactions created based on document content.
Cabrera Luis Felipe ; Long Darrell Don Earl, Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write inpu.
Harrison Joel N. ; Rege Satish L. ; Carlson ; Jr. Frederick R., Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device.
Dan Asit ; Kienzle Martin Gerhard ; Sitaram Dinkar ; Yu Philip Shi-lung, Method and system for load balancing by replicating a portion of a file being read by a first stream onto second device and reading portion with a second stream capable of accessing.
Gabbe John D. (Little Silver NJ) Ginsberg Allen (Jackson NJ) Robinson Bethany S. (Colts Neck NJ), Method and system for operating a data processor to index primary data in real time with iconic table of contents.
Taylor, Clement G.; Chin, Danny; Lerman, Jesse S.; Goode, Christopher W. B., Method of data management for efficiently storing and retrieving data to respond to user access requests.
Ulrich,Thomas R.; Schweitzer,James R.; Bolstad,Gregory D.; Randall,Jay G.; Staub,John R.; Priester,George W., Replacing file system processors by hot swapping.
William J. Bolosky ; John R. Douceur ; Scott M. Cutshall ; Richard F. Rashid ; Nathan P. Myhrvold ; David A. Goebel, Single instance store for file systems.
Ericson, George M.; Solomon, Robert C.; Brown, Jeffrey A.; Haynes, Jr., John E., Switch-based acceleration of computer data storage employing aggregations of disk arrays.
Anand Tejwansh S. ; Wikle Glenn K. ; Lindsay Marshall P. ; Schubert Richard N. ; Lettington Drew T. ; Ludwig Jeffrey P., System and method for performing intelligent analysis of a computer database.
Ma,Xiaonan; Hsu,Windsor Wee Sun, System and method for reliably storing data and providing efficient incremental backup and asynchronous mirroring by preferentially handling new data.
Mahoney James V. ; Blomberg Jeanette L. ; Trigg Randall H. ; Shin Christian K., System for searching a corpus of document images by user specified document layout components.
Patel,Sujal M.; Mikesell,Paul A.; Schack,Darren P.; Passey,Aaron J., Systems and methods for providing a distributed file system incorporating a virtual hot spare.
Miller Arnold (Bellevue WA) Neeman Yuval (Bellevue WA) Contorer Aaron M. (Kirkland WA) Misra Pradyumna K. (Issaquah WA) Seaman Michael R. C. (Kirkland WA) Rubin Darryl E. (Redmond WA), Unification of directory service with file system services.
Bainbridge Andrew John,GBX ; Cocks Stephen James,GBX ; Ferguson Donald Francis ; Freund Thomas,GBX ; Leff Avraham ; Normington Glyn,GBX ; Rayfield James Thomas ; Storey Robert Anthony,GBX, Updating server-related data at a client.
Fitzgerald Robert P. (Redmond WA) Barrera ; III Joseph S. (Issaquah WA) Bolosky William J. (Issaquah WA) Draves ; Jr. Richard P. (Kirkland WA) Jones Michael B. (Redmond WA) Levi Steven P. (Redmond WA, Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling.
Miloushev, Vladimir I.; Nickolov, Peter A., Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system.
Lacapra, Francesco; Duvvuri, Srinivas P.; Miloushev, Vladimir I.; Nikolova, legal representative, Krasimira; Nickolov, Peter A., File aggregation in a switched file system.
Cai, Hao; Michels, Timothy S.; Szabo, Paul I., Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system.
Berger, Michael A.; Curley, Robert T.; Dietterich, Daniel J.; Ferguson, JC; Homberg, Michael J.; McCann, Benjamin E.; Nicklin, Jonathan C.; Porter, David; Raman, Suchi; Rasmussen, Craig S.; Soha, Michael J.; Teixeira, Thomas J.; Whitmore, Bryan T.; Wisniewski, Leonard F.; Wu, Chin-Cheng, Method and apparatus for adaptive services networking.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.