  This paper showcases an improved architecture for a complete negotiation
system that permits multi party multi issue negotiation. The concepts of
multithreading and concurrency has been utilized to perform parallel execution.
The negotiation history has been implemented that stores all the records of the
messages exchanged for every successful and rejected negotiation process and
implements the concepts of artificial intelligence in determination of proper
weights for a valid negotiation mechanism. The issues are arranged in a
hierarchical pattern so as to simplify the representation and priorities are
assigned to each issue, which amounts to its relative importance. There is
refinement of utilities by consideration of the non-functional attributes. So
as to avoid overloading of the system, a maximum number of parties are allowed
to participate in the entire mechanism and if more parties arrive, they're put
into a waiting queue in accordance to certain criteria such as the first come
first serve or the relative priorities. This helps in fault tolerance. It also
supports the formation of alliances among the various parties while carrying
out a negotiation.
