<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0717-5000</journal-id>
<journal-title><![CDATA[CLEI Electronic Journal]]></journal-title>
<abbrev-journal-title><![CDATA[CLEIej]]></abbrev-journal-title>
<issn>0717-5000</issn>
<publisher>
<publisher-name><![CDATA[Centro Latinoamericano de Estudios en Informática]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0717-50002015000300003</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[Towards Scalability for Federated Identity Systems for Cloud-Based Environments]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Albino Pereira]]></surname>
<given-names><![CDATA[André]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[M. Sobral]]></surname>
<given-names><![CDATA[João Bosco]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Westphall]]></surname>
<given-names><![CDATA[Carla M.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidade Federal de Santa Catarina  ]]></institution>
<addr-line><![CDATA[Florianópolis ]]></addr-line>
<country>Brasil</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2015</year>
</pub-date>
<volume>18</volume>
<numero>3</numero>
<fpage>3</fpage>
<lpage>3</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_arttext&amp;pid=S0717-50002015000300003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_abstract&amp;pid=S0717-50002015000300003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_pdf&amp;pid=S0717-50002015000300003&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[As multi-tenant authorization and federated identity management systems for cloud computing matures, the provisioning of services using this paradigm allows maximum efficiency on business that requires access control. However, regarding scalability support, mainly horizontal, some characteristics of those approaches based on central authentication protocols are problematic. The objective of this work is to address these issues by providing an adapted sticky-session mechanism for a Shibboleth architecture using JASIG CAS. This alternative, compared with the recommended distributed memory approach, shown improved efficiency and less overall infrastructure complexity, as well as demanding less 58% of computational resources and improving throughput (requests per second) by 11%.]]></p></abstract>
<abstract abstract-type="short" xml:lang="pt"><p><![CDATA[Com o amadurecimento de abordagens de autorização multi-inquilino e gerenciamento de identidade federada para computação em nuvem, a provisão de serviços utilizando esse paradigma permite maximizar a eficiência para organizações em que o controle de acesso é imprescindível. No entanto, no que tange o suporte à escalabilidade, principalmente horizontal, algumas características dessas abordagens baseadas em protocolos de autenticação central apresentam problemas. Este trabalho visa abordar as soluções existentes, contribuindo com uma adaptação do mecanismo sticky-session em uma arquitetura Shibboleth utilizando JASIG CAS. Essa alternativa, comparada com a abordagem recomendada baseada em memória distribuída, mostra uma maior eficiência com redução de complexidade na infraestrutura, além de demandar menos 58% de recursos computacionais e aumento da capacidade de requisições por segundo em 11%.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[scalability]]></kwd>
<kwd lng="en"><![CDATA[federated identity]]></kwd>
<kwd lng="en"><![CDATA[cloud computing]]></kwd>
<kwd lng="en"><![CDATA[authentication]]></kwd>
<kwd lng="en"><![CDATA[access control]]></kwd>
<kwd lng="pt"><![CDATA[escalabilidade]]></kwd>
<kwd lng="pt"><![CDATA[identidade federada]]></kwd>
<kwd lng="pt"><![CDATA[computação em nuvem]]></kwd>
<kwd lng="pt"><![CDATA[autenticação]]></kwd>
<kwd lng="pt"><![CDATA[controle de acesso]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <div class="maketitle">    <h2 class="titleHead" style="font-size:14pt">Towards Scalability for Federated Identity Systems for Cloud-Based Environments</h2>     <div class="author" > <span  class="cmbx-12">Andr</span><span  class="cmbx-12">é Albino Pereira &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jo</span><span  class="cmbx-12">ão Bosco M. Sobral &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Carla M. Westphall</span>     <br>                    <span  class="cmr-12">Universidade Federal de Santa Catarina</span>     <br>           <span  class="cmr-12">Programa de P</span><span  class="cmr-12">ós-Gradua</span><span  class="cmr-12">ç</span><span  class="cmr-12">ão em Ci</span><span  class="cmr-12">ência da Computa</span><span  class="cmr-12">ç</span><span  class="cmr-12">ão</span>     <br>                       <span  class="cmr-12">Florian</span><span  class="cmr-12">ópolis, Brasil, 88040-900,</span>     <br>      <span  class="cmti-12"><a href="mailto:andreptb@gmail.com">andreptb@gmail.com</a>, <a href="mailto:bosco.sobral@ufsc.br">bosco.sobral@ufsc.br</a>, <a href="mailto:carla.westphall@ufsc.br">carla.westphall@ufsc.br</a> </span></div>    <br>     <div class="date" ></div>    </div>    <div  class="abstract"  >     <div class="center"  > <!--l. 30-->    ]]></body>
<body><![CDATA[<p class="noindent" >     <div class="minipage">    <div class="center"  > <!--l. 30-->    <p class="noindent" > <!--l. 30-->    <p class="noindent" ><span  class="cmbx-10">Abstract</span></div> <!--l. 31-->    <p class="noindent" >As multi-tenant authorization and federated identity management systems for cloud computing matures, the provisioning of services using this paradigm allows maximum efficiency on business that requires access control. However, regarding scalability support, mainly horizontal, some characteristics of those approaches based on central authentication protocols are problematic. The objective of this work is to address these issues by providing an adapted sticky-session mechanism for a <span  class="cmti-10">Shibboleth </span>architecture using <span  class="cmti-10">JASIG CAS</span>. This alternative, compared with the recommended distributed memory approach, shown improved efficiency and less overall infrastructure complexity, as well as demanding less <span  class="cmti-10">58% </span>of computational resources and improving <span  class="cmti-10">throughput </span>(requests per second) by <span  class="cmti-10">11%</span>.     <p class="noindent" ><span  class="cmbx-10"><br  class="newline">Abstract in Portuguese</span></div>  Com o amadurecimento de abordagens de autorização multi&#8211;inquilino e gerenciamento de identidade federada para computação em nuvem, a provisão de serviços utilizando esse paradigma permite maximizar a eficiência para organizações em que o controle de acesso é imprescindível. No entanto, no que tange o suporte à escalabilidade, principalmente horizontal, algumas características dessas abordagens baseadas em protocolos de autenticação central apresentam problemas. Este trabalho visa abordar as soluções existentes, contribuindo com uma adaptação do mecanismo sticky-session em uma arquitetura Shibboleth utilizando JASIG CAS. Essa alternativa, comparada com a abordagem recomendada baseada em memória distribuída, mostra uma maior eficiência com redução de complexidade na infraestrutura, além de demandar menos 58% de recursos computacionais e aumento da capacidade de requisições por segundo em 11%.  </div> </div> <!--l. 42-->    <p class="noindent" ><span  class="cmbx-10">Keywords: </span>scalability, federated identity, cloud computing, authentication, access control.<br  class="newline">Keywords in Portuguese: escalabilidade, identidade federada, computação em nuvem, autenticação, controle de acesso. <br  class="newline">Received: 2015-09-29 Revised: 2015-11-07 Accepted: 2015-11-07    <h3 class="sectionHead"><span class="titlemark">1   </span> <a   id="x1-10001"></a>Introduction</h3>  <!--l. 49-->    <p class="noindent" >The provisioning of services for the cloud computing <span class="cite">&#x00A0;[<a  href="#Xmell2011nist">1</a><a id="br1">]</a></span> establishes that computational resources can be hired on-demand, improving operational efficiency and reducing costs for organizations that adopt this paradigm <span class="cite">&#x00A0;[<a  href="#Xzhou2010services">2</a><a id="br2">]</a></span>. However, on environments involving sensitive data, mechanisms of authentication and access management must evolve so that cloud computing become a trusted platform, allowing full adoption by organizations <span class="cite">&#x00A0;[<a  href="#Xolden2011architecting">3</a><a id="br3">]</a></span>. Identity and access management systems must support cooperation between organizations, mainly to provide features such as <span  class="cmti-10">Single Sign-On </span>(SSO). Identities used within this context are denominated <span  class="cmti-10">federated identities </span><span class="cite">&#x00A0;[<a  href="#Xchadwick2009federated">4</a><a id="br4">]</a></span>. <span  class="cmti-10">Shibboleth </span><span class="cite">&#x00A0;[<a  href="#Xcantor2005shibboleth">5</a><a id="br5">]</a></span> and <span  class="cmti-10">Central Authentication Service </span>(<span  class="cmti-10">CAS</span>) implements federated identity <span class="cite">&#x00A0;[<a  href="#Xjasigcas2012">6</a><a id="br6">]</a></span>, and <span class="cite">&#x00A0;[<a  href="#Xleandro2012multi">7</a><a id="br7">]</a></span> presents an infrastructure of federated identity for services on the cloud, based on the aforementioned technologies. As cited by <span class="cite">&#x00A0;[<a  href="#Xarmbrust2010view">8</a><a id="br8">]</a></span>, regardless if hired resources on the cloud have low (<span  class="cmti-10">Amazon EC2</span>) or high (<span  class="cmti-10">AppEngine</span>) abstraction level, technologies in hardware and software must all focus on horizontal scalability support rather than a high performance central node. Specifically for solutions based on emphShibboleth and <span  class="cmti-10">CAS</span>, horizontal scalability can be achieved by clustering identity and service providers. Since the authentication process on these solutions relies on <span  class="cmti-10">HTTP </span>session mechanism, the data stored on the server needs to be shared between all nodes of the cluster. In <span class="cite">&#x00A0;[<a  href="#Xcas2012clustering">9</a><a id="br9">]</a></span> is recommended the use of a distributed memory platform to address this requirement. This technique however can considerably increase the solution complexity, as well the cost for the necessary infrastructure. The objective of this paper is to provide an alternative for authentication and access session management, based on an adaptation of the <span  class="cmti-10">sticky-session</span> concept <span class="cite">&#x00A0;[<a  href="#Xstecca2011sticky">10</a><a id="br10">]</a></span>. The <span  class="cmti-10">sticky-session mechanism</span>, supported by most load balancers, aims to redirect user subsequent requests to the same node the first request was made, therefore &#8221;sticking&#8221; the user to that node while a session context exists. For this to work, load balancers demand that the value of <span  class="cmti-10">HTTP</span> <span  class="cmti-10">Cookie </span>used to establish session with the user appends at the end of the <span  class="cmti-10">String </span>an unique value that identifies the node which created the session context. For Java systems, application servers such as <span  class="cmti-10">Apache Tomcat </span>and <span  class="cmti-10">JBossAS </span>uses a <span  class="cmti-10">HTTP Cookie </span>named <span  class="cmti-10">JSESSIONID </span>for this end. The identifier suffix in these application servers are called <span  class="cmti-10">jvmRoute </span>identifier. This alternative, provided by <span class="cite">&#x00A0;[<a  href="#Xstecca2011sticky">10</a><a id="br10">]</a></span>, aims to minimize the costs and complexity to deploy a federated identity management system for the cloud, improving horizontal scalability support for the components of this system. This paper is organized with the following sections: Section&#x00A0;<a  href="#x1-20002">2<!--tex4ht:ref: sec:conceitos_basicos --></a> introduces key aspects related to this work, such as cloud computing models and identity management as a service; Section&#x00A0;<a  href="#x1-50003">3<!--tex4ht:ref: sec:trabalhos_correlatos --></a> describes the related work; Section&#x00A0;<a  href="#x1-80004">4<!--tex4ht:ref: sec:tecnologias_identidade --></a> lists the technologies used on a federated identity management platform, as well as it&#8217;s horizontal scalability support; Section&#x00A0;<a  href="#x1-120005">5<!--tex4ht:ref: sec:proposta_sticky_adaptado --></a> presents a new approach to improve scalability on the components used on a federated identity management for cloud computing; Section&#x00A0;<a  href="#x1-150006">6<!--tex4ht:ref: sec:analise_comparativa --></a> provides test results and comparative analysis with other existent alternatives; Finally, Section&#x00A0;<a  href="#x1-160007">7<!--tex4ht:ref: sec:conclusao --></a> presents the conclusions and future work. <!--l. 60-->    <p class="noindent" >    <h3 class="sectionHead"><span class="titlemark">2   </span> <a   id="x1-20002"></a>Basic Concepts</h3> <!--l. 61-->    ]]></body>
<body><![CDATA[<p class="noindent" >In this section, key aspects regarding the contributions provided by this work are fundamented. <!--l. 63-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">2.1   </span> <a   id="x1-30002.1"></a>Cloud Computing Infrastructure for Web Applications</h4> <!--l. 64-->    <p class="noindent" >Cloud computing is a model in which computational resources, such as servers, application, among others, are hired on-demand. These resources should be provided quickly, without much hassle from the service provider. It is indispensable that technologies used on those environments are horizontally scalable <span class="cite">&#x00A0;[<a  href="#Xarmbrust2010view">8</a><a id="br8">]</a></span>, which is accomplished by integrating multiple software or hardware entities to work as one logical unit. For servers, adding new nodes will improve the performance of this logic unit, using mechanisms such as clusterization and load balancing <span class="cite">&#x00A0;[<a  href="#Xarmbrust2010view">8</a><a id="br8">]</a></span>. On the other hand, vertical scaling aims to increase processing power of a single entity, like adding memory to a server. <!--l. 66-->    <p class="indent" >   For Web application cloud environment, such as <span  class="cmti-10">Amazon&#8217;s EC2 IaaS (Platform as a Service) </span>approach, on demand horizontal scalability is provided with <span  class="cmti-10">Amazon&#8217;s ELB (Elastic Load Balancing) </span>technology. Other vendors provide similar services (<span  class="cmti-10">Microsoft AAB </span>and <span  class="cmti-10">Google Cloud Auto Scaling Orchestrator</span>). The idea is to automatically distribute incoming application traffic, initializing additional or shutting down hardware instances according to this traffic, as depicted on Figure&#x00A0;<a  href="#x1-30011">1<!--tex4ht:ref: fig:infraestrutura_web --></a>. <!--l. 68-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-30011"></a>  <!--l. 70-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f1.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;1: </span><span   class="content">Web application cloud environment with elastic load balancing</span></div><!--tex4ht:label?: x1-30011 -->  <!--l. 73-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 75-->    ]]></body>
<body><![CDATA[<p class="indent" >   However, as stated by <span class="cite">&#x00A0;[<a  href="#Xarmbrust2010view">8</a><a id="br8">]</a></span>, software elements must be compliant with auto scaling approaches, and most authentication solutions, such as <span  class="cmti-10">Shibboleth</span>, requires adaptations, and as will be discussed on the following sections.    <h4 class="subsectionHead"><span class="titlemark">2.2   </span> <a   id="x1-40002.2"></a>Identity Management as a Service</h4> <!--l. 78-->    <p class="noindent" >A digital identity is a representation of an entity (or group of entities) in the form of one or more elements of information (attributes) that allows the recognition of an entity in a specific context <span class="cite">&#x00A0;[<a  href="#Xchadwick2009federated">4</a><a id="br4">]</a></span>. A identity management system aggregates a collection of tools to manage individual identities in a digital environment <span class="cite">&#x00A0;[<a  href="#Xchadwick2009federated">4</a><a id="br4">]</a></span> <span class="cite">&#x00A0;[<a  href="#Xsantos2014privacy">11</a><a id="br11">]</a></span>. A feature largely utilized on these systems includes <span  class="cmti-10">SSO</span>, so the user does not need to authenticate every time to access different applications. The responsibilities of an identity management system can categorized in the following items:      <ul class="itemize1">      <li class="itemize">Authentication: Asserts that the user is who he claims to be, using mechanisms such as password,      biometry, digital certificate, among others.      </li>      <li class="itemize">Authorization: Access control in different levels, features and operations within a computational system.      </li>      <li class="itemize">Federation: When a group of organizations share identity information between it&#8217;s users in a trusted      way <span class="cite">&#x00A0;[<a  href="#Xsantos2013risk">12</a><a id="br12">]</a></span>.</li>    </ul> <!--l. 88-->    <p class="indent" >   Considering that organizations can provide services of different segments on the cloud, it is recommended to promote the separation of identity management tasks in a single service <span class="cite">&#x00A0;[<a  href="#Xolden2011architecting">3</a><a id="br3">]</a></span>. This model presents two components:      <ul class="itemize1">      <li class="itemize">Identity Provider <span  class="cmti-10">IP</span>: Service responsible to authenticate users and provision credentials information      to registered services that requires it.      </li>      <li class="itemize">Service Provider <span  class="cmti-10">SP</span>: Provides the features that the user consumes. If it&#8217;s access is restricted, the <span  class="cmti-10">IP</span>      must be queried to collect credentials.</li>    </ul> <!--l. 95-->    <p class="indent" >   For organizations that develop <span  class="cmti-10">IP </span>it means less preoccupation with identity technology, allowing more investment on the service management and less on security infrastructure <span class="cite">&#x00A0;[<a  href="#Xolden2011architecting">3</a><a id="br3">]</a></span>. Also, this approach is imperative for <span  class="cmti-10">SSO </span>mechanisms in a federated identity environment. <!--l. 98-->    <p class="noindent" >    <h3 class="sectionHead"><span class="titlemark">3   </span> <a   id="x1-50003"></a>Related Work</h3> <!--l. 99-->    <p class="noindent" >The related work of this paper is separated in two groups. The first aims to consolidate identity management and access control in a cloud environment, providing theoretical models and practical implementation for this purpose. The second addresses the session management between user and services on the cloud, a mechanism largely adopted on identity management technologies. <!--l. 101-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">3.1   </span> <a   id="x1-60003.1"></a>Access control in a cloud environment related work group</h4> <!--l. 103-->    <p class="noindent" >In <span class="cite">&#x00A0;[<a  href="#Xcalero2010toward">13</a><a id="br13">]</a></span>, an authorization model is established, providing means to secure resources on a <span  class="cmti-10">SaaS </span>(<span  class="cmti-10">Software-as-a-Service</span>) cloud. At each request, a new authorization process is performed. This approach is recommended for <span  class="cmti-10">REST Web</span> <span  class="cmti-10">Services </span>based solutions, since <span  class="cmti-10">RESTful </span>approaches should not make use of <span  class="cmti-10">HTTP session </span><span class="cite">&#x00A0;[<a  href="#Xrichardson2008restful">14</a><a id="br14">]</a></span>. In <span class="cite">&#x00A0;[<a  href="#Xolden2011architecting">3</a><a id="br3">]</a></span>, the challenges to secure services on the cloud are discussed, and the notion of identity management as a service is presented, as well as the requirements to build a solution for this segment. In <span class="cite">&#x00A0;[<a  href="#Xleandro2012multi">7</a><a id="br7">]</a></span>, a federated identity management architecture for the cloud is proposed. A scenario is structured in a way that services are deployed on virtual machines provided by <span  class="cmti-10">Amazon EC2</span>, and authentication providers in a separated third party environment. The proposal is based on <span  class="cmti-10">Shibboleth </span>and <span  class="cmti-10">CAS</span>, however the horizontal scalability support of the solution is not addressed.  <!--l. 107-->    ]]></body>
<body><![CDATA[<p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">3.2   </span> <a   id="x1-70003.2"></a>Session management in cloud services related work group</h4> <!--l. 109-->    <p class="noindent" >In <span class="cite">&#x00A0;[<a  href="#Xstecca2011sticky">10</a><a id="br10">]</a></span>, a study addressing the scalability of services deployed on an IaaS (Infrastructure-as-a-Service) cloud is made, in which the use of <span  class="cmti-10">HTTP session </span>mechanism is required. The work presents a scenario with clustered services, and a load balancer forwards user requests while applying <span  class="cmti-10">sticky-session</span>. To aggregate robustness to the solution, the authors provides monitoring and failsafe mechanisms in case a cluster node becomes unavailable, situation that, if not treated, can result <span  class="cmti-10">HTTP session </span>data lost on the server and consequently user&#8217;s work. In <span class="cite">&#x00A0;[<a  href="#Xnanda2011high">15</a><a id="br15">]</a></span>, a viability analysis is made regarding the deployment of large scale services on the cloud, comparing <span  class="cmti-10">sticky-session </span>and <span  class="cmti-10">distributed memory </span>approaches. The author concludes that, considering the test results, the <span  class="cmti-10">distributed memory </span>is the best approach. However, the analyzed infrastructure do not consider the existence of federated identity management mechanisms. In <span class="cite">&#x00A0;[<a  href="#Xcas2012clustering">9</a><a id="br9">]</a></span>, <span  class="cmti-10">CAS </span>scalability issue is addressed by specifying a designing cluster authentication model, providing a load balancer to manage multiple <span  class="cmti-10">CAS Server </span>instances. The author does not address the scalability issues on client side, specifically <span  class="cmti-10">Single-Sign-Out </span>support. The work on the paper is preliminary and a follow-up work, possibly an implementation, is to be expected. In <span class="cite">&#x00A0;[<a  href="#Xhuang2011design">16</a><a id="br16">]</a></span>, an authentication server controller is implemented, managing <span  class="cmti-10">CAS Server </span>cluster nodes and balancing requests accordingly. As with <span class="cite">&#x00A0;[<a  href="#Xliu2011distributed">17</a><a id="br17">]</a></span>, the scalability issues on client side are not addressed. Comparing the work exposed on <span class="cite">&#x00A0;[<a  href="#Xliu2011distributed">17</a><a id="br17">]</a></span> and <span class="cite">&#x00A0;[<a  href="#Xhuang2011design">16</a><a id="br16">]</a></span> with this paper, resolving <span  class="cmti-10">CAS Server </span>scalability issues is a common goal, but this paper also addresses the scalability problems regarding client applications that participates in a <span  class="cmti-10">CAS </span>authentication infrastructure. Additionally, no modifications were applied on <span  class="cmti-10">CAS </span>authentication protocol, ensuring compatibility when the solution is embedded in the proposed <span  class="cmti-10">Shibboleth </span>architecture for the cloud <span class="cite">&#x00A0;[<a  href="#Xleandro2012multi">7</a><a id="br7">]</a></span>. <!--l. 115-->    <p class="noindent" >    <h3 class="sectionHead"><span class="titlemark">4   </span> <a   id="x1-80004"></a>Identity Management Technologies</h3> <!--l. 116-->    <p class="noindent" >A trusted model for federated identity management and adherent to <span class="cite">&#x00A0;[<a  href="#Xolden2011architecting">3</a><a id="br3">]</a></span> recommendation was proposed by <span class="cite">&#x00A0;[<a  href="#Xleandro2012multi">7</a><a id="br7">]</a></span>, and was based on two open-source technologies:      <ul class="itemize1">      <li class="itemize"><span  class="cmti-10">JASIG Central Authentication Service </span>(<span  class="cmti-10">CAS</span>): Provides components to act as an authentication service,      known as <span  class="cmti-10">CAS Server </span><span class="cite">&#x00A0;[<a  href="#Xjasigcas2012">6</a><a id="br6">]</a></span>. The solution implements a <span  class="cmti-10">HTTP </span>based protocol for <span  class="cmti-10">SSO</span>, and provides      client tools, in various platforms, so systems can participate in the authentication infrastructure.      </li>      <li class="itemize"><span  class="cmti-10">Shibboleth</span>: Implements an architecture for contexts involving federated identity management. Provides      mechanisms to safely transfer user credentials, as well as been highly adherent to <span  class="cmti-10">W3C </span>specifications,      such as <span  class="cmti-10">Security Assertion Markup Language </span>(<span  class="cmti-10">SAML</span>) <span class="cite">&#x00A0;[<a  href="#Xcantor2005shibboleth">5</a><a id="br5">]</a></span>.</li>    </ul> <!--l. 123-->    <p class="indent" >   For the scenario implemented by <span class="cite">&#x00A0;[<a  href="#Xleandro2012multi">7</a><a id="br7">]</a></span>, <span  class="cmti-10">CAS </span>act as <span  class="cmti-10">SSO </span>authentication mechanism in the <span  class="cmti-10">Shibboleth</span> architecture. <!--l. 125-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">4.1   </span> <a   id="x1-90004.1"></a><span  class="cmti-10">CAS </span>Authentication Flow</h4> <!--l. 126-->    <p class="noindent" >Considering that <span  class="cmti-10">CAS </span>is an important component in the federated identity management infrastructure, the <span  class="cmti-10">SSO </span>authentication flow is detailed in this section. For services accessed by the user&#8217;s browser, <span  class="cmti-10">CAS </span>implements a protocol which make use of <span  class="cmti-10">HTTP </span>mechanisms such as <span  class="cmti-10">Cookies </span>and <span  class="cmti-10">Redirects</span>. The operation flow established on this protocol is exposed on Figure&#x00A0;<a  href="#x1-90172">2<!--tex4ht:ref: fig:fluxo_cas --></a>, and is composed by eight steps: <!--l. 129-->    <p class="indent" >      <ol  class="enumerate1" >      <li    class="enumerate" id="x1-9002x1"><a   id="x1-90011"></a> The user access a service&#8217;s resource using a web browser.      </li>      <li    class="enumerate" id="x1-9004x2">Since the service demands credentials, it responds <span  class="cmti-10">HTTP 302 (Redirect) </span>so that the browser takes the      user to the <span  class="cmti-10">CAS Server</span>, to proceed with the authentication.       </li>      <li    class="enumerate" id="x1-9006x3">If no previous authentication occurred, the user will be asked to inform credentials (user and password,      digital certificate, etc). If is already authenticated on <span  class="cmti-10">CAS Server</span>, the flow skips to the next step,      without asking the user to inform his credentials again.      </li>      <li    class="enumerate" id="x1-9008x4">If the authentication process succeeds, the <span  class="cmti-10">CAS Server </span>will generate an unique identifier (a <span  class="cmti-10">ticket</span>).      This identifier is appended to the redirect <span  class="cmti-10">URL </span>the user accessed previously (the service resource).      <span  class="cmti-10">CAS Server </span>keeps the <span  class="cmti-10">ticket </span>in memory for a limited time, so can be processed in step <a  href="#x1-90137">7<!--tex4ht:ref: item:etapa_7_fluxo_cas --></a>.      </li>      <li    class="enumerate" id="x1-9010x5">The browser proceeds with the new redirect, this time with the <span  class="cmti-10">ticket </span>appended on the <span  class="cmti-10">URL</span>.      </li>      <li    class="enumerate" id="x1-9012x6"><a   id="x1-90116"></a> The existence of a <span  class="cmti-10">ticket </span>on the <span  class="cmti-10">URL</span>&#8217;s query string means that the user is authenticated on <span  class="cmti-10">CAS</span>      <span  class="cmti-10">Server</span>, so the service itself must request the <span  class="cmti-10">CAS Server </span>to validate the authentication context.      </li>      <li    class="enumerate" id="x1-9014x7"><a   id="x1-90137"></a> Upon receiving the service&#8217;s request, <span  class="cmti-10">CAS Server </span>compares the <span  class="cmti-10">ticket </span>extracted from the <span  class="cmti-10">URL </span>with      the <span  class="cmti-10">ticket </span>kept in memory, responding a <span  class="cmti-10">SAML </span>message with the user&#8217;s credentials.      </li>      <li    class="enumerate" id="x1-9016x8">After processing <span  class="cmti-10">CAS Server&#8217;s </span>response, the service commits the authentication process and returns      to the user the content requested in step <a  href="#x1-90011">1<!--tex4ht:ref: item:etapa_1_fluxo_cas --></a>.</li>    </ol> <!--l. 140-->    ]]></body>
<body><![CDATA[<p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-90172"></a>  <!--l. 142-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f2.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;2: </span><span   class="content"><span  class="cmti-10">CAS </span>authentication flow</span></div><!--tex4ht:label?: x1-90172 -->  <!--l. 145-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 147-->    <p class="indent" >   Additionally, <span  class="cmti-10">CAS </span>offers <span  class="cmti-10">Single-Sign-Out </span><span class="cite">&#x00A0;[<a  href="#Xbattaglia2012jsinglesignout">18</a><a id="br18">]</a></span>, allowing the user to logout from all participant services with a single request. When a logout request is received from the user, the <span  class="cmti-10">CAS Server </span>sends a <span  class="cmti-10">SAML </span>message to each service accessed by the user so the authentication state can be synchronized (Figure&#x00A0;<a  href="#x1-90183">3<!--tex4ht:ref: fig:logout_cas --></a>). <!--l. 149-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-90183"></a>  <!--l. 151-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f3.png" alt="PIC"   >     ]]></body>
<body><![CDATA[<br>     <div class="caption"  ><span class="id">Figure&#x00A0;3: </span><span   class="content"><span  class="cmti-10">CAS </span>Single-Sign-Out operation flow</span></div><!--tex4ht:label?: x1-90183 -->  <!--l. 154-->    <p class="indent" >   </div><hr class="endfigure">    <h4 class="subsectionHead"><span class="titlemark">4.2   </span> <a   id="x1-100004.2"></a>Horizontal Scalability Support</h4> <!--l. 157-->    <p class="noindent" >To horizontally scale systems based on <span  class="cmti-10">CAS </span>components, clusterization must be enabled, both for the <span  class="cmti-10">IP</span> as for the services providers. A load balancer (<span  class="cmti-10">LB</span>) approach must be deployed so requests can be coordinated to the nodes. There are several solutions for load balancing tasks, such as <span  class="cmti-10">Apache Web Server</span>, <span  class="cmti-10">Microsoft IIS</span>, <span  class="cmti-10">Amazon EC2 ELB</span>, among others <span class="cite">&#x00A0;[<a  href="#Xrandles2010comparative">19</a><a id="br19">]</a></span>. The user authentication establish a <span  class="cmti-10">HTTP</span> <span  class="cmti-10">session </span>with the server, so that the authentication process do not repeat at each access. Since the data of this session are kept in the memory of the node the user accessed, if in the next access the <span  class="cmti-10">LB</span> forwards the request to another node, no session information will be found, mistakenly demanding a new authentication process. This is a recurring problem in <span  class="cmti-10">stateful </span>approaches, such as <span  class="cmti-10">CAS </span>and <span  class="cmti-10">Shibboleth</span>. <!--l. 160-->    <p class="indent" >   A possible solution is to ensure the <span  class="cmti-10">LB </span>forwards subsequent requests to the same node from the first request <span class="cite">&#x00A0;[<a  href="#Xstecca2011sticky">10</a><a id="br10">]</a></span>. This mechanism is known as <span  class="cmti-10">sticky-session</span>, and uses <span  class="cmti-10">HTTP Cookies </span>created to mantain state between system and user. <!--l. 162-->    <p class="indent" >   However, as exposed by <span class="cite">&#x00A0;[<a  href="#Xcas2012clustering">9</a><a id="br9">]</a></span>, the communication step between the service and <span  class="cmti-10">CAS Server </span>also requires the <span  class="cmti-10">CAS</span> <span  class="cmti-10">Server&#8217;s </span>node is the same the user accessed, since <span  class="cmti-10">ticket </span>is kept in the memory of that specific node. In this step, the <span  class="cmti-10">LB </span>do not receive the user&#8217;s <span  class="cmti-10">HTTP Cookies</span>, since the request was made by the service. The <span  class="cmti-10">sticky-session</span> mechanism will not work, and the authentication process may fail. In a cloud computing environment which adopts identity management as a service, a scalable infrastructure will inevitably be compromised by this issue (Figure&#x00A0;<a  href="#x1-100014">4<!--tex4ht:ref: fig:cloud_cas_falha_1 --></a>). <!--l. 164-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-100014"></a>  <!--l. 166-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f4.png" alt="PIC"   >     <br>     ]]></body>
<body><![CDATA[<div class="caption"  ><span class="id">Figure&#x00A0;4: </span><span   class="content">Failure simulation on the authentication process of horizontally scaled services on the cloud</span></div><!--tex4ht:label?: x1-100014 -->  <!--l. 169-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 171-->    <p class="indent" >   The <span  class="cmti-10">Single-Sign-Out </span>is also compromised, since when <span  class="cmti-10">CAS </span>process the <span  class="cmti-10">LogoutRequest SAML </span>message to the services, the <span  class="cmti-10">LB </span>for the same reason may forward requests to <span  class="cmti-10">cluster </span>nodes of services that the user wasn&#8217;t authenticated (Figure&#x00A0;<a  href="#x1-100025">5<!--tex4ht:ref: fig:cloud_cas_falha_2 --></a>). <!--l. 173-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-100025"></a>  <!--l. 175-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f5.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;5: </span><span   class="content">Failure simulation on the <span  class="cmti-10">Single-Sign-Out </span>process of horizontally scaled services on the cloud</span></div><!--tex4ht:label?: x1-100025 -->  <!--l. 178-->    <p class="indent" >   </div><hr class="endfigure">    <h4 class="subsectionHead"><span class="titlemark">4.3   </span> <a   id="x1-110004.3"></a>Distributed memory with Terracotta</h4> <!--l. 181-->    <p class="noindent" >An alternative to address the aforementioned issues is to consider the use of <span  class="cmti-10">Terracotta </span><span class="cite">&#x00A0;[<a  href="#Xterracotta2008definitive">20</a><a id="br20">]</a></span>. This approach was recommended by <span class="cite">&#x00A0;[<a  href="#Xnanda2011high">15</a><a id="br15">]</a></span>, <span class="cite">&#x00A0;[<a  href="#Xcas2012clustering">9</a><a id="br9">]</a></span> and <span class="cite">&#x00A0;[<a  href="#Xcantor2012productionalization">21</a><a id="br21">]</a></span>. <span  class="cmti-10">Terracotta </span>provides memory information sharing between all nodes, making user&#8217;s session information available to any cluster&#8217;s node. This infrastructure uses three <span  class="cmti-10">Terracotta </span>components <span class="cite">&#x00A0;[<a  href="#Xterracotta2008definitive">20</a><a id="br20">]</a></span>:      <ul class="itemize1">      <li class="itemize"><span  class="cmti-10">Terracotta Server</span>: A dedicated service to maintain the information to be shared. Can also be clustered      in a <span  class="cmti-10">master/slave </span>fashion, providing better performance and fail-safe features.      </li>      <li class="itemize"><span  class="cmti-10">Web Sessions</span>: Provides <span  class="cmti-10">APIs </span>so application servers can use <span  class="cmti-10">Terracotta Server  </span>to share and access      memory information.      </li>      <li class="itemize"><span  class="cmti-10">EhCache</span>: <span  class="cmti-10">Java APIs </span>to provide cache features and easy mechanisms to use <span  class="cmti-10">Terracotta Server </span>to share      information. It is used on <span  class="cmti-10">CAS Server  </span>to make <span  class="cmti-10">tickets  </span>produced on the auhtentication flow to be      available to all cluster nodes.</li>    ]]></body>
<body><![CDATA[</ul> <!--l. 190-->    <p class="noindent" >    <h3 class="sectionHead"><span class="titlemark">5   </span> <a   id="x1-120005"></a>Proposal of an Adapted Sticky-Session Approach to Provide Scalability for Services on the Cloud Using Federated Identities</h3> <!--l. 192-->    <p class="noindent" >The increase of complexity to deploy the resources used in a infrastructure with <span  class="cmti-10">Terracotta </span>can elevate costs to the organization. For <span  class="cmti-10">Shibboleth </span>and <span  class="cmti-10">CAS </span>based solutions, the shared information using <span  class="cmti-10">Terracotta </span>presents concerns at a security level, since the content of this information will be exposed on <span  class="cmti-10">Terracotta Server </span>nodes. This section proposes a new alternative without requiring distributed memory mechanisms. The proposal adapts <span  class="cmti-10">CAS</span> components so the authentication flow become compatible with <span  class="cmti-10">sticky-session </span>mechanism. The section&#x00A0;<a  href="#x1-130005.1">5.1<!--tex4ht:ref: sec:detalhamento_proposta --></a> details how this proposal works, while <a  href="#x1-140005.2">5.2<!--tex4ht:ref: sec:cenario --></a> presents test scenario, built to vaildate and compare this proposal with the <span  class="cmti-10">Terracotta&#8217;s </span>one. <!--l. 196-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">5.1   </span> <a   id="x1-130005.1"></a>The Proposal Details</h4> <!--l. 198-->    <p class="noindent" >The application that manages the <span  class="cmti-10">Cookie </span>life cycle must append the node identifier every time a session is created, allowing the <span  class="cmti-10">LB </span>to work properly. In <span  class="cmti-10">Java </span>based systems this can be configured in most application servers available to the platform. As detailed previously, the <span  class="cmti-10">HTTP Cookies </span>dependency that the <span  class="cmti-10">LB </span>have to forward requests properly at first makes the use of <span  class="cmti-10">sticky-session </span>unfeasible with <span  class="cmti-10">CAS </span>solution. However, this can be addressed through the following adaptations:      <ul class="itemize1">      <li class="itemize"><span  class="cmti-10">CAS Server</span>: The <span  class="cmti-10">ticket&#8217;s </span>value generated on step&#x00A0;<a  href="#x1-90116">6<!--tex4ht:ref: item:etapa_6_fluxo_cas --></a> of Figure&#x00A0;<a  href="#x1-90172">2<!--tex4ht:ref: fig:fluxo_cas --></a> must append the <span  class="cmti-10">jvmRoute </span>identifier      from <span  class="cmti-10">JSESSIONID</span>. <span  class="cmti-10">CAS Server </span>was modified to support this configuration (Figure&#x00A0;<a  href="#x1-130016">6<!--tex4ht:ref: fig:fluxo_cas_sticky_adaptado --></a>).      </li>      <li class="itemize"><span  class="cmti-10">LB </span>configuration: The <span  class="cmti-10">sticky-session </span>rule based on <span  class="cmti-10">JSESSIONID Cookie </span>must be replicated to also      consider the ticket&#8217;s <span  class="cmti-10">jvmRoute </span>value, which was send by the service (as described on step&#x00A0;<a  href="#x1-90116">6<!--tex4ht:ref: item:etapa_6_fluxo_cas --></a> of Figure&#x00A0;<a  href="#x1-90172">2<!--tex4ht:ref: fig:fluxo_cas --></a>).      The <span  class="cmti-10">Apache Web Server </span>was modified to support this configuration.</li>    </ul> <!--l. 206-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-130016"></a>  <!--l. 208-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f6.png" alt="PIC"   >     <br>     ]]></body>
<body><![CDATA[<div class="caption"  ><span class="id">Figure&#x00A0;6: </span><span   class="content"><span  class="cmti-10">CAS Server </span>generates the <span  class="cmti-10">ticket </span>with the node identifier</span></div><!--tex4ht:label?: x1-130016 -->  <!--l. 211-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 213-->    <p class="indent" >   The <span  class="cmti-10">Single-Sign-Out </span>can also be used with <span  class="cmti-10">sticky-session</span>, addressing the issue described on Section&#x00A0;<a  href="#x1-100004.2">4.2<!--tex4ht:ref: sec:suporte_escalabilidade_horizontal --></a>. The following adaptations must be done:      <ul class="itemize1">      <li class="itemize">The addition of an identifier on the <span  class="cmti-10">URL&#8217;s </span>parameter named <span  class="cmti-10">service </span>(Figure&#x00A0;<a  href="#x1-130016">6<!--tex4ht:ref: fig:fluxo_cas_sticky_adaptado --></a>): The <span  class="cmti-10">service </span>parameter      informed by the service (step&#x00A0;<a  href="#x1-90116">6<!--tex4ht:ref: item:etapa_6_fluxo_cas --></a> of Figure&#x00A0;<a  href="#x1-90172">2<!--tex4ht:ref: fig:fluxo_cas --></a> contains the <span  class="cmti-10">URL </span>that <span  class="cmti-10">CAS Server  </span>will use to send      <span  class="cmti-10">logout </span>requests. This <span  class="cmti-10">URL </span>must be changed to contain the <span  class="cmti-10">jvmRoute</span>, allowing the <span  class="cmti-10">LB </span>to forward the      <span  class="cmti-10">logout  </span>request correctly. The the client component provided by <span  class="cmti-10">CAS  </span>was modified to support this      configuration.      </li>      <li class="itemize">Service provider&#8217;s <span  class="cmti-10">LB </span>configuration (Figure&#x00A0;<a  href="#x1-130027">7<!--tex4ht:ref: fig:fluxo_cas_sticky_adaptado_logout --></a>):</li>    </ul> <!--l. 220-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-130027"></a>  <!--l. 222-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f7.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;7: </span><span   class="content">Service cluster&#8217;s <span  class="cmti-10">LB </span>configuration to consider the new parameter</span></div><!--tex4ht:label?: x1-130027 -->  <!--l. 225-->    <p class="indent" >   </div><hr class="endfigure">    <h4 class="subsectionHead"><span class="titlemark">5.2   </span> <a   id="x1-140005.2"></a>Test Scenario</h4> <!--l. 228-->    ]]></body>
<body><![CDATA[<p class="noindent" >In order to validate the adapted <span  class="cmti-10">sticky-session </span>proposal and compare with the <span  class="cmti-10">Terracotta </span>alternative, a scenario was built using virtual machines. Two groups or virtual machines are deployed in different networks, simulating resources in the cloud from different providers. The first group (<span  class="cmti-10">VM1 </span>and <span  class="cmti-10">VM2</span>) contains the service&#8217;s cluster, while the second (<span  class="cmti-10">VM3 </span>and <span  class="cmti-10">VM4</span>) the <span  class="cmti-10">CAS Servers&#8217; </span>cluster, as shown on Figure&#x00A0;<a  href="#x1-140018">8<!--tex4ht:ref: fig:cenario --></a>. <!--l. 230-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-140018"></a>  <!--l. 232-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f8.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;8:  </span><span   class="content">Scenario  to  simulate  the  alternatives  available  to  provide  horizontal  scalability  for  <span  class="cmti-10">CAS</span> infrastructures</span></div><!--tex4ht:label?: x1-140018 -->  <!--l. 235-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 237-->    <p class="indent" >   The virtual machines were distributed in a single host server, with the following specifications: <span  class="cmti-10">Phenom II X6</span> <span  class="cmti-10">1055T (2.8Ghz) </span>processor, <span  class="cmti-10">8192MB DDR3 </span>memory and a <span  class="cmti-10">SAMSUNG HD154UI 1.5Tb </span>hard disk. <span  class="cmti-10">VM2 </span>and <span  class="cmti-10">VM3</span> were configured to work 2048MB memory, while <span  class="cmti-10">VM1 </span>and <span  class="cmti-10">VM4 </span>were configured with 1024MB. <span  class="cmti-10">CPU </span>and <span  class="cmti-10">hard disk</span> <span  class="cmti-10">storage </span>were equally distributed between all <span  class="cmti-10">VMs </span>(<span  class="cmti-10">2x Core 2.8Ghz for CPU </span>and <span  class="cmti-10">10Gb for hard disk storage</span>). Another computer with similar specifications of the host server was used to simulate users&#8217; requests, using <span  class="cmti-10">Apache</span> <span  class="cmti-10">JMeter</span>. The equipments were connected by a <span  class="cmti-10">LAN </span>network of <span  class="cmti-10">1 Gbit/s </span>bandwith. So the adapted <span  class="cmti-10">sticky-session</span> can be validated in this scenario, when the modifications detailed on section&#x00A0;<a  href="#x1-120005">5<!--tex4ht:ref: sec:proposta_sticky_adaptado --></a> are applied, the <span  class="cmti-10">Terracotta</span> platform is disabled for both virtual machine groups. In both alternatives the expected behavior of the authentication process must be equivalent. For each configuration model (<span  class="cmti-10">sticky-session </span>and <span  class="cmti-10">Terracotta</span>), a stress test procedure was executed using <span  class="cmti-10">Apache JMeter</span>. This test procedure simulates a group of simultaneous users, each triggering an authentication process (detailed in section&#x00A0;<a  href="#x1-90004.1">4.1<!--tex4ht:ref: section:fluxo_cas --></a>), followed by a <span  class="cmti-10">logout</span> if the previous authentication completed successfully. For each test iteration, metrics such as server computational load and <span  class="cmti-10">throughput </span>are collected, providing data for a benchmark analysis of the two solutions.    <h3 class="sectionHead"><span class="titlemark">6   </span> <a   id="x1-150006"></a>Test Results Comparative Analysis</h3> <!--l. 244-->    <p class="noindent" >This section presents a comparative analysis of the two proposals that addresses horizontal scalability issues for a federated identity management architecture for the cloud. Considering the designed scenario, the test procedure was executed in three different configurations: The first with 50, the second with 100 and the last with 150 simultaneous users. The request number for each configuration results in, respectively, 20000, 40000 and 60000 requests. The first aspect compared was the <span  class="cmti-10">throughput </span>(requests per second) obtained for each alternative. Both approaches had adequate performance, however in the adapted <span  class="cmti-10">sticky-session </span>approach, the <span  class="cmti-10">throughput </span>was superior in Figure&#x00A0;<a  href="#x1-150019">9<!--tex4ht:ref: fig:grafico_throughput_medio --></a>. <!--l. 248-->    <p class="indent" >   <hr class="figure">    ]]></body>
<body><![CDATA[<div class="figure"  >  <a   id="x1-150019"></a>  <!--l. 250-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v18n3/3a03f9.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;9: </span><span   class="content">Comparative graphic showing average <span  class="cmti-10">throughput</span></span></div><!--tex4ht:label?: x1-150019 -->  <!--l. 253-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 255-->    <p class="indent" >   The <span  class="cmti-10">Terracotta </span>approach presented failures in a few test iterations, with an average of <span  class="cmti-10">0,33% </span>failures per test iteration. All occurrences are associated with the <span  class="cmti-10">ticket </span>validation process between the service and <span  class="cmti-10">CAS Server</span>. Further analysis shown that in specific moments the <span  class="cmti-10">VM1 </span>memory reached 100% usage, making <span  class="cmti-10">Terracotta Server</span> use the hard disk to store information, which caused higher latency of data transfer between <span  class="cmti-10">VM1 </span>and <span  class="cmti-10">VM2</span>, to a point that the authentication process couldn&#8217;t be completed. The second aspect analyzed computational resource usage for each approach. While the tests procedure were executed, at each second the <span  class="cmti-10">CPU </span>and memory usage were collected. <!--l. 258-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-1500410"></a>  <a   id="x1-15002r1"></a>     <div class="subfigure"><table><tr><td style="text-align:left"><img  src="/img/revistas/cleiej/v18n3/3a03f10.png" alt="PIC"   >     <div class="subfigcaption"><span  class="cmr-8">(a)</span> <span  class="cmti-8">VM2</span> <span  class="cmr-8">CPU</span> <span  class="cmr-8">usage</span></div></td></tr></table></div>    <a   id="x1-15003r2"></a>    ]]></body>
<body><![CDATA[<div class="subfigure"><table><tr><td style="text-align:left"><img  src="/img/revistas/cleiej/v18n3/3a03f11.png" alt="PIC"   >     <div class="subfigcaption"><span  class="cmr-8">(b)</span> <span  class="cmti-8">VM3</span> <span  class="cmr-8">CPU</span> <span  class="cmr-8">usage</span></div></td></tr></table></div>      <div class="caption"  ><span class="id">Figure&#x00A0;10: </span><span   class="content">Comparative graphic showing <span  class="cmti-10">VM2 </span>and <span  class="cmti-10">VM3&#8217;s </span>CPU usage</span></div><!--tex4ht:label?: x1-1500410 -->  <!--l. 265-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 267-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-1500711"></a>  <a   id="x1-15005r1"></a>     <div class="subfigure"><table><tr><td style="text-align:left"><img  src="/img/revistas/cleiej/v18n3/3a03f12.png" alt="PIC"   >     <div class="subfigcaption"><span  class="cmr-8">(a)</span> <span  class="cmti-8">VM2</span> <span  class="cmr-8">memory</span> <span  class="cmr-8">usage</span></div></td></tr></table></div>    <a   id="x1-15006r2"></a>    <div class="subfigure"><table><tr><td style="text-align:left"><img  src="/img/revistas/cleiej/v18n3/3a03f13.png" alt="PIC"   >     <div class="subfigcaption"><span  class="cmr-8">(b)</span> <span  class="cmti-8">VM3</span> <span  class="cmr-8">memory</span> <span  class="cmr-8">usage</span></div></td></tr></table></div>      ]]></body>
<body><![CDATA[<div class="caption"  ><span class="id">Figure&#x00A0;11: </span><span   class="content">Comparative graphic showing <span  class="cmti-10">VM2 </span>and <span  class="cmti-10">VM3&#8217;s </span>memory usage</span></div><!--tex4ht:label?: x1-1500711 -->  <!--l. 274-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 276-->    <p class="indent" >   Comparing the average usage of computational resources (Figures <a  href="#x1-1500410">10<!--tex4ht:ref: fig:graficoCpuUsage --></a> through <a  href="#x1-1500711">11<!--tex4ht:ref: fig:graficoMemUsage --></a>), it is clear that the <span  class="cmti-10">Terracotta</span> demands more resources. Moreover, this infrastructure required two additional virtual machines (<span  class="cmti-10">VM1 </span>and <span  class="cmti-10">VM4</span>), to host dedicated <span  class="cmti-10">Terracotta Servers</span>.    <h3 class="sectionHead"><span class="titlemark">7   </span> <a   id="x1-160007"></a>Conclusions and Future Work</h3> <!--l. 279-->    <p class="noindent" >This work aimed to mitigate the technical difficulties to deploy horizontal scalable services in a federated identity management platform for the cloud. We proposed the use of an adaptation of the <span  class="cmti-10">sticky-session </span>mechanism, providing an alternative to a distributed memory approach <span class="cite">&#x00A0;[<a  href="#Xcas2012clustering">9</a><a id="br9">]</a></span>, reducing costs of service deployment, depending of the business nature. However, this proposal have limitations inherited from the <span  class="cmti-10">sticky-session </span>mechanism, such as dynamic scalability and session management, as described by <span class="cite">&#x00A0;[<a  href="#Xstecca2011sticky">10</a><a id="br10">]</a></span>. Considering that services in the cloud requires horizontal scalability <span class="cite">&#x00A0;[<a  href="#Xarmbrust2010view">8</a><a id="br8">]</a></span>, this work contributed towards this goal, aggregating this support on the platform&#8217;s components proposed by <span class="cite">&#x00A0;[<a  href="#Xleandro2012multi">7</a><a id="br7">]</a></span>. As first future work, the infrastructure proposed by <span class="cite">&#x00A0;[<a  href="#Xleandro2012multi">7</a><a id="br7">]</a></span>, coupled with the <span  class="cmti-10">sticky-session </span>mechanism proposed by this paper, could be deployed in a real cloud computing environment, so statistic data can be collected and analyzed, as well as compared with the <span  class="cmti-10">Terracotta </span>approach. Another future work can address the dynamic scalability limitations and session management, by applying monitoring and migration mechanisms <span class="cite">&#x00A0;[<a  href="#Xstecca2011sticky">10</a><a id="br10">]</a></span> in this infrastructure. <!--l. 286-->    <p class="noindent" >    <h3 class="likesectionHead"><a   id="x1-170007"></a>Acknowledgment</h3> <!--l. 287-->    <p class="noindent" >This document was extracted from the master&#8217;s thesis of the first author, titled &#8221;<span  class="cmbx-10">Escalabilidade para Sistemas</span> <span  class="cmbx-10">de Indentidade Federada para Ambientes baseados em Computa</span><span  class="cmbx-10">ç</span><span  class="cmbx-10">ão em Nuvem</span>&#8221;, as a student of the Graduate Computer Science Program at Federal University of Santa Catarina on February 2014.    <h3 class="likesectionHead"><a   id="x1-180007"></a>References</h3> <!--l. 2-->    <p class="noindent" >         <div class="thebibliography">         <p class="bibitem" ><span class="biblabel">   [<a href="#br1">1</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xmell2011nist"></a>P.&#x00A0;Mell and T.&#x00A0;Grance, &#8220;The nist definition of cloud computing,&#8221; <span  class="cmti-10">NIST special publication</span>, vol.     800, p. 145, 2011.     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br2">2</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xzhou2010services"></a>M.&#x00A0;Zhou, R.&#x00A0;Zhang, D.&#x00A0;Zeng, and W.&#x00A0;Qian, &#8220;Services in the cloud computing era: A survey,&#8221; in     <span  class="cmti-10">Universal Communication Symposium (IUCS), 2010 4th International</span>.   IEEE, 2010, pp. 40&#8211;46.     </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">   [<a href="#br3">3</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xolden2011architecting"></a>E.&#x00A0;Olden, &#8220;Architecting a cloud-scale identity fabric,&#8221; <span  class="cmti-10">Computer</span>, vol.&#x00A0;44, no.&#x00A0;3, pp. 52&#8211;59, 2011.     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br4">4</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xchadwick2009federated"></a>D.&#x00A0;Chadwick, &#8220;Federated identity management,&#8221; <span  class="cmti-10">Foundations of Security Analysis and Design V</span>,     pp. 96&#8211;120, 2009.     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br5">5</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xcantor2005shibboleth"></a>S.&#x00A0;Cantor, S.&#x00A0;Carmod, M.&#x00A0;Erdos, K.&#x00A0;Hazelton, W.&#x00A0;Hoehn, R.&#x00A0;Morgan, T.&#x00A0;Scavo, and D.&#x00A0;Wasley,     &#8220;Shibboleth architecture,&#8221; <span  class="cmti-10">Protocols and Profiles</span>, vol.&#x00A0;10, 2005.     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br6">6</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xjasigcas2012"></a>J.&#x00A0;Community.  (2012)  Jasig  Central  Authentication  Service  (CAS).  <a href="http://www.jasig.org/cas">http://www.jasig.org/cas</a>.     Acessado em: December 2, 2015.      </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br7">7</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xleandro2012multi"></a>M.&#x00A0;Leandro,   T.&#x00A0;Nascimento,   D.&#x00A0;dos   Santos,   C.&#x00A0;t.   r.&#x00A0;b.   Westphall,   and   C.&#x00A0;Westphall,     &#8220;Multi-tenancy  authorization  system  with  federated  identity  for  cloud-based  environments  using     shibboleth,&#8221; in <span  class="cmti-10">ICN 2012, The Eleventh International Conference on Networks</span>, 2012, pp. 88&#8211;93.     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br8">8</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xarmbrust2010view"></a>M.&#x00A0;Armbrust,  A.&#x00A0;Fox,  R.&#x00A0;Griffith,  A.&#x00A0;Joseph,  R.&#x00A0;Katz,  A.&#x00A0;Konwinski,  G.&#x00A0;Lee,  D.&#x00A0;Patterson,     A.&#x00A0;Rabkin, I.&#x00A0;Stoica <span  class="cmti-10">et</span><span  class="cmti-10">&#x00A0;al.</span>, &#8220;A view of cloud computing,&#8221; <span  class="cmti-10">Communications of the ACM</span>, vol.&#x00A0;53, no.&#x00A0;4,     pp. 50&#8211;58, 2010.     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br9">9</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xcas2012clustering"></a>S.&#x00A0;Battaglia                             and                             B.&#x00A0;Savage.                             (2012)     Jasig CAS Documentation: Clustering CAS. <a href="https://wiki.jasig.org/display/CASUM/Clustering+CAS">https://wiki.jasig.org/display/CASUM/Clustering+CAS</a>.     Acessado em: December 2, 2015.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br10">10</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xstecca2011sticky"></a>M.&#x00A0;Stecca, L.&#x00A0;Bazzucco, and M.&#x00A0;Maresca, &#8220;Sticky session support in auto scaling iaas systems,&#8221; in     <span  class="cmti-10">Services (SERVICES), 2011 IEEE World Congress on</span>.   IEEE, 2011, pp. 232&#8211;239.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br11">11</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsantos2014privacy"></a>D.&#x00A0;R.&#x00A0;D. Santos, T.&#x00A0;J. Nascimento, C.&#x00A0;M. Westphall, M.&#x00A0;A.&#x00A0;P. Leandro, and C.&#x00A0;B. Westphall,     &#8220;Privacy&#8211;preserving identity federations in the cloud: a proof of concept,&#8221; <span  class="cmti-10">International Journal of</span>     <span  class="cmti-10">Security and Networks</span>, vol.&#x00A0;9, no.&#x00A0;1, pp. 1&#8211;11, 2014.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br12">12</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsantos2013risk"></a>D.&#x00A0;R.&#x00A0;d. Santos, C.&#x00A0;M. Westphall, and C.&#x00A0;B. Westphall, &#8220;Risk-based dynamic access control for     a highly scalable cloud federation,&#8221; in <span  class="cmti-10">SECURWARE 2013, The Seventh International Conference on</span>     <span  class="cmti-10">Emerging Security Information, Systems and Technologies</span>, 2013, pp. 8&#8211;13.     </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">  [<a href="#br13">13</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xcalero2010toward"></a>J.&#x00A0;M.&#x00A0;A. Calero, N.&#x00A0;Edwards, J.&#x00A0;Kirschnick, L.&#x00A0;Wilcock, and M.&#x00A0;Wray, &#8220;Toward a multi-tenancy     authorization system for cloud services,&#8221; <span  class="cmti-10">Security &amp; Privacy, IEEE</span>, vol.&#x00A0;8, no.&#x00A0;6, pp. 48&#8211;55, 2010.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br14">14</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xrichardson2008restful"></a>L.&#x00A0;Richardson and S.&#x00A0;Ruby, <span  class="cmti-10">RESTful web services</span>.   O&#8217;Reilly Media, 2008.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br15">15</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xnanda2011high"></a>M.&#x00A0;Nanda, A.&#x00A0;Khanapurkar, and P.&#x00A0;Sahoo, &#8220;High availability and scalable application clustering     solution for a large-scale oltp application,&#8221; in <span  class="cmti-10">India Conference (INDICON), 2011 Annual IEEE</span>.  IEEE,     2011, pp. 1&#8211;5.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br16">16</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xhuang2011design"></a>F.&#x00A0;Huang, C.-x. Wang, and J.&#x00A0;Long, &#8220;Design and implementation of single sign on system with     cluster cas for public service platform of science and technology evaluation,&#8221; in <span  class="cmti-10">Trust, Security and</span>     <span  class="cmti-10">Privacy in Computing and Communications (TrustCom), 2011 IEEE 10th International Conference on</span>.     IEEE, 2011, pp. 732&#8211;737.      </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br17">17</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xliu2011distributed"></a>S.&#x00A0;Liu and Q.&#x00A0;Wen, &#8220;Distributed cluster authentication model based on cas,&#8221; in <span  class="cmti-10">Broadband Network</span>     <span  class="cmti-10">and Multimedia Technology (IC-BNMT), 2011 4th IEEE International Conference on</span>.    IEEE, 2011,     pp. 46&#8211;50.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br18">18</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xbattaglia2012jsinglesignout"></a>S.&#x00A0;Battaglia        and        B.&#x00A0;Savage,        &#8220;Jasig        cas        documentation        :        Single     sign out,&#8221; 2012, <a href="https://wiki.jasig.org/display/CASUM/Single+Sign+Out">https://wiki.jasig.org/display/CASUM/Single+Sign+Out</a>. Acessado em: December 2,     2015.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br19">19</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xrandles2010comparative"></a>M.&#x00A0;Randles, D.&#x00A0;Lamb, and A.&#x00A0;Taleb-Bendiab, &#8220;A comparative study into distributed load balancing     algorithms for cloud computing,&#8221; in <span  class="cmti-10">Advanced Information Networking and Applications Workshops</span>     <span  class="cmti-10">(WAINA), 2010 IEEE 24th International Conference on</span>.   IEEE, 2010, pp. 551&#8211;556.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br20">20</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xterracotta2008definitive"></a>I.&#x00A0;Terracotta, <span  class="cmti-10">The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO</span>     <span  class="cmti-10">Scalability: Cluster the JVM for Spring, Hibernate and POJO Scalability</span>.   Apress, 2008.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br21">21</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xcantor2012productionalization"></a>C.&#x00A0;La&#x00A0;Joie and S.&#x00A0;Cantor. (2012) Shibboleth Documentation: IdpCluster and NativeSPClustering.     <a href="https://wiki.shibboleth.net/confluence/display/SHIB2/Productionalization">https://wiki.shibboleth.net/confluence/display/SHIB2/Productionalization</a>. Acessado em: December 2,     2015. </p>     </div>           ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mell]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Grance]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA['The nist definition of cloud computing]]></article-title>
<source><![CDATA[NIST special publication]]></source>
<year>2011</year>
<volume>800</volume>
<page-range>145</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Zhou]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Zeng]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Qian]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Services in the cloud computing era: A survey]]></article-title>
<source><![CDATA[Universal Communication Symposium (IUCS): 2010 4th International]]></source>
<year>2010</year>
<page-range>40-46</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Olden]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Architecting a cloud-scale identity fabric]]></article-title>
<source><![CDATA[Computer]]></source>
<year>2011</year>
<volume>44</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>52-59</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chadwick]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Federated identity management]]></article-title>
<source><![CDATA[Foundations of Security Analysis and Design]]></source>
<year>2009</year>
<volume>V</volume>
<page-range>96-120</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cantor]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Carmod]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Erdos]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Hazelton]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Hoehn]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[Morgan]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Scavo]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Wasley]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Shibboleth architecture]]></article-title>
<source><![CDATA[Protocols and Profiles]]></source>
<year>2005</year>
<volume>10</volume>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Community]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Jasig Central Authentication Service (CAS)]]></source>
<year>2012</year>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Leandro]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Nascimento]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[dos Santos]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Westphall]]></surname>
<given-names><![CDATA[C. t. r. b.]]></given-names>
</name>
<name>
<surname><![CDATA[Westphall]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Multi-tenancy authorization system with federated identity for cloud-based environments using shibboleth]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ The Eleventh International Conference on Networks]]></conf-name>
<conf-date>2012</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Armbrust]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Fox]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Griffith]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Joseph]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Katz]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Konwinski]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Lee]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Patterson]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Rabkin]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Stoica]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A view of cloud computing]]></article-title>
<source><![CDATA[Communications of the ACM]]></source>
<year>2010</year>
<volume>53</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>50-58</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Battaglia]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Savage]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[Jasig CAS Documentation: Clustering CAS]]></source>
<year>2012</year>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Stecca]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Bazzucco]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Maresca]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Sticky session support in auto scaling iaas systems]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Services (SERVICES), 2011 IEEE World Congress on.]]></conf-name>
<conf-date>2011</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Santos]]></surname>
<given-names><![CDATA[D. R. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Nascimento]]></surname>
<given-names><![CDATA[T. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Westphall]]></surname>
<given-names><![CDATA[C. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Leandro]]></surname>
<given-names><![CDATA[M. A. P.]]></given-names>
</name>
<name>
<surname><![CDATA[Westphall]]></surname>
<given-names><![CDATA[C. B.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Privacy-preserving identity federations in the cloud: a proof of concept]]></article-title>
<source><![CDATA[International Journal of Security and Networks]]></source>
<year>2014</year>
<volume>9</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>1-11</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Santos]]></surname>
<given-names><![CDATA[D. R. d.]]></given-names>
</name>
<name>
<surname><![CDATA[Westphall]]></surname>
<given-names><![CDATA[C. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Westphall]]></surname>
<given-names><![CDATA[C. B.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Risk-based dynamic access control for a highly scalable cloud federation]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ The Seventh International Conference on Emerging Security Information]]></conf-name>
<conf-date>2013</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Calero]]></surname>
<given-names><![CDATA[J. M. A.]]></given-names>
</name>
<name>
<surname><![CDATA[Edwards]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Kirschnick]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Wilcock]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Wray]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Toward a multi-tenancy authorization system for cloud services]]></article-title>
<source><![CDATA[Security & Privacy]]></source>
<year>2010</year>
<volume>8</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>48-55</page-range></nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Richardson]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Ruby]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[RESTful web services]]></source>
<year>2008</year>
<publisher-name><![CDATA[O’Reilly Media]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nanda]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Khanapurkar]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Sahoo]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[High availability and scalable application clustering solution for a large-scale oltp application]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ India Conference (INDICON)]]></conf-name>
<conf-date>2011</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Huang]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[C.-x.]]></given-names>
</name>
<name>
<surname><![CDATA[Long]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Design and implementation of single sign on system with cluster cas for public service platform of science and technology evaluation]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Trust, Security and Privacy in Computing and Communications (TrustCom), 2011 IEEE 10th International Conference on]]></conf-name>
<conf-date>2011</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Liu]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Wen]]></surname>
<given-names><![CDATA[Q]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Distributed cluster authentication model based on cas]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Broadband Network and Multimedia Technology (IC-BNMT)]]></conf-name>
<conf-date>2011</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Battaglia]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Savage]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[Jasig cas documentation: Single sign out]]></source>
<year>2012</year>
<month>De</month>
<day>ce</day>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Randles]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Lamb]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Taleb-Bendiab]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A comparative study into distributed load balancing algorithms for cloud computing]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[24 Advanced Information Networking and Applications Workshops (WAINA)]]></conf-name>
<conf-date>2010</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Terracotta]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<source><![CDATA[The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO Scalability: Cluster the JVM for Spring, Hibernate and POJO Scalability]]></source>
<year>2008</year>
</nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Joie]]></surname>
<given-names><![CDATA[C. La]]></given-names>
</name>
<name>
<surname><![CDATA[Cantor]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Shibboleth Documentation: IdpCluster and NativeSPClustering]]></source>
<year></year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
