Synchronization of folders shared among multiple clients over a network is provided. A first user of a first client instantiates a folder to be shared, and the folder and its contents are synchronized with a host system. As the user makes changes to the folder and its contents on the first client, t
Synchronization of folders shared among multiple clients over a network is provided. A first user of a first client instantiates a folder to be shared, and the folder and its contents are synchronized with a host system. As the user makes changes to the folder and its contents on the first client, those changes are propagated to the synchronized version on the host server. Other clients who will be sharing the synchronized folder register with the host system and obtain a current version of the synchronized folder and contents. As the contents of the synchronized folder are changed by any of the clients, the changes are propagated to the host system, which in turn delivers the changes to each of the clients registered as sharing that folder. In this way, each client participating in the share has a current version of the folder and its contents.
대표청구항▼
1. A method for synchronizing a shared folder over a network, the method comprising: receiving a first file and an associated first block list at a host system from a first client system;associating the received file with a synchronized folder on the host system, the synchronized folder having an as
1. A method for synchronizing a shared folder over a network, the method comprising: receiving a first file and an associated first block list at a host system from a first client system;associating the received file with a synchronized folder on the host system, the synchronized folder having an associated first namespace and the folder including a plurality of files, each of the plurality of files having an associated block list;receiving a request from the first client system to share the synchronized folder with a second client system;associating the synchronized folder with a second namespace;associating the synchronized folder with the second client system;receiving a request from the second client system for contents of the synchronized folder;providing to the second client system a link from a third namespace to the second namespace, and an indication of each of the plurality of files and its associated block list in the synchronized folder;receiving at the host system a request from the second client system for the first file, the request including blocks identified in the provided first block list;providing the first file including the requested blocks to the second client system;receiving at the host system from the first client system a modification to the first file;updating the first file and its associated first block list according to the received modification;providing an indication to the second client system that the contents of the folder have changed, the indication including the first block list and the updated block list associated with the first file;receiving a request from the second client system for the modification to the first file; andsending, by the host system, a difference between the blocks in the updated block list and the first block list. 2. The method of claim 1 wherein each block identified in the first block list is a hash of a portion of the first file. 3. The method of claim 1 further comprising: providing an indication to a third client system that the contents of the folder have changed, the indication including the first and the updated first block list associated with the first file;receiving a request from the third client system for the modification to the first file;andsending, by the host system to the third client system the difference between the blocks in the updated first block list and the first block list. 4. The method of claim 1 further comprising: receiving, by a notification server at the host system, a request from a plurality of additional client systems to be notified of modifications to the synchronized folder;informing, by the host system, the plurality of additional client systems that the first file has been modified;receiving, by the host system from at least one of the plurality of additional clients, a request for one of the blocks in the updated first block list, the request also identifying at least one of the blocks in the first block list;determining, by a block server, a difference between the identified first block and the requested updated first block; andsending, by the block server to the additional client, the determined difference between the identified first block and the requested updated first block. 5. A computer program product for synchronizing a folder across a computer network, the computer program product stored on a non-transitory computer readable medium and including instructions that when loaded into memory cause a computer processor to carry out the steps of: receiving a first file and an associated first block list at a host system from a first client system;associating the received file with a synchronized folder on the host system, the synchronized folder having an associated first namespace and the folder including a plurality of files, each of the plurality of files having an associated block list;receiving a request from the first client system to share the synchronized folder with a second client system;associating the synchronized folder with a second namespace;associating the synchronized folder with the second client system;receiving a request from the second client system for contents of the synchronized folder;providing to the second client system a link from a third namespace to the second namespace, and an indication of each of the plurality of files and its associated block list in the synchronized folder;receiving at the host system a request from the second client system for the first file, the request including blocks identified in the provided first block list;providing the first file including the requested blocks to the second client system;receiving at the host system from the first client system a modification to the first file;updating the first file and its associated first block list according to the received modification;providing an indication to the second client system that the contents of the folder have changed, the indication including the first block list and the updated block list associated with the first file;receiving a request from the second client system for the modification to the first file; andsending, by the host system, a difference between the blocks in the updated block list and the first block list. 6. The computer program product of claim 5 wherein the instructions further cause the processor to carry out the steps of: providing an indication to a third client system that the contents of the folder have changed, the indication including the first and the updated first block list associated with the first file;receiving a request from the third client system for the modification to the first file;andsending, by the host system to the third client system the difference between the blocks in the updated first block list and the first block list. 7. The computer program product of claim 5 wherein the instructions further cause the processor to carry out the steps of: receiving, by a notification server at the host system, a request from a plurality of additional client systems to be notified of modifications to the synchronized folder;informing, by the host system, the plurality of additional client systems that the first file has been modified;receiving, by the host system from at least one of the plurality of additional clients, a request for one of the blocks in the updated first block list, the request also identifying at least one of the blocks in the first block list;determining, by a block server, a difference between the identified first block and the requested updated first block; andsending, by the block server to the additional client, the determined difference between the identified first block and the requested updated first block. 8. The computer program product of claim 5 wherein each block identified in the first block list is a hash of a portion of the first file.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (8)
Zhang, Chenglin, Browser-to-browser, dom-based, peer-to-peer communication with delta synchronization.
Multer, David L.; Garner, Robert E.; Ridgard, Leighton A.; Stannard, Liam J.; Cash, Donald W.; Onyon, Richard M., Data transfer and synchronization system.
Schauser, Klaus E.; Christiansen, Bernd Oliver; Von Eicken, Thorsten; Alexandrov, Albert; Saavedra, Rafael H., Method and system for synchronizing presentation of a dynamic data set to a plurality of nodes.
Stillion, Cameron D.; Hamid, Amer G.; Frankel, Glenn L., System, method, and computer storage medium for establishing sharing of resources with reciprocal requests included in sharing messages.
Rawat, Anshul; Wentz, Brian D.; Guzak, Chris J.; De Vorchik, David G.; Giampiero, Sierra M.; Moore, Jason F.; Brezak, John E.; Zhu, Ming; Samji, Mohammed A., User data profile namespace.
Dorman, Griffin; Asok, Satish; Self, Matthew, Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system.
Goldberg, Arnold; Asok, Satish; Lee, David T., Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof.
Tan, Simon; Maynard, David; Yao, Rico; Cung, Don, Disabling the self-referential appearance of a mobile application in an intent via a background registration.
Mackenzie, David; Smith, Benjamin Campbell; Bishopric, Anthony, File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform.
Dorman, Griffin; Sheffield, Philip; Bauer, Mark; Lee, Sang, Functionalities, features, and user interface of a synchronization client to a cloud-based environment.
Smith, Michael; Smith, Benjamin Campbell; Tan, Simon; Yao, Rico, Identification verification mechanisms for a third-party application to access content in a cloud-based platform.
Smith, Benjamin Campbell; Mackenzie, David; Lu, Yiming; Potrebic, Peter; Jourda, Florian; Parmar, Kunal, Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform.
Pearl, Anne Elizabeth Hiatt; Blechschmidt, Jenica Nash; Vinnik, Natalia; Waldrop, Robert Kyle; Devlin, Sam Michael; Cipolla, Steven Luis; Jalagam, Sesh, Managing flow-based interactions with cloud-based shared content.
Smith, Michael; Smith, Benjamin Campbell; Tan, Simon; Yao, Rico, Metadata enabled third-party application access of content at a cloud-based platform via a native client to the cloud-based platform.
Simhon, Joey Joseph; Ben-David, Amihay; Ben-Aharon, Ran, Method and system for searching for applications respective of a connectivity mode of a user device.
Koorapati, Nipunn; Rude, Christopher; von Muhlen, Marcio; Bunger, Nils, Peer-to-peer synchronization protocol for multi-premises hosting of digital content items.
Lockhart, Kimber; Seibert, Jr., Jeffrey H.; Silva, Nicholas; Savage, John Brandon; Lee, David T.; Mand, Arshdeep, Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience.
Mackenzie, David; Spielberg, Miles, Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform.
Barreto, Tomas; Mackenzie, David; Mand, Arshdeep; Spielberg, Miles, Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform.
Mackenzie, David; Spielberg, Miles; Treyger, Alex; Luecke, Ryan; Bercovici, Tamar; Barreto, Tomas, Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform.
von Muhlen, Marcio; Bunger, Nils, Selective synchronization and distributed content item block caching for multi-premises hosting of digital content items.
Lockhart, Kimber; Platti, Adam; Ebertz, Joy; Silva, Nicholas, Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment.
Smith, Michael; Smith, Benjamin Campbell; Tan, Simon; Yao, Rico, System and method for a third-party application to access content within a cloud-based platform.
Savage, John Brandon, System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment.
Kiang, Andy; Tu, Kevin; Sheffield, Philip; Vaughn, Alexander; Heilig, Timothy; Tatarchenko, Elena Andreevna; Duvall, Matthew Taro; Vinnik, Natalia, System and method for advanced control tools for administrators in a cloud-based service.
Tan, Simon; Maynard, David; Yao, Rico; Cung, Don, System and method for creating a secure channel for inter-application communication based on intents.
Kasterstein, Rami; Ben-David, Amihay; Simhon, Joey Joseph, System and method for dynamically displaying personalized home screens respective of user queries.
Savage, Brandon; Casparro, Tony; Tan, Jeff; Amoli, Sahil, System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform.
Hawa, Raja Elias; Timmermans, Matthew David George, Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents.
Vinnik, Natalia; Byron, Chris, Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform.
Smith, Benjamin Campbell; Mackenzie, David; Lu, Yiming; Parmar, Kunal; Potrebic, Peter, Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.