Patent ID: 7454477
Filing Date: 2008-11-18
Classification: G06F

Abstract:
1. A method of transferring data between services using shared memory, comprising: controlling sharing of a first memory object; determining if outstanding handles to said first memory object exist; if said outstanding handles do not exist, transferring a pointer to said first memory object from a first service to a second service to avoid making a copy of said first memory object; if an outstanding handle to said first memory object does exist, revoking the outstanding handle to said first memory object, including forcibly un-mapping any existing mapping to the first memory object, and creating a new memory object that points to a same memory that said first memory object pointed to, wherein said first memory object cannot be changed; delaying making a copy of said first memory object while said outstanding handles exist but there are no active mappings; and alternating read/write mappings to said memory object between said first service and second service such that neither said first service, nor said second service have a write mapping to said memory object at the same time.