Journal of Network and Computer Applications 46 (2014) 72–82
Contents lists available at ScienceDirect
Journal of Network and Computer Applications journal homepage: www.elsevier.com/locate/jnca
Multi-granularity resource virtualization and sharing strategies in cloud manufacturing Ning Liu a,n, Xiaoping Li a,n, Weiming Shen b a b
School of Computer Science and Engineering, Southeast University, Nanjing, China National Research Council Canada, Ottawa, Ontario, Canada
art ic l e i nf o
a b s t r a c t
Article history: Received 1 August 2013 Received in revised form 18 July 2014 Accepted 11 August 2014 Available online 27 August 2014
Cloud Manufacturing is a new and promising manufacturing paradigm. Resource virtualization is critical for Cloud Manufacturing. It encapsulates physical resources into cloud services and determines the robustness of the cloud platform. This paper proposes novel multi-granularity resource virtualization and sharing strategies for bridging the gap between complex manufacturing tasks and underlying resources. The proposed approach considers three factors, including workflow, activity, and resource that significantly influence stepwise decompositions of a complex manufacturing task. Resource aggregation functions are constructed to classify resources over different granularities. Resource clustering algorithms are presented for mapping physical resources to virtualized resources. Cloud service specifications are designed to describe virtualized resources and are implemented through a prototype. A case study is illustrated to validate the proposed approach. & 2014 Elsevier Ltd. All rights reserved.
Keywords: Cloud computing Cloud manufacturing Resource modeling and virtualization Resource granulation Stepwise task decomposition
1. Introduction Cloud Manufacturing, proposed by B. Li et al. (2010, 2011), is a new and promising manufacturing paradigm, one to which researchers and industries worldwide (Xu, 2012; Vincent Wang and Xu, 2013; Wu et al., 2013; Wang, 2013) are paying close attention. Cloud Manufacturing is effective because it promotes enterprise competence, enhances product innovation, and improves resource utilization. Resource virtualization is a core idea of Cloud Manufacturing that contains manufacturing resource virtualization and manufacturing capability servitization (Ren et al., 2011; Zhang et al., 2012; Tao et al., 2011b). Distributed manufacturing resources (e.g., manufacturing equipment, materials, software, knowledge, and skills) and manufacturing capabilities (e.g., design capability, production capability, experimentation capability, management capability, and communication capability) are utilized as a logical resource pool and assigned to users on demand. Therefore, two characteristics of Cloud Manufacturing are integration of distributed resources and distribution of integrated resources. The architecture of Cloud Manufacturing, illustrated in Fig. 1 consists of four layers (Resource Layer, Virtual Layer, Global Service Layer, and Application Layer). The Resource Layer includes physical resources, which take two forms – manufacturing resources and manufacturing capabilities.
n
Corresponding authors. Tel.: þ 86 15850527741; fax: þ 86 25 52090916. E-mail addresses:
[email protected] (N. Liu),
[email protected] (X. Li),
[email protected] (W. Shen). http://dx.doi.org/10.1016/j.jnca.2014.08.007 1084-8045/& 2014 Elsevier Ltd. All rights reserved.
Physical resources can be identified and accessed to Cloud Manufacturing systems by RFID (radio frequency identification), WSN (wireless sensor networks), CPS (cyber physical system), or GPS (Global positioning system). The Virtual Layer is responsible for transforming heterogeneous physical resources to isomorphic logical ones (i.e. cloud services), that sequentially performs three operations: (i) modeling for cloud manufacturing resource information; (ii) clustering physical resources to virtualized ones; and (iii) describing virtualized resources as cloud services. A cloud service is an encapsulation of one or more physical resources and can be shared by all users in the cloud platform. The Global Service Layer provides various operational activities for managing cloud services (Zhang et al., 2010; Yin et al., 2011; Zhan et al., 2011; Huang et al., 2013). Cloud services can be dynamically located, monitored, allocated, and reconfigured to satisfy a user's requests. The Application Layer orients to all areas and industries in a manufacturing domain. Users (equipment manufacturers, group users, individuals) share cloud services through interfaces, such as portals, personal computer terminals, and mobile devices. Providing diversified manufacturing services according to user requirements, still pose many problems yet to be solved in Cloud Manufacturing:
Resource virtualization in Cloud Manufacturing is difficult. Cloud manufacturing resources are generally provided by distributed enterprises. They are heterogeneous in storage format, description method, and management strategies. Invocation of cloud manufacturing resources is greatly affected by
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
Cloud user
Application layer
Rent
Global service layer logical resources
cloud services (Tao et al., 2011a; Zhang et al., 2011). Therefore, syntactic integration and semantic interoperability are two critical issues to be addressed for resource virtualization.
Cloud service
2.1. Syntactic integration Published
Virtual layer Describing Clustering
Resource virtualization
Functional features & QoS information
Modeling Provide
Resource layer Physical resources
Hard & soft resources
Manufacturing capabilities
Fig. 1. The architecture of Cloud Manufacturing.
73
physical distance and geographical constraints. Furthermore, cloud manufacturing operational activities are concerned with the functional features provided by cloud manufacturing resources and a variety of required quality of service (QoS) information, rather than the resources themselves. Multi-granularity virtualized resources for different purposes. Granularity refers to the average measurement of particle size, which is used in many areas of computer science, such as software engineering (Batory and O'malley, 1992), information retrieval (Yan et al., 2011), and parallel computing (Gerasoulis and Yang, 1993). Cloud Manufacturing is a multi-granularity system, in which granularity implies any number of functional features provided by a physical resource. For example, some resource providers describe functional features with fine granularity (such as kinematic trajectory, rotation, and angle) while others describe functional features with coarse granularity, such as drilling, milling, and grinding. However, no one knows the specific requirements of users in advance, which could result in gaps between resource providers and users. Hence, multi-granularity virtualized resources should be provided for the cloud platform to bridge such granularity gaps.
This paper proposes to address the problems of multi-granularity resource virtualization and sharing strategies. By analyzing the features of resources and tasks, the multi-granularity resource aggregation functions are constructed to estimate the correlation between resources. Resource clustering algorithms are presented to integrate the physical resources into virtualized resources which provide a solid foundation for resource discovery and selection. The remainder of the paper is organized as follows. Section 2 reviews the literature relating to resource virtualization. In Section 3, related concepts are defined and a multi-granularity resource virtualization model is introduced. Resource clustering methods are proposed for multi-granularity resource virtualization and sharing in Section 4. The proposed methods are validated through a case study in Section 5, followed by conclusions in Section 6.
2. Literature review Networked manufacturing (e.g., agile manufacturing, grid manufacturing, agent-based manufacturing, and holonic manufacturing) appeared in the 1990s, the primary goal of which was to improve the competence of enterprises and alleviate the limitations of geographical locations (Fan et al., 2005). Different from existing networked manufacturing paradigms, Cloud Manufacturing provides a seamless, stable and high quality transaction of
Most existing resource virtualization techniques for networked manufacturing are mainly concerned with syntactic integration. Syntactic integration depends on effective resource modeling techniques and current web service standards. Steele et al. (2001) integrated engineering functions with an object-oriented resource model that linked information from different knowledge domains. Vichare et al. (2009) proposed a unified manufacturing resource model which represents various resource elements for CNC machining systems. Li et al. (2006) proposed several key techniques for sustaining a web-based part library system, such as the data dictionary, feature-based neutral representation, and a hoops-based visualization method. Shi et al. (2007) employed XML schema to encapsulate manufacturing resource information and adopted WSDL to model the accessing operations to manufacturing resources. Rodriguez et al. (2010) presented a novel classification method for eight web service discoverability anti-patterns, which is good for ranking more relevant services. Tao et al. (2013) investigated the formulation of service composition optimalselection in Cloud Manufacturing with multiple objectives and constraints. A parallel intelligent algorithm was developed. Kong et al. (2011) modeled the uncertain workload and the vague availability of virtualized server nodes with a fuzzy prediction method. Shi et al. (2011) proposed a solution for enabling scalable support of realtime 3D virtual appliances in a cloud computing environment. Lombardi and Di Pietro (2011) proposed an architecture called the Advanced Cloud Protection System (ACPS) to guarantee increased security of cloud resources. Although the methods mentioned above provide effective virtualization mechanisms to shield the heterogeneity of distributed resources, they only focus on resource sharing at the syntactic level. Unfortunately, cloud manufacturing resources are complex, diverse, and context-dependent. Existing web service standards cannot provide the effective means to explicitly represent these characteristics and interpret the resource semantics. Thus, required resources cannot be found and located automatically by existing semantic matchmaking algorithms. To automatically use such resources, these techniques would require a lot of cost and time. 2.2. Semantic interoperability Semantic web techniques provide semantic interoperability for networked manufacturing. Ontologies (Uschold and Gruninger, 1996), as one of the important supporting technologies for the semantic web, model cloud services by means of accurate conceptualization, shared understanding and logical reasoning. Therefore, many researchers use ontology to provide open semantics for the accumulated domain knowledge in resource virtualization. Sun et al. (2012) presented a heavy-weight ontology-based construction method for interoperation models to support the reuse of subsystems in various collaborative contexts. Patil et al. (2005) proposed an ontology-based framework to enable semantic interoperability across different application domains. Li et al. (2013) investigated the resource virtualization and service encapsulation of a logistics center. A logistics resource expression model is designed with three levels: service encapsulation focuses on location; service function; and, service status information. Lin and Harding (2007) discussed ontology-based approaches for representing information semantics and developed a general manufacturing system engineering ontology model. Cai et al. (2011)
74
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
presented a prototype semantic web system to manage distributed manufacturing services by matchmaking the semantics of manufacturing service capabilities. Lee et al. (2012) proposed a multilevel product modeling framework enabling stakeholders to define product models and relate them to physical or simulated instances. Li et al. (2010) proposed a semantics-based approach for collaborative aircraft tooling design. The approach combines heuristic reasoning with semantic web ontology to facilitate knowledge representation and reuse. Xue et al. (2012) extended the traditional ontology concept to an ontological view concept and proposed a Framebased Ontological view Specification Language(FOSL) for semantic integration. Most methods aforementioned provide only a single resource virtualization mode, that transforms physical resources to virtualized resources by aggregating physical resources with the same or similar functional features. However, multi-granularity has not been considered in Cloud Manufacturing. It is difficult for those methods to meet the constantly changing demands of cloud users flexibly and dynamically. Yan et al. (2011) proposed a semantic granularity-based information retrieval model and showed that the dimension of granularity is important for effective retrieval. Thus, multi-granularity information is required to cope with resource virtualization in Cloud Manufacturing.
3. Multi-granularity resource virtualization model From the definition of original granularity, the concept of “granularity’ has been extended to other areas. In granular computing, information granularity usually refers to structural granularity, which signifies the structural abstraction of information items. For example, chapters, sections, pages, and paragraphs are different structural abstractions of a book (Yan et al., 2011). The combination of various granularity types is beneficial to understand the contents of a book at different levels. Intuitively, resource granularity in Cloud Manufacturing measures the functional features provided by a resource. As distributed resource information systems have different design principles, resource providers have different resource granularity types with different resource interpretations. Moreover, from the resource requirements point of view, a complex manufacturing task is always recursively decomposed into sub-tasks until they can be matched by appropriate manufacturing resources. As shown in Fig. 2, the complex manufacturing task is decomposed into sub-tasks (steering, wheel, engine, transmission, and clutch). The sub-tasks are further decomposed into sub-sub-tasks until resources can satisfy their demands. Sub-tasks at each level represent a requirement for resource granularity. So multi-granularity is crucial to resource virtualization, sharing and allocation in Cloud Manufacturing. In order to measure resource granularity in Cloud Manufacturing, a multi-granularity resource virtualization model is established including three steps: (i) define various elements related to
resource virtualization in Cloud Manufacturing; (ii) construct resource aggregation functions for resource granularity from three levels (process, activity, and attribute levels); and (iii) cluster physical resources to virtualized resources. In Cloud Manufacturing, an application is submitted to the cloud manufacturing operators for sharing enterprise resources, which are sensed by RFID, sensors, and GPS. They are registered by accessing the cloud manufacturing system and being described according to cloud manufacturing specifications. Definition 1 (MR). Let MR be the collection of manufacturing resources registered in Cloud Manufacturing. For 8 mr A MR, mr is defined as a 5-tuple mr ¼(id, NFttr, FAttr, Inbeh, QoS), in which id is the manufacturing resource identification; NFAttr represents the non-functional features of a manufacturing resource; FAttr, the functional features of manufacturing resources; Inbeh, the internal behavioral information which reveals the process of functional features; and QoS, the description of the quality of a manufacturing resource. Resource discovery and selection are mainly based on functional features of a manufacturing resource. For example, when a request is submitted to the cloud platform, the resource consumer focuses on what functionalities a manufacturing resource can provide rather than just what resources are available. For this reason, resources should be clustered according to their functional features. As shown in Fig. 3, functional features are usually described by attributes. The internal behavior information of a manufacturing resource is specified as a list of requested input parameters and provided output parameters. In the cloud platform, resource information is shared via documents like HTML, XML. These documents can be accessed via their URLs. In this paper, resource documents are preprocessed before deeply mining resource semantics for resource clustering. The main text contents are first separated from the documents, followed by the words extracting and stemming. A stemmed word vocabulary V ¼ ðsw1 ; sw2 ; …; swL Þ is constructed. Each resource Manufacturing Resource (Id) NonFunctional Feature
Functional Feature
a1
ak
Internal Behavior
Input Parameters
i1
im
QoS
Output Parameters
o1
Fig. 3. The structure of a Cloud Manufacturing resource.
Fig. 2. The process of resource matchmaking in Cloud Manufacturing.
on
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
document mri is represented by a vector di ¼ ðwi1 ; wi2 ; …; wiL Þ. wij is the weight of the jth stemmed word associated with the ith document. If the jth word appears in the ith document, the weight of the word is calculated by the classical tf-idf term weighting t d measure wij ¼ f j log 2 ðn=f j Þ. In this paper, ftj is the frequency of the jth word associated with the ith document, fdj is the number of documents in which the jth word appears, and n is the total number of documents. Otherwise, wij ¼ 0. The following resource aggregation function is adopted as the criterion for clustering registered resources. Definition 2 (ϝ). Let ϝ:X Y-½0; 1 be a resource aggregation function. For 8 x A X; y A Y, ϝ satisfies the following conditions: (1) ϝðx; xÞ ¼ 1; (2) ϝðx; yÞ ¼ ϝðy; xÞ. The value of ϝðx; yÞ represents the degree of association of x and y. In Cloud Manufacturing, three factors (workflow, activity, and resource) exert great influence on resource granularity types. They reflect both the HIERARCHY and the VIEW of resource discovery and selection. HIERARCHY reflects relationships and linkages among various abstraction levels. For example, the drilling machine can be described as “a material process machine” and “a drilling machine”, respectively. There is an inclusion relation between them. VIEW represents descriptions and an understanding of a manufacturing resource from different points of view. For example, different stakeholders (e.g. designer, process engineer, production manager, and machine operator) are concerned with different views of the same resource. Therefore, ϝ will be instantiated for different resource granularity types. Cloud manufacturing resources have the characteristics of multi-function, multi-tasking, and multi-purpose. A manufacturing resource provides different functionalities for different manufacturing tasks. Similarly, a manufacturing function is provided by several distributed manufacturing resources. Moreover, sometimes a manufacturing resource cannot satisfy a manufacturing requirement exactly, and can only provide a similar functionality to some extent. In order to reveal those properties, virtualized resources are defined as follows. Definition 3 (VR). Virtualized resource set VR ¼ fR1 ; …; RM g (Ri D MR) is a partition over MR according to ϝ. Ri ði ¼ 1; …; MÞ is a virtualized resource. Let Ci be the center of Ri, V ¼ fC 1 ; …; C M g be the center set of the virtualized resources. A multi-granularity cloud manufacturing resource space is denoted as MGCMR ¼ fðVR; ϝÞg. Different sets of virtualized resources are constructed in terms of distinct resource aggregation functions. In order to define and unify functional features of manufacturing resources according to different resource granularity types, MGCMR designs appropriate resource aggregation functions for the three levels (process, activity, and attribute). The three levels correspond to the three aforementioned factors, respectively. They are practical application requirements in Cloud Manufacturing. Based on the above definitions, a multi-granularity resource virtualization problem is formalized as follows: N
Q ðRðtÞ Þ ¼ ∑ xik ðuðtÞ Þ2 ϝðmr i ; C ðtÞ Þ k ik k xik ¼
mr i A Rk
1
if
0
otherwise
uðtik þ 1Þ ¼
C ðtk þ 1Þ ¼
ϝðmr i ; C ðtÞ Þ k M ∑j ¼ 1 ϝðmr i ; C ðtÞ j Þ ∑mri A Rk ðuðtÞ Þ2 di ik ∑mri A Rk ðuðtÞ Þ2 ik
Q ðRk Þ represents the quality of resource clusters of the resource granularity type given by ϝ. The larger value means the higher the quality of the resource clusters. Decision variable xik ¼ 1 only if mri belongs to Rk. uik is the approximation of mri to Rk. ϝðmr i ; C k Þ is the degree of association of mri with the center of Rk. Ck is the center of the kth virtualized resource. For the initial step of clustering, the center of the virtualized resource is generated at random. For the subsequent steps of clustering, the centers are updated according to the previous results. Resource clustering algorithms are designed from three views (similarity, granularity gap, and resource composition). These views represent resource sharing strategies of different levels.
4. Resource clustering methods In this section, multi-granularity resource virtualization strategies are proposed to provide a flexible and solid foundation for resource sharing. These strategies map physical resources into virtualized resources based on interrelated resource aggregation functions. The virtualized resources with different granularities contribute to resource discovery and selection. 4.1. Attribute-oriented resource clustering The attribute level is closely related to registered manufacturing resources which are the physical entities that provide manufacturing capabilities. At this level, the cloud platform deals with resource discovery and selection according to the functional features of manufacturing resources. So attribute-oriented resource clustering aggregates manufacturing resources based on their functional features. This kind of clustering decouples manufacturing resources with their capabilities to deal with resource failures. Let mr1, mr2 be two manufacturing resources, of which the functional features are represented as FA1 ¼ ða11 ; a12 ; …; a1s Þ and FA2 ¼ ða21 ; a22 ; …; a2t Þ. The resource aggregation function is constructed according to the similarity between FA1 and FA2. Simða1i ; a2j Þ ∣Depthða 1i Þ Depthða2j Þ∣þ 1 j¼1i¼1 t
s
ϝAttrL ðFA1 ; FA2 Þ ¼ ∑ ∑
Root
Making a hole ð2Þ
Drilling ð3Þ
ð4Þ
ð5Þ
Sim (A,B) is proposed by Leacock and Chodorow (1998). It computes the similarity between two concepts based on the shortest path. Depthða1i Þ and Depthða2j Þ represent the depth of a1i and a2j in the ontology tree, respectively. The denominator reflects the degree of granularity in which the functional features are described, which adjusts the similarity. As shown in Fig. 4, from the similarity point of view, the similarity between “Making
ð1Þ
i¼1
75
Rough drilling
Finish drilling
Fig. 4. Example of the resource association.
76
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
a hole” and “Rough drilling” is equal to that between “Rough drilling” and “Finish drilling”. However, “Rough drilling” and “Finish drilling” are more similar than “Making a hole” and “Rough drilling”, in practical terms. The reason for “plus one” is to avoid being divided by zero. According to Eq. (5), the attribute-oriented resource clustering procedure is depicted in Algorithm 1. M represents the number of virtualized resources before each decomposition. In each decomposition loop, the virtualized resource Rk with the worst cohesion is found. By the SwapðRk ; RM þ 1 Þ procedure, Rk and RM þ 1 are exchanged for the convenient iteration. Algorithm 1. Attribute level resource clustering. Input: A manufacturing resource set MR ¼ fmr 1 ; mr 2 ; …mr N g and a maximum number of iterations Imax Output: A collection of virtualized resources VR ¼ fR1 ; R2 ; …; RM g 1: R0 ’MR, VR’fR0 g, M’1, t’0 2: repeat 3: t’t þ 1. 4: Remove mri and mrj from R0 randomly, i.e., R0 ’R0 fmr i ; mr j g. RM ’fmr i g, RM þ 1 ’fmr j g. C ðtÞ M ’mr i ,
5: 6: 7: 8:
C ðtÞ M þ 1 ’mr j . for (each mr k A R0 ) do Compute ϝkM and ϝkðM þ 1Þ according to Eq. (5)
Compute uðtÞ and uðtÞ according to Eq. (3) kM kðM þ 1Þ if (uðtÞ Z uðtÞ ) then kM kðM þ 1Þ
RM ’RM [ mr k else RM þ 1 ’RM þ 1 [ mr k Update the center of each virtualized resources according to Eq. (4) 13: VR’ðVR R0 Þ [ RM [ RM þ 1 . 14: for (each Rk A VR) do 15: Compute Q ðRðtÞ Þ according to Eq. (1) 9: 10: 11: 12:
k
16:
Rk ’arg minRj A VR fQ ðRðtÞ j Þg, SwapðRk ; RM þ 1 Þ, R0 ’RM þ 1 ,
RM þ 1 ’ϕ, M’M þ 1. 17: until (t 4 I max ) 18: return the set VR ¼ fR1 ; R2 ; …; RM g
As shown in Fig. 5, initially the resulting set contains only one virtualized resource, represented by the input set of manufacturing
resources. Then two manufacturing resources are selected randomly as the center of the new virtualized resources. The rest of the manufacturing resources are merged into the new virtualized resources according to the cohesion calculated by Eq. (5). The split virtual resource is replaced by the new virtualized resources. The algorithm terminates after a certain number of iterations (at most n iterations). The newly selected centers are critical for the quality of the final solutions in each iteration. The stronger correlation of the selected two resources implies the more difficult it is to show the diversity of resources. On the other hand, the weaker correlation means the less efficient the algorithm. Therefore, it is necessary to adjust the selected resources in experiments. The time complexity of Algorithm 1 is OðI max nÞ. 4.2. Activity-oriented resource clustering The activity level is related to the activity nodes of a workflow and it usually represents a sub-task, for which the cloud platform discovers and selects appropriate resources according to its requirements. Therefore, both the demand of the subtask and the functional information of the manufacturing resources are mainly considered at this level. Resources are described by resource providers whereas activities are depicted by customers, i.e., resources and activities are always described in different granularities. For example, a manufacturing activity is described as “conical magnetic bearing grinding”. In the cloud platform, there are two manufacturing resources described as “bearing polish grinding” and “conical raw material processing”, respectively. The conjunctive forms of their descriptions are (1) conical 4 magnetic 4 bearing 4 grinding, (2) bearing 4 polish grinding, and (3) conical 4 raw material processing. A partial reference ontology illustrated in Fig. 6 shows the granularity gap between the descriptions. The first (activity) description is associated with four VIEWs (shape, material, object, operation) and two HIERARCHYs (the third level and the fourth level) in the reference ontology. The second (resource) description includes two VIEWs (object, operation) and two HIERARCHYs (the third level and the fifth level). The third (resource) description contains two VIEWs (shape, operation) and one HIERARCHY(the third level). Therefore, both the manufacturing resources are only partially suitable for the activity. Resource Contribution Degree (RCD) is introduced to measure how a manufacturing resource is appropriate for an activity. The functional information of a manufacturing activity aj is represented by RAttr j ¼ ðaj1 ; aj2 ; …; ajq Þ, using the same functional information
Fig. 5. Example of the attribute-oriented resource clustering.
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
HIERARCHY), RCD is constructed by the following exponential function:
description for a cloud manufacturing resource (transforming steps are performed to unify the functional information description if activities and resources are described with different formats). Let NV be the number of VIEWs provided/requested by a manufacturing resource/an activity, which depends on the attributes of the activity/ manufacturing resource. In the reference ontology, two attributes belong to the same VIEW only if their parents are identical. For the example shown in Fig. 7(a), activity aj contains four request attributes RAttr j ¼ ðaj1 ; aj2 ; aj3 ; aj4 Þ. The request attributes are mapped to a certain reference ontology. Attributes aj1 and aj2 have the same parent while aj3 and aj4 have different parents. Therefore, the number of VIEWs is 3, i.e., NV ðRAttr j Þ ¼ 3. Let N D ðaik ; ajl Þ be the depth difference between attributes aik and ajl. If the parent of aik is an ancestor of ajl, N D ðaik ; ajl Þ ¼ depthðajl Þ depthðaik Þ. Otherwise, N D ðaik ; ajl Þ ¼ 0. For the example shown in Fig. 7(b), manufacturing resource mri contains three attributes FAttr i ¼ ðai1 ; ai2 ; ai3 Þ, activity aj includes three request attributes RAttr j ¼ ðaj1 ; aj2 ; aj3 Þ. N D ðai1 ; aj2 Þ ¼ 2 because the parent of ai1 is an ancestor of aj2. Similarly, N D ðai3 ; aj1 Þ ¼ 3. N D ðai2 ; aj3 Þ ¼ 0 since neither the parent of ai2 is an ancestor of aj3 nor the parent of aj3 is an ancestor of ai 2. According to N D ðaik ; ajl Þ, we define NH to be the HIERARCHY difference between mri and aj, which is calculated by their function attributes as N H ðFAttr i ; RAttr j Þ ¼ ∑pk ¼ 1 ∑ql¼ 1 N D ðaik ; ajl Þ. The larger the granularity gap between a manufacturing resource and an activity, the smaller the resource contribution degree (i.e., the manufacturing resource is less appropriate for the activity). As well, normal distribution is usually regarded as the most suitable function for describing the probability distribution of phenomenon, of which the density function is an exponential function with the feature of trend of conservation. Therefore, based on the granularity gaps between activities and resources in horizon (represented by VIEW) in vertical (denoted by
RCDðFAttr i ; RAttr j Þ ¼ e jNV ðFAttri Þ NV ðRAttrj Þj þ NH ðFAttri ;RAttrj Þ
ϝActL ðFAttr i ; RAttr j Þ ¼ ϝAttrL ðFAttri ; RAttr j Þα RCDðFAttr i ; RAttr j Þ1 α
Algorithm 2. Activity level resource clustering. Input: A manufacturing resource set MR ¼ fmr 1 ; mr 2 ; …mr N g, an activity set A ¼ fa1 ; …; aK g, a maximum number of iterations Imax Output: A collection of virtualized resources VR ¼ fR1 ; R2 ; …; RK g 1: t’1, sum’0, R0 ’fai g, VR0 ’fR0 g, C 0ðtÞ ’ai . i
2: 3: 4:
Calculate uðtÞ ij according to Eq. (3).
6:
R0k ’
0 0 arg maxR0j A VR0 fuðtÞ ij g, Rk ’Rk [ mr i .
Calculate ∑Ki¼ 1 Q ðR0ðtÞ i Þ according to Eq. (1).
8:
if (sum o ∑Ki¼ 1 Q ðR0ðtÞ i Þ) then
10: 11: 12: 13:
Raw material processing 14: 15: 16:
Grinding
i
Calculate ϝðmr i ; C 0ðtÞ j Þ according to Eq. (7).
5:
Object Operation
i
repeat for (each mr i A MR) do for (each R0j A VR0 ) do
7:
Bearing
ð7Þ
where α (α A ½0; 1) and 1 α are weights of the similarity and RCD. Eq. (7) is more comprehensive than existing functions for resource aggregation. Existing functions (Rodríguez and Egenhofer, 2003; Sensoy and Yolum, 2007) have only focused on attribute similarity between the manufacturing resources and activities without considering the granularity gaps between the activities and resources.
9:
Concial Magnetic
0 sum’∑Ki¼ 1 Q ðR0ðtÞ i Þ, VR’VR . else Break. Update the center of each virtualized resources according to Eq. (4). t’t þ 1. until (t 4 I max or no mr changes Ri) return Set VR ¼ fR1 ; R2 ; …; RK g.
The activity-oriented resource clustering method is formally described in Algorithm 2 which consists of two phases: Assignment and Calibration. In the Assignment phase, the set of
Polish grinding Fig. 6. A partial reference ontology tree.
depth ( ai1 )
X
Y W
Z
X
a j1
depth(a j 2 )
a i1
a j1 Z
a j2
Y
ð6Þ
At the activity level, the resource aggregation function takes into account not only the attribute similarity between the manufacturing resources and activities but also the granularity gaps between the activities and resources (measured by RCD). The corresponding aggregation function is defined as follows:
Root
Shape Material
77
a j4 a j2
a j3
ai 2 ai 3
Fig. 7. Examples for calculation of N View and N Depth.
a j3
78
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
virtualized resources is initialized by the set of activities (because they have the same functional attributes). Each activity acts as the center of a virtualized resource. Each manufacturing resource in MR is allocated to the virtualized resource with the largest membership grade measured by Eq. (3). After all manufacturing resources have been allocated, the center of each virtualized resource is recalculated because of the addition of some manufacturing resources. The shifted centers result in the change of membership grade (measured by Eq. (3)) in turn, i.e., the partition of resources should be calibrated. The Calibration phase is repeated until the given termination condition is satisfied. Algorithm 2 aggregates the manufacturing resources according to the given activity set. Each step of the initial clustering greedily chooses the maximum membership grade between manufacturing resources and virtualized resources to guarantee the quality of clustering. The Calibration phase slightly adjusts the clustering of each manufacturing resource along with the movement of virtualized resource centers to improve the accuracy of the resource clustering. Let NR be the number of Calibration cycles. The time complexity of Algorithm 2 is OðminfNR; I max g N KÞ.
4.3. Process-oriented resource clustering The process level is oriented to a workflow and it usually represents a business function unit with a coarse granularity. Process-oriented resource clustering aims at providing valuable resource composition information for enterprise collaboration. As the workflow shows in Fig. 8, each activity has a candidate set of manufacturing resources. Process-oriented resource clustering is responsible for discovering the resource compositions from a1 to a7, guaranteeing each activity to be traversed. In one path, multiple manufacturing resources are invoked in a certain sequence. Resource composition is affected by two aspects: (1) the internal behavior of the related manufacturing resources; and (2) the precedence relationships among the activities. The former is denoted as the input and output parameters of the manufacturing resources. The latter is represented as predecessors and successors of an activity. All activities can be deduced either from their predecessors or from their successors in a Directed Acyclic Graph. In this paper, only predecessors are adopted to represent such precedence relationships. Let Q be the request submitted to the cloud platform. RAttr represents the functional features of the request. I and O represent the information provided and required by the request, respectively. Let P ¼ ðA; E; VRÞ be the workflow fulfilling the request Q. A is the set of activities. E denotes the set of directed edges, containing all the relationships between the activities. VR is the collection of virtualized resources. Each virtualized resource in VR contains several resources to fulfill an activity. For a manufacturing resource mr, the internal behavior is described by the input and output parameters, i.e., mrðIÞ ¼ fI 1 ; …; I m g and mrðOÞ ¼ fO1 ; …; On g. The cloud platform knows what a manufacturing resource requires and what a manufacturing resource provides through its internal behavior described by the input and output parameters. Let preðai Þ a2
a6 a3
{mr11 , mr12 ,...mr1m }
{mr31, mr32 ,...mr3 p }
Input: A manufacturing resource set MR, a request Q, a workflow P Output: A set of resource compositions RC ¼ fS1 ; S2 ; …; Sk g 1: RC’ϕ, H’ϕ. 2: Construct a topologically sorted sequence of the activities in the workflow ða1 ; a2 ; …; aM Þ. 3: Build preðai Þ for each activity. 4: Call Algorithm 2 to get the set of virtualized resources VR ¼ fR1 ; R2 ; …; RM g. 5: for (each Ri A VR) do 6: SN i ’1, FN i ’jRi j. 7: i’1, k’1, length’0. 8: repeat 9: for j ¼ SN i to FN i do 10: if (mr j ðIÞ Dpreðmr j ÞðOÞ [ Q ðIÞ) then 11: Sk ’Sk [ mr j , length’length þ1. 12: if (length ¼M) then 13: if (Q ðOÞ D ⋃ 8 mri A Sk mr i ðOÞ) then 14: RC’RC [ Sk , k’k þ 1, length’0. 15: else 16: Sk ’Sk mr j , length’length 1. 17: else 18: i’i þ 1. 19: i’i 1. 20: until(ir 0) 21: return Set RC ¼ fS1 ; S2 ; …; Sk g
a7
a5
{mr41, mr42,...mr4q }
Algorithm 3. Process level resource clustering.
The time complexity of Algorithm 3 is closely related to the M number of leaves in the solution space, which is OðΠ i ¼ 1 jRi jÞ.
a4
a1
{mr21 , mr22 ,...mr2 n }
be the predecessors of activity ai, implying that ai cannot be conducted until all the activities in preðai Þ are completed. For example, the predecessors set of activity a6 in Fig. 8 is preða6 Þ ¼ fa1 ; a2 ; a3 ; a4 ; a5 g. So a6 can be performed only after all the activities in preða6 Þ are completed. Process-oriented resource clustering is concerned with recommending appropriate composite resources to requests, i.e., composite resources rather than single resources are allocated to the requests. The solution space of process-oriented resource clustering is organized as a tree. Each level in the solution space corresponds to a virtualized resource and contains several manufacturing resources to fulfill an activity. Each node in the solution space represents a manufacturing resource. A solution of the process-oriented resource clustering is the list of manufacturing resources on the path from the root to a leaf. The depth-first strategy is adopted to search the solution space. After a node mr is visited, the condition mrðIÞ DQ ðIÞ [ preðmrÞðOÞ is checked. If the condition is satisfied, the algorithm repeatedly enters a branch and continues to search. Otherwise, the algorithm goes back to find another offspring of mr's parent. Once a solution is found, the feasibility is judged by ð 8 mr i ÞQ ðOÞ D [ mr i ðOÞ. Let SNi and FNi represent the start number of resources and the end number of resources in the ith level (a virtualized resource), respectively. Process Level Resource Clustering is formally described in Algorithm 3.
5. Case study {mr61 , mr62 ,...mr6 s }
{mr51 , mr52 ,...mr5r } {mr71, mr72,...mr7t }
Fig. 8. Process-oriented resource clustering.
To validate the proposed approach, a case study is performed in collaboration with a Chinese airplane manufacturing enterprise. The enterprise receives production orders from domestic and overseas clients. On average, the annual production volume
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
reaches about 70–80 planes. The process of aircraft manufacturing is very complex and includes about 145 subsystems and consists of 12,000 parts or so. Procedures of such complex manufacturing involve design, analysis, simulation, experimentation, fabrication, integration, etc. Therefore, it is difficult for the enterprise to fulfill such a heavy burden because of its limited equipment and capacity. Some tasks are always outsourced to other enterprises. Meanwhile, the enterprise also accepts some special manufacturing tasks from other enterprises. How to choose the most appropriate manufacturing resources for outsourced tasks is crucial for cost saving. Therefore, the cooperating enterprises are seeking sharing resources through private cloud platforms. Based on such an application scenario, a prototype system has been developed according to the above resource virtualization and sharing mechanisms. Figure 9 shows an application screenshot of the resource virtualization prototype that mainly consists of three parts in vertical: Access control, Functional component, and Information bulletin. The Access control shown on the left illustrates that there are three roles in Cloud Manufacturing: the resource provider, the resource requestor, and the operator. Different roles are assigned to different access rights and responsibilities, i.e., different types of visitors have distinct operating authorities. The Functional components lying at the center of the prototype interface demonstrate the manufacturing resource management, the virtualized resource generation, and the virtualized resource encapsulation. Manufacturing resources are added to the cloud platform by manufacturing resource management, which is responsible for resource registration, resource query, and resource update. The virtualized resource generation enriches the resource profile with semantics. Virtualized resources are generated by multi-granularity resource clustering methods. The virtualized resource encapsulation transforms virtualized resources into cloud services, which are shared by
79
resource requestors through the cloud platform. The information bulletin on the right introduces the latest information on manufacturing industries and markets. The prototype provides the available means for the geographically distributed providers to collaboratively deal with complex manufacturing tasks. In Cloud Manufacturing, resources are complex, diverse, and dynamic. In the practical applications, the resource description focuses on the most important attributes about both the inherent nature of the resources and the application requirements. Figure 10 shows the generic resource profile implemented for manufacturing equipment. It includes three types of information of manufacturing resources: non-functional features, functional features, and QoS. Non-functional features are used for identifying a resource and tracing the state of a resource. Functional features demonstrate the manufacturing capabilities of a resource from three granularity levels (process, activity, attribute). QoS reflects the quality when a resource provides a service for a user. A resource is registered to the cloud platform after giving it all the information. The data model of the resources is described using XML in order to exchange information among heterogeneous systems. An XML document of a numerically controlled lathe is illustrated on the right side of Fig. 10. In the document, the inherent nature of the resource is illustrated by the functional features, the basis for fulfilling manufacturing activities. The application requirements are demonstrated by the static (i.e., QoS) and dynamic (i.e. state) attributes. To improve resource sharing and provide a common semantic reference for distributed enterprises in a cloud manufacturing environment, a domain ontology is developed using Protege under expert guidance, as shown in Fig. 11. The top level classes in the domain ontology located at the top of the left window include the classes ManufacturingEnterprise, ManufacturingResource, ManufacturingTask, ManufacturingContext, FunctionalFeature, and NonFunctionalFeature.
Fig. 9. Interface view of multi-granularity resource virtualization.
80
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
Fig. 10. Resource profile.
Fig. 11. The top level classes in the domain ontology.
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
81
Fig. 12. Activity-oriented virtualized resource view.
Each class is a hierarchy tree, shown at the top of the right window. Besides class inheritance, each class has its own data properties and the association properties with other classes, demonstrated below the left window. The semantic model, described using OWL, provides semantic links among the distributed enterprise resources. Activity-oriented resource clustering is the most important of the three clustering mechanisms. It is based on the attributeoriented resource clustering and is the base of the processoriented. Therefore in Fig. 12, we just show an interface of the activity-oriented resource clustering. On the left side, the developed domain ontology is listed to enrich resources with semantic information. In the middle of the window, an activity-oriented resource clustering is displayed. On the top, the input information is set, such as the granularity, the number of activities, the number of iterations, and the manufacturing resource set. On the bottom, a collection of virtualized resources is listed. Each item in the list consists of the clustering name and the simple description. The clustering name represents the requirement of an activity. The description reflects the main functional features of a virtualized resource. On the right side of Fig. 12, a virtualized resource corresponding to the requirement of curved surface lathing is described. Manufacturing resources that have the functional feature of curved surface lathing or a similar functional feature are aggregated. From the details of the description, the clustering collects 328 candidate manufacturing resources, of which the addresses are listed in a URL document. More information on each manufacturing resource can be obtained from the URL document. The number of candidate manufacturing resources in the virtualized resource is suitable for Cloud Manufacturing to further choose. As well, the candidates provide enough manufacturing resources for the cloud platform. The efficiency of the choosing procedure is high with such a limited number. In other words, the proposed activity-oriented resource clustering is effective and efficient.
6. Conclusions Resource virtualization provides an important foundation for resource discovery and sharing. In this paper, multi-granularity resource virtualization and sharing strategies are proposed for improving resource utilization in a Cloud Manufacturing
environment. The proposed methods incorporate the dimension of the granularity into the resource clustering, not considered by the traditional approaches. In addition, the advantage of the proposed approach lies in that manufacturing demands coming from different granularity levels are satisfied. By analyzing the stepwise decomposition of a complex manufacturing task, three basic factors, i.e., workflow, activity, and resource are identified to be important for resource sharing. Correspondingly, three granularity levels are introduced from the practical application point of view. Resource aggregation functions are constructed concerning both the similarity and the granularity. Resource clustering algorithms are presented for different granularity levels to deal with various manufacturing demands. Results on the case study demonstrate that the proposed methods are rather effective and flexible for dealing with the complex features of Cloud Manufacturing. Our future work will focus on how to quantitatively measure the resource granularity, to provide the accuracy and the convenience for the resource virtualization. In addition, additional work is needed to improve the prototype system.
Acknowledgments This work is supported by the National Natural Science Foundation of China (Grants 61272377) and the Specialized Research Fund for the Doctoral Program of Higher Education (20120092110027).
References Batory D, O'malley S. The design and implementation of hierarchical software systems with reusable components. ACM Trans Softw Eng Methodol (TOSEM) 1992;1(4):355–98. Cai M, Zhang W, Zhang K. Manuhub: a semantic web system for ontology-based service management in distributed manufacturing environments. IEEE Trans Syst Man Cybern Part A: Syst Hum 2011;41(3):574–82. Fan Y, Huang C, Wang Y, Zhang L. Architecture and operational mechanisms of networked manufacturing integrated platform. Int J Prod Res 2005;43 (12):2615–29. Gerasoulis A, Yang T. On the granularity and clustering of directed acyclic task graphs. IEEE Trans Parallel Distrib Syst 1993;4(6):686–701. Huang B, Li C, Yin C, Zhao X. Cloud manufacturing service platform for small-and medium-sized enterprises. Int J Adv Manuf Technol 2013;65(9–12):1261–72.
82
N. Liu et al. / Journal of Network and Computer Applications 46 (2014) 72–82
Kong X, Lin C, Jiang Y, Yan W, Chu X. Efficient dynamic task scheduling in virtualized data centers with fuzzy prediction. J Netw Comput Appl 2011;34 (4):1068–77. Leacock C, Chodorow M. Combining local context and wordnet similarity for word sense identification. WordNet: (an electronic lexical database) 1998;49 (2):265–83. Lee JH, Fenves SJ, Bock C, Suh HW, Rachuri S, Fiorentini X, et al. A semantic product modeling framework and its application to behavior evaluation. IEEE Trans Autom Sci Eng 2012;9(1):110–23. Li B, Zhang L, Ren L, Chai X, Tao F, Luo Y, et al. Further discussion on cloud manufacturing. Comput Integr Manuf Syst 2011;17(3):449–57. Li B, Zhang L, Wang S, Tao F, Cao J, Jiang X, et al. Cloud manufacturing: a new service-oriented networked manufacturing model. Comput Integr Manuf Syst 2010;16(1):1–7. Li W, Zhong Y, Wang X, Cao Y. Resource virtualization and service selection in cloud logistics. J Netw Comput Appl 2013;36(6):1696–704. Li Y, Lu Y, Liao W, Lin Z. Representation and share of part feature information in web-based parts library. Expert Syst Appl 2006;31(4):697–704. Li Y, Yan R, Jian J. A semantics-based approach for collaborative aircraft tooling design. Adv Eng Inf 2010;24(2):149–58. Lin H, Harding JA. A manufacturing system engineering ontology model on the semantic web for inter-enterprise collaboration. Comput Ind 2007;58 (5):428–37. Lombardi F, Di Pietro R. Secure virtualization for cloud computing. J Netw Comput Appl 2011;34(4):1113–22. Patil L, Dutta D, Sriram R. Ontology-based exchange of product data semantics. IEEE Trans Autom Sci Eng 2005;2(3):213–25. Ren L, Zhang L, Zhang YB, Tao F, Luo YL. Resource virtualization in cloud manufacturing. Comput Integr Manuf Syst 2011;17(3):511–8. Rodriguez JM, Crasso M, Zunino A, Campo M. Improving web service descriptions for effective service discovery. Sci Comput Program 2010;75(11):1001–21. Rodríguez MA, Egenhofer MJ. Determining semantic similarity among entity classes from different ontologies. IEEE Trans Knowl Data Eng 2003;15(2):442–56. Sensoy M, Yolum P. Ontology-based service representation and selection. IEEE Trans Knowl Data Eng 2007;19(8):1102–15. Shi S, Mo R, Yang HC, Chang ZY, Chen ZF. An implementation of modelling resource in a manufacturing grid for resource sharing. Int J Comput Integr Manuf 2007;20(2–3):169–77. Shi W, Lu Y, Li Z, Engelsma J. Sharc: a scalable 3d graphics virtual appliance delivery framework in cloud. J Netw Comput Appl 2011;34(4):1078–87. Steele J, Son YJ, Wysk RA. Resource modeling for the integration of the manufacturing enterprise. J Manuf Syst 2001;19(6):407–27.
Sun H, Fan W, Shen W, Xiao T. Ontology-based interoperation model of collaborative product development. J Netw Comput Appl 2012;35(1):132–44. Tao F, LaiLi Y, Xu L, Zhang L. FC-PACO-RM: a parallel method for service composition optimal-selection in cloud manufacturing system. IEEE Trans Ind Inf 2013;9(4):2023–33. Tao F, Zhang L, Guo H, Luo YL, Ren L. Typical characteristics of cloud manufacturing and several key issues of cloud service composition. Comput Integr Manuf Syst 2011a;17(3):477–86. Tao F, Zhang L, Venkatesh V, Luo Y, Cheng Y. Cloud manufacturing: a computing and service-oriented manufacturing model. Proc Inst Mech Eng Part B: J Eng Manuf 2011b;225(10):1969–76. Uschold M, Gruninger M. Ontologies: principles, methods and applications. Knowl Eng Rev 1996;11(2):93–136. Vichare P, Nassehi A, Kumar S, Newman ST. A unified manufacturing resource model for representing CNC machining systems. Robot Comput-Integr Manuf 2009;25(6):999–1007. Vincent Wang X, Xu XW. An interoperable solution for cloud manufacturing. Robot Comput-Integr Manuf 2013;29(4):232–47. Wang L. Machine availability monitoring and machining process planning towards cloud manufacturing. CIRP J Manuf Sci Technol 2013;6(4):263–73. Wu D, Greer MJ, Rosen DW, Schaefer D. Cloud manufacturing: strategic vision and state-of-the-art. J Manuf Syst 2013;32(4):564–79. Xu X. From cloud computing to cloud manufacturing. Robot Comput-Integr Manuf 2012;28(1):75–86. Xue Y, Ghenniwa HH, Shen W. Frame-based ontological view for semantic integration. J Netw Comput Appl 2012;35(1):121–31. Yan X, Lau RY, Song D, Li X, Ma J. Toward a semantic granularity model for domainspecific information retrieval. ACM Trans Inf Syst (TOIS) 2011;29(3):15. Yin C, Huang BQ, Liu F, Wen LJ, Wang ZK, Li XD, et al. Common key technology system of cloud manufacturing service platform for small and medium enterprises. Comput Integr Manuf Syst 2011;17(3):495–503. Zhan DC, Zhao XB, Wang SQ, Cheng Z, Zhou XQ, Nie LS, et al. Cloud manufacturing service platform for group enterprises oriented to manufacturing and management. Comput Integr Manuf Syst 2011;17(3):487–94. Zhang L, Luo Y, Tao F, Li BH, Ren L, Zhang X, et al. Cloud manufacturing: a new manufacturing paradigm. Enterp Inf Syst 2012: 1–2 (ahead-of-print). Zhang L, Luo YL, Fan WH, Tao F, Ren L. Analyses of cloud manufacturing and related advanced manufacturing models. Comput Integr Manuf Syst 2011;17 (3):458–68. Zhang L, Luo YL, Tao F, Ren L, Guo H. Key technologies for the construction of manufacturing cloud. Comput Integr Manuf Syst 2010;16(11):2510–20.