above template as it’s resources and expose them as
web services shared in grid.
The architecture of the resource container is
shown in Figure2.
The encapsulated resources are deployed in the
resource container, at the same time the information
of the resource including the address of the resource
container and the resourceID will be registered in a
private UDDI. The registry gets the description of
the resource, which is a facility for resource search.
A general resource invoking engine is designed
in the job manager, which can invoke resources
deployed in the resource container. When users want
to use some resources in grid, they firstly search the
resources by keywords from private UDDI registry.
Resources satisfying the requirement will be offered
by the service invoking engine. Then the invoking
engine will invoke the selected service to complete
the task.
4.2 How the Container Support
Resource Virtualizing
(1) Hot resource deploy
The encapsulated resources can be hot deployed in
the resource container. The resources can be used
without stopping the server container. If the
container has to restart to use the new resource, the
task running will be break in, which is not allowed.
So hot resource deploying is very significative.
(2) Remote resource deploy
The remote deploying interface is provided, the
resource providers can encapsulate their resources
with the resource encapsulation template, deploy
them in resource container and register into MG
from portal, which make the resource providers
virtualize and deploy their resources by themselves
conveniently
(3) Easily deployed and used
The resource container is actually WSRF service,
which can be easily deployed in some domain of the
grid with the “globus-deploy-gar” command. It
doesn’t need peculiar configuration. All resources in
one resource container can be deployed in another
resource container as a whole.
(4) Hiding implementing information
The encapsulated resources hide the
implementation information of the resources and
only the function interface is exposed to users, which
increases the security of resources.
(5) Self-describing of resource
Different xml schemas are defined for every kind
of resources. Resources are described with the xml
document. Resources’ description information can
be set when they are initialized.
(6) Effectively monitor
The resource container provides the
getResState() interface ,which ensures that the
application’s state and other data available .thus job
invoking engine can monitor running applications to
be able to fulfill an accepted SLA.
4.3 Implementation of the Resource
Container
There are many difficulties in designing the resource
container. This section describes the particular
design of the resource container in detail. Resource
container is a WSRF service, resources encapsulated
with above template will be added into the resource
container as WS-Resource. The particular design of
the resource container will be described in detail in
the next part of the section.
(1) Resource structure
MGRes{
String type;
String resName;
String className,
String resState;
IMGResource aResource;
}
The className is the name of the resource
implementation class, which must implement the
provided interface. ’resState’ is the state of the
resource, which is set by the resource implement
class. The resource invoking engine can monitor the
resource by getting this attribute. ’aResource’ is the
reference of the resource logical function. It points to
the resource implement class.
(2) Permanence of the resource
The information of the common WS-Resource
will be lost when the service container restart. To
store this information enduringly, the paper describes
the way on serializing resource. The resource
information will be saved in files. When the service
container start, the file will be read to unserialize the
resources, meanwhile the resource will be initialized.
The state of the resource will be reseted. The
resource file will be modified when resources are
added, removed and modified. Only the type,
resName and className will be serialized in file.
The ‘resState’ and ‘aResource’ need to be set when
the resource is initialized.
(3) Dynamic Load
WSRF-BASED VIRTUALIZATION FOR MANUFACTURING RESOURCES
135