US 7,478,116 B2
Mechanism to exchange primary data stream of a file
Mahesh K. Sreenivas, Sammamish, Wash. (US); Arkadi Brjazovski, Redmond, Wash. (US); Stefan R. Steiner, Sammamish, Wash. (US); Rohan Kumar, Redmond, Wash. (US); and Sameet H. Agarwal, Redmond, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Feb. 17, 2006, as Appl. No. 11/356,940.
Prior Publication US 2007/0214190 A1, Sep. 13, 2007
Int. Cl. G06F 12/00 (2006.01)
U.S. Cl. 707—203  [707/10; 707/204; 709/201; 709/223; 709/225] 16 Claims
OG exemplary drawing
 
1. A file stream exchange system, comprising:
a processor
a file system agent coupled to said processor that is a user mode component that allows exchange of a recipient file backed item and a donor file backed item, if no open handles on the donor file backed item exist; and,
a replace stream component that is a kernel mode component that swaps mapping of the recipient file backed item with the donor file backed item without violating common criteria for security, the replace stream component provides a kernel-level infrastructure that allows user-made processes to register, own, and manage Universal Naming Convention (UNC) namespaces;
wherein the replace stream component accepts a transaction bind token, and if the transaction bind token is passed then the replace stream component is used to bind to a transaction context prescribed by that bind token, if not, the replace stream component creates a own transaction and commits the transaction if actions are successful; and
wherein the donor file backed item is not deleted on close of the handle, and the recipient file backed item and donor file backed item retain basic attributes and the basic attributes are not swapped by the system.