|
Hi John, Coincidentally I am just working or rather
struggling in the app domain area. For some reason some threads just get lost
in the sandboxing application domain. I’ll try to reply to your questions,
Tibor From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of John Sheppard
[Tibor Biro] In Alchemi the
AppDomain is created on the Executor. One AppDomain is created per application.
The AppDomain is kept alive until the Manager tells the Executor that the
application finished. If multiple threads are running at the same time on the
same Executor for the same application then the same AppDomain is used.
Currently we are having problems if the thread inside the sandbox hangs for
whatever reason. If the Executor just dies then the Manager re-schedules the
thread to another Executor but if the thread hangs then nothing happens.
[Tibor Biro] This behavior was
just changed so I’ll describe the version in CVS. Each Executor creates
an AppDomain for each application, identified by the AppID. If a work unit comes
from the same app ID and there is an existing AppDomain for it then that one is
used instead of creating a new one. So all work units from the same app ID are grouped
in the same AppDomain. By default the Executor only accepts one work unit at a
time but it can be configured to accept multiple work units (this is the
feature I am working on now) in which case it is possible to have multiple work
units running at once in the same AppDomain. I think it would be useful
to have the Executor’s AppDomain “time out” somehow.
Currently the Manager has to terminate the AppDomain so if the Manager fails to
do that the AppDomain is never unloaded. Another thing that sometimes happens
is that an AppDomain cannot be unloaded, probably because of the hanging
threads.
[Tibor Biro] Caching the DLLs
would be useful. We’ll need the dlls to be signed though so we can
properly identify them.
[Tibor Biro] I agree that
security is currently an issue. I see this controlled mainly from the Executor
at this point. In the future a centralized control would be nice to have. In
the end what I would like to see is a way to specify the rights based on
several parameters such as where the dll is coming from, who the user is and whether
the dll is signed or not. I am thinking about something like the .NET Code
Access Security Policies, maybe the built-in CAS securities can be used. Okay, that should be
enough questions to help me get my mind wrapped around it a little tighter and
see how I might contribute what I have or modify what I have to help out. |
- [Alchemi-users] Re: [Alchemi-developers] Grid-based Malware Krishna
- [Alchemi-users] Re: [Alchemi-developers] Grid-based Ma... John Sheppard
- [Alchemi-users] Re: [Alchemi-developers] Grid-base... Krishna
- [Alchemi-users] Re: [Alchemi-developers] Grid-... John Sheppard
- RE: [Alchemi-users] Re: [Alchemi-developer... Tibor Biro
- Re: [Alchemi-users] Re: [Alchemi-developer... John Sheppard
- RE: [Alchemi-users] Re: [Alchemi-deve... Tibor Biro
- Re: [Alchemi-users] Re: [Alchemi-developers] Grid-base... Krishna
- Re: [Alchemi-users] Re: [Alchemi-developers] Grid-... John Sheppard
