ajanta.naming
Interface NameRegistry

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
NameRegistryImpl

public interface NameRegistry
extends java.rmi.Remote

Client to NameRegistry interfaces


Method Summary
 void adminRebindNameRegistry(ajanta.naming.URN urn, ajanta.naming.NREntry entry, ajanta.util.Ticket ticket)
           
 ajanta.util.Ticket authenticate(ajanta.naming.URN caller, int nonce, ajanta.util.ContextObject context)
          gets the initial ticket from name registry
 void bind(ajanta.naming.URN urn, ajanta.naming.NREntry entry, ajanta.util.Ticket ticket)
          This call is used to bind an entry to local name registry by a agent server.
 void bind(ajanta.naming.URN urn, ajanta.naming.NREntry entry, ajanta.naming.URN binder, ajanta.util.Ticket ticket)
          This call is used to bind an entry to remote name registry by a namre registry.
 java.security.cert.X509Certificate getCertificate(ajanta.naming.URN urn)
           
 java.net.URL getCodeBaseURL(ajanta.naming.URN urn)
          returns the code base location of an agent server.
 java.security.PublicKey getEncryptKey(ajanta.naming.URN urn)
          returns the public key encryption key pair
 java.security.cert.X509Certificate getNRCertificate()
           
 java.security.PublicKey getNRVerifyKey(ajanta.naming.URN urn)
          returns the verification key of a name registry for the signature key pair
 java.net.URL getURL(ajanta.naming.URN urn)
          Returs the first entry of the url list for this entry.
 java.util.Vector getURLs(ajanta.naming.URN urn)
          returns the locations associated with this name
 java.security.PublicKey getVerifyKey(ajanta.naming.URN urn)
          returns the verification key for the signature key pair
 ajanta.naming.NREntry lookup(ajanta.naming.URN urn)
          Returns the NREntry object associated with the specified name in the registry.
 ajanta.naming.URN newURN()
          Return new URN in this Name-Server namespace
 void rebind(ajanta.naming.URN urn, ajanta.naming.NREntry entry, ajanta.util.Ticket ticket)
          This call is used to rebind an entry to local name registry by a agent server.
 void rebind(ajanta.naming.URN urn, ajanta.naming.NREntry entry, ajanta.naming.URN binder, ajanta.util.Ticket ticket)
          This call is used to rebind an entry to remote name registry by a namre registry.
 void rebindAgentServer(ajanta.naming.URN ag, ajanta.naming.URN server, ajanta.util.Ticket ticket)
          updates the agent server location for an agent entry.
 void rebindAgentServer(ajanta.naming.URN ag, ajanta.naming.URN server, ajanta.naming.URN binder, ajanta.util.Ticket ticket)
          updates the agent server location for an agent entry.
 

Method Detail

authenticate

public ajanta.util.Ticket authenticate(ajanta.naming.URN caller,
                                       int nonce,
                                       ajanta.util.ContextObject context)
                                throws java.rmi.RemoteException
gets the initial ticket from name registry

Parameters:
caller - - client urn
nonce - - challenge
context - - any aditional context for the ticket
Returns:
a Ticket from server, which contatins the nonce signed by the name registry
java.rmi.RemoteException

bind

public void bind(ajanta.naming.URN urn,
                 ajanta.naming.NREntry entry,
                 ajanta.util.Ticket ticket)
          throws java.rmi.AlreadyBoundException,
                 java.rmi.RemoteException
This call is used to bind an entry to local name registry by a agent server. binds an entry in the name registry. If an entry for this urn already exists throw an exception. the binder or ticket signer needs to have create name permission in this namespace. On success binder will be a owner of the acl of this entry and have create name and write permission on the entry.

Parameters:
urn - - the urn will be registered
entry - - the entry wich contain an acl
ticket - - needed for authentication. ticket.signer is the binder
Throws:
java.rmi.AlreadyBoundException - If name is already bound.
java.rmi.RemoteException - If remote operation failed

getURLs

public java.util.Vector getURLs(ajanta.naming.URN urn)
                         throws java.rmi.RemoteException
returns the locations associated with this name

java.rmi.RemoteException

getURL

public java.net.URL getURL(ajanta.naming.URN urn)
                    throws java.rmi.RemoteException
Returs the first entry of the url list for this entry. Most of the cases it is the only entry

java.rmi.RemoteException

getCodeBaseURL

public java.net.URL getCodeBaseURL(ajanta.naming.URN urn)
                            throws java.rmi.RemoteException
returns the code base location of an agent server. if the entry is not an agent server entry, throws a remote exception

java.rmi.RemoteException

getEncryptKey

public java.security.PublicKey getEncryptKey(ajanta.naming.URN urn)
                                      throws java.rmi.RemoteException
returns the public key encryption key pair

java.rmi.RemoteException

getVerifyKey

public java.security.PublicKey getVerifyKey(ajanta.naming.URN urn)
                                     throws java.rmi.RemoteException
returns the verification key for the signature key pair

java.rmi.RemoteException

lookup

public ajanta.naming.NREntry lookup(ajanta.naming.URN urn)
                             throws java.rmi.RemoteException
Returns the NREntry object associated with the specified name in the registry.

Parameters:
urn - - the name of the entry
java.rmi.RemoteException

newURN

public ajanta.naming.URN newURN()
                         throws java.rmi.RemoteException
Return new URN in this Name-Server namespace

java.rmi.RemoteException

rebind

public void rebind(ajanta.naming.URN urn,
                   ajanta.naming.NREntry entry,
                   ajanta.util.Ticket ticket)
            throws java.rmi.RemoteException
This call is used to rebind an entry to local name registry by a agent server. If an entry already exists for this urn and the Ticket signer has write permission and is a owner of the acl of the entry, replace the old entry with new entry If no previous entry exists and if the Ticket signer has create name permission, create a new entry. In both cases give the Ticket signer write and create permission on this entry. In the creating new entry case ticket signer will become a owner of the acl as bind.

Parameters:
urn - - the urn will be registered
entry - - the entry wich contain an acl
ticket - - needed for authentication. ticket.signer is the binder
Throws:
java.rmi.RemoteException - If remote operation failed

rebindAgentServer

public void rebindAgentServer(ajanta.naming.URN ag,
                              ajanta.naming.URN server,
                              ajanta.util.Ticket ticket)
                       throws java.rmi.RemoteException
updates the agent server location for an agent entry. the new agent server will get create name and write permission on the entry At the same time the previous server if not an owner of the acl, will lose the create name and write permission.

Parameters:
ag - - agent name
server - - the new agentserver location
ticket - - needed for authentication. ticket.signer is the binder
java.rmi.RemoteException

bind

public void bind(ajanta.naming.URN urn,
                 ajanta.naming.NREntry entry,
                 ajanta.naming.URN binder,
                 ajanta.util.Ticket ticket)
          throws java.rmi.AlreadyBoundException,
                 java.rmi.RemoteException
This call is used to bind an entry to remote name registry by a namre registry. binds an entry in the name registry. If an entry for this urn already exists throw an exception. the binder here is server ticket signer, needs to have create name permission in this namespace. On success binder will be a owner of the acl of this entry and have create name and write permission on the entry.

Parameters:
urn - - the urn will be registered
entry - - the entry wich contain an acl
binder - - server's ticket.signer is the binder
ticket - - needed for authentication
java.rmi.AlreadyBoundException
java.rmi.RemoteException

rebind

public void rebind(ajanta.naming.URN urn,
                   ajanta.naming.NREntry entry,
                   ajanta.naming.URN binder,
                   ajanta.util.Ticket ticket)
            throws java.rmi.RemoteException
This call is used to rebind an entry to remote name registry by a namre registry. If an entry already exists for this urn and the binder has write permission and is a owner of the acl of the entry, replace the old entry with new entry If no previous entry exists and if the binder has create name permission, create a new entry. In both cases give the binder write and create permission on this entry. In the creating new entry, binder will become a owner of the acl as bind.

Parameters:
urn - - the urn will be registered
entry - - the entry wich contain an acl
binder - - server's ticket.signer is the binder
ticket - - needed for authentication.
java.rmi.RemoteException

rebindAgentServer

public void rebindAgentServer(ajanta.naming.URN ag,
                              ajanta.naming.URN server,
                              ajanta.naming.URN binder,
                              ajanta.util.Ticket ticket)
                       throws java.rmi.RemoteException
updates the agent server location for an agent entry. the new agent server will get create name and write permission on the entry At the same time the previous server if not an owner of the acl, will lose the create name and write permission

Parameters:
ag - - agent name
server - - the new agentserver location
binder - - server's ticket.signer is the binder
ticket - - needed for authentication. ticket.signer is the binder
java.rmi.RemoteException

getNRVerifyKey

public java.security.PublicKey getNRVerifyKey(ajanta.naming.URN urn)
                                       throws java.rmi.RemoteException
returns the verification key of a name registry for the signature key pair

java.rmi.RemoteException

adminRebindNameRegistry

public void adminRebindNameRegistry(ajanta.naming.URN urn,
                                    ajanta.naming.NREntry entry,
                                    ajanta.util.Ticket ticket)
                             throws java.rmi.RemoteException
java.rmi.RemoteException

getCertificate

public java.security.cert.X509Certificate getCertificate(ajanta.naming.URN urn)
                                                  throws java.rmi.RemoteException
java.rmi.RemoteException

getNRCertificate

public java.security.cert.X509Certificate getNRCertificate()
                                                    throws java.rmi.RemoteException
java.rmi.RemoteException