EJB Server question

3.1.4 EJB Server Provider The EJB Server Provider is a specialist in the area of distributed transaction management, distributed objects, and other lower-level system-level services. A typical EJB Server Provider is an OS vendor, middleware vendor, or database vendor. The current EJB architecture assumes that the EJB Server Provider and the EJB Container Provider roles are the same vendor. Therefore, it does not define any interface requirements for the EJB Server Provider.

If the EJB Server Provider and EJB Container Provider were not assumed to be the same vendor , what would typically be the output of the EJB Server Provider's role ?Rather...what would be the main difference between the EJB Server and EJB Container ?

3.1.4 EJB Server Provider The EJB Server Provider is a specialist in the area of distributed transaction management, distributed objects, and other lower-level system-level services. A typical EJB Server Provider is an OS vendor, middleware vendor, or database vendor. The current EJB architecture assumes that the EJB Server Provider and the EJB Container Provider roles are the same vendor. Therefore, it does not define any interface requirements for the EJB Server Provider.

If the EJB Server Provider and EJB Container Provider were not assumed to be the same vendor , what would typically be the output of the EJB Server Provider's role ?Rather...what would be the main difference between the EJB Server and EJB Container ?

I expect the EJB Server provider would provide services to the EJB container, i.e. when distibuted IIOP requests from remote client come in, the server would interpret them and call methods on the EJB Container so the beans can execute the request, the result would be passed back to the server, which would form the IIOP response and send it back to the client. I expect things like distributed transaction context propagation and security context propagation would also be under the servers control. Things that the EJB uses, like the contexts (transaction, security, JNDI) and exception handling, ... etc would be taken care of by the container.

In my view it would be anything to do with EJB's themselves and what they need to execute would be handled by the container, anything to do with the low level sematics of communication between containers is taken care of by the server.