Method and System for Ensuring a Sharing Violation Free Environment for a Trusted Software Agent
Abstract
A method and system is provided by which a trusted software agent can perform in a sharing violation free environment, which reduces complexity and eliminates interference with applications. A method for handling sharing violations in a computer system comprises intercepting a request by an application for access to a file, capturing a sharing violation raised by the operating system, determining whether the sharing violation is due to the trusted agent, and if so holding the request by the application for access to the file until the trusted agent no longer holds the file, and then reprocessing the request by the application for access to the file. The application is not aware that the sharing violation due to the trusted agent occurred, or that the request was pending and reprocessed because at the end of the process the application receives a file handle as if a sharing violation did not occur.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for handling sharing violations in a computer system comprising:
intercepting a request by an application directed to a file in a file system of an operating system for access to the file; capturing a sharing violation issued by the operating system in response to the request; determining whether the sharing violation was due to a trusted agent, wherein the trusted agent is a software agent configured to monitor file operations performed on the computer system; storing one or more file access requests from the application in a queue if the sharing violation was due to the trusted agent; and reprocessing the one or more requests by the application for access to the file after the trusted agent releases the file.
2 . The method of claim 1 , wherein the act of determining whether the sharing violation was due to the trusted agent comprises determining that a count of the file access requests by the trusted agent triggered by the application is greater than zero.
3 . The method of claim 2 , further comprising signaling the trusted agent that the sharing violation due to the trusted agent has occurred.
4 . The method of claim 2 , further comprising determining that the trusted agent no longer has access to the file when the count equals zero.
5 . The method of claim 4 , wherein the act of reprocessing the request by the application for access to the file comprises:
removing the request by the application for access to the file from the queue; and resending the request by the application for access to the file.
6 . The method of claim 1 , wherein the act of determining whether the sharing violation was due to the trusted agent comprises:
making a first determination, prior to capturing the sharing violation issued by the operating system, of whether a count of requests for access by the trusted agent to the file is greater than zero and when the count is greater than zero adding the request by the application for access to the file to a list; making a second determination, after capturing the sharing violation issued by the operating system, of whether the count of requests for access by the trusted agent to the file is greater than zero; and determining that the sharing violation is due to the trusted agent when the request is in the list or the count is greater than zero after the second determination is made.
7 . The method of claim 6 , further comprising signaling the trusted agent that the sharing violation due to the trusted agent has occurred.
8 . The method of claim 6 , further comprising determining that the trusted agent no longer has access to the file when the count equals zero.
9 . The method of claim 8 , wherein the act of reprocessing the request by the application for access to the file comprises:
removing the request by the application for access to the file from the queue and from the list; and resending the request by the application for access to the file.
10 . A system for handling sharing violations in a computer system comprising:
a processor operable to execute computer program instructions; a memory operable to store computer program instructions executable by the processor; and computer program instructions stored in the memory and executable to cause the processor to: intercept a request by an application directed to a file in a file system of an operating system for access to the file; capture a sharing violation issued by the operating system in response to the request; determine whether the sharing violation was due to a trusted agent, wherein the trusted agent is a software agent configured to monitor file operations performed on the computer system; store one or more file access requests from the application in a queue if the sharing violation was due to the trusted agent; and reprocess the one or more requests by the application for access to the file after the trusted agent releases the file.
11 . The system of claim 10 , wherein the instructions to cause the processor to determine whether the sharing violation was due to the trusted agent comprise instructions to cause the processor to determine that a count of the file access requests by the trusted agent triggered by the application is greater than zero.
12 . The system of claim 11 , further comprising instructions to cause the processor to signal the trusted agent that the sharing violation due to the trusted agent has occurred.
13 . The system of claim 11 , further comprising instructions to cause the processor to determine that the trusted agent no longer has access to the file when the count equals zero.
14 . The system of claim 13 , wherein the instructions to cause the processor to reprocess the request by the application for access to the file comprise instructions to cause the processor to:
remove the request by the application for access to the file from the queue; and resend the request by the application for access to the file.
15 . The system of claim 10 , wherein the instructions to cause the processor to determine whether the sharing violation was due to the trusted agent comprise instructions to cause the processor to:
make a first determination, prior to capturing the sharing violation issued by the operating system, of whether a count of requests for access by the trusted agent to the file is greater than zero and when the count is greater than zero adding the request by the application for access to the file to a list; make a second determination, after capturing the sharing violation issued by the operating system, of whether the count of requests for access by the trusted agent to the file is greater than zero; and determine that the sharing violation is due to the trusted agent when the request is in the list or the count is greater than zero after the second determination is made.
16 . The system of claim 15 , further comprising instructions to cause the processor to signal the trusted agent that the sharing violation due to the trusted agent has occurred.
17 . The system of claim 15 , further comprising instructions to cause the processor to determine that the trusted agent no longer has access to the file when the count equals zero.
18 . The system of claim 17 , wherein the instructions to cause the processor to reprocess the request by the application for access to the file comprise instructions to cause the processor to:
remove the request by the application for access to the file from the queue; and resend the request by the application for access to the file.
19 . A computer program product for handling sharing violations in a computer system comprising:
a non-transitory computer readable storage medium; computer program instructions, recorded on the computer readable storage medium and executable by a processor, to cause the processor to: intercept a request by an application directed to a file in a file system of an operating system for access to the file; capture a sharing violation issued by the operating system in response to the request; determine whether the sharing violation was due to a trusted agent, wherein the trusted agent is a software agent configured to monitor file operations performed on the computer system; store one or more file access requests from the application in a queue if the sharing violation was due to the trusted agent; and reprocess the one or more requests by the application for access to the file after the trusted agent releases the file.
20 . The computer program product of claim 19 , wherein the instructions to cause the processor to determine whether the sharing violation was due to the trusted agent comprise instructions to cause the processor to determine that a count of the file access requests by the trusted agent triggered by the application is greater than zero.
21 . The computer program product of claim 20 , further comprising instructions to cause the processor to signal the trusted agent that the sharing violation due to the trusted agent has occurred.
22 . The computer program product of claim 20 , further comprising instructions to cause the processor to determine that the trusted agent no longer has access to the file when the count equals zero.
23 . The computer program product of claim 22 , wherein the instructions to cause the processor to reprocess the request by the application for access to the file comprise instructions to cause the processor to:
remove the request by the application for access to the file from the queue; and resend the request by the application for access to the file.
24 . The computer program product of claim 19 , wherein the instructions to cause the processor to determine whether the sharing violation was due to the trusted agent comprise instructions to cause the processor to:
make a first determination, prior to capturing the sharing violation issued by the operating system, of whether a count of requests for access by the trusted agent to the file is greater than zero and when the count is greater than zero adding the request by the application for access to the file to a list; make a second determination, after capturing the sharing violation issued by the operating system, of whether the count of requests for access by the trusted agent to the file is greater than zero; and determine that the sharing violation is due to the trusted agent when the request is in the list or the count is greater than zero after the second determination is made.
25 . The computer program product of claim 24 , further comprising instructions to cause the processor to signal the trusted agent that the sharing violation due to the trusted agent has occurred.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.