Friday, September 14, 2007

Organizing information about Community proxy

Well..if a person wants to transfer a file from her community data repository to her personal/remote data file system through the file-comp-management portlet, what do we need to provide? That person will need to access the community proxy to access her community data repository. At a same time, she should access her personal proxy which is relevant to the remote resource. Do we have to ask her every time which proxy she is gonna use? What if it's non-interactive task such as job processing with mix-and-match proxies?

Since remote access to the resource requires the location of the resource, I think about simple but nice organizing of the information about community proxies and personal proxies based on the location. For each of the users, if {Username, Host, Port} is provided after the user issues proxies, ProxyManager will let me find the proxy for the host with the username.

Also if the virtulization of the user space for the community repository is considered, I may have to add the pointer to the user space specified by the system. If it is the community repository based on the Unix file system and the system relocates each of the user's space as /CommunityRepository/[username], than userspace will set as /CommunityRepository/myusername. If it is not a community repository then "~" can simply lead the user to the user's home directory that is specified by the Unix file system. Therefore, now I have, {Username, Host, Port, Userspace}.

Hang on... on top of this, I have to consider about the users who have both of the community acess and personal access to the same resource. For the huge data repository, this can happen quite often. I might have to add some identifier of the proxy, so that Userspace is not confusing. This doesn't have to be universally unique but it should be unique enough within the set of proxies for the same host and user. User's DN which is available from the GSSCredential object can be a good candidate. Now triplet is grown as {Username, Host, Port, Userspace, ProxyIdentifier}.

What else can be added....?

No comments: