没有合适的资源?快使用搜索试试~ 我知道了~
基于模型的可扩展性和安全性权衡评估的多业务平台的分析
可在www.sciencedirect.com在线获取理论计算机科学电子笔记310(2015)113-133www.elsevier.com/locate/entcs基于模型的可扩展性和安全性权衡评估--以多业务平台为Leonardo Montecchi1,Nicola Nostro1,AndreaCeccarelli1,Giuseppe Vella2,Antonio Caruso2,AndreaBondavalli11Universit`adegliStudidiFirenze,DipartimentodiMatematicaeInformaticaVialeMorgagni 65,I-50134 Firenze,Italy{leonardo.montecchi,nicola.nostro,andrea.ceccarelli,andrea.bondavalli}@ unifi.it2Engineering Ingegneria InformaticaS.p.A.Viale Reg. Siciliana 7275,巴勒莫,意大利{giuseppe.vella,antonio.caruso}@ eng.it摘要当前ICT基础设施的特点是对可靠性、安全性、性能、可用性和适应性的要求越来越高。一个相关的问题是系统的可扩展性,相对于不断增加的用户和应用程序的数量,因此需要一个仔细的规模的资源。此外,将应用程序和数据暴露于互联网会产生新的安全问题,因此需要仔细分析潜在威胁并确定更强的安全措施。这可能对系统性能和可伸缩性属性产生负面影响。 本文提出了一种基于模型的可扩展性和安全性权衡的评估方法,一个多服务的基于网络的平台,通过评估如何引入安全机制可能导致导致性能的下降。评估的重点是OPENNESS平台,这是一个基于网络的平台,为不同类别的用户提供不同类型的服务。该评估旨在确定系统在不同配置下的瓶颈,并评估安全对策的影响,这些安全对策是通过先前对目标系统进行的全面威胁分析活动确定的。建模活动已经进行了使用随机活动网络(SAN)的形式主义,充分利用其模块化和可重用性的特点。分析模型是通过一组预定义的模板模型的组合来实现的,这有助于构建整个系统模型,并通过以不同的方式组合它们来评估不同的配置关键词:性能评估,可扩展性,Web服务,安全评估,安全交易。1引言设备移动性的增加、无处不在的连接以及每个用户多个设备,产生了向“瘦客户端”方法的转变最近的云计算范例通过额外的抽象层扩展了这种方法,该抽象层将物理资源(即,硬件)从逻辑资源(例如,应用、存储、计算能力)。http://dx.doi.org/10.1016/j.entcs.2014.12.0151571-0661/© 2015作者。出版社:Elsevier B.V.这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/3.0/)。114L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113在软件即服务(SaaS)范例中,软件应用程序托管在中央服务器上,并按需提供给用户。这通常是通过基于Web的界面来实现的,因此客户端不需要任何其他应用程序,而需要Web浏览器。社交网络和在线存储设施是这一范例的突出例子。 由于其在资源、成本和便利性方面的优势,这种模式也经常在组织内部使用,为员工或内部用户提供服务然而,这种方法也带来了一些挑战。其中一个主要问题在于系统的可扩展性,相对于不断增加的用户和应用程序的人口,因此,资源需要仔细地确定尺寸。另一个挑战是由于将应用程序和数据暴露在因特网上而产生的额外安全威胁安全性和性能通常是相互矛盾的[17]:提高系统安全性的机制通常规定对资源使用的约束,或者需要执行额外的计算,以保证在设计时定义的安全策略在运行时实际应用。此外,大部分安全机制依赖于密码算法,这通常是资源密集型的。因此,增加安全机制可能会对系统性能产生负面影响,需要仔细量化和评估。在本文中,我们采用随机建模的方法,以评估多服务的基于Web的平台的可扩展性,以及引入安全机制的影响。评价的重点是OPENNESS平台,这是一个向不同类别的用户提供不同服务的网络平台。评估旨在识别系统在不同配置下的瓶颈,并评估安全对策的影响该模型是使用随机活动网络(SAN)形式主义[16]构建的,它可以被认为是众所周知的随机Petri网(SPN)[5]形式主义的扩展。我们的方法的关键特征在于模型的模块化和可重用性:分析模型被定义为一小组“模板”SAN模型的组成通过以不同的方式组合它们,可以使用相同的模板来评估不同的系统配置。本文的其余部分组织如下。第2节介绍了OPENNESS框架,第3节讨论了相关工作。第4节描述了随机模型,第5描述了评价和结果。最后,在第6中得出结论。2开放平台OPENNESS(开放式网络企业社交软件套件)平台是研究项目VINCENTE [18]中构想的框架,旨在定义、实现和试验可持续创业的技术平台。它优化了资源,加强了知识共享L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113115Fig. 1. OPENNESS平台的逻辑架构。并支持社会讨论,同时支持现代技术标准。此外,这样的平台保证了异构框架的多个服务之间的数据安全交换因此,该平台的设计突出了对整个系统进行风险评估的特点,其中实现安全系统的必要性至关重要。OPENNESS平台的逻辑架构采用了经典的三层模型,每一层都是相互独立的。三层架构公开了第一层或Web层,其中Web服务器管理来自桌面、Web或移动客户端的请求,并将内容交付给应用层,应用层又与数据层交互。这一层负责向服务提供数据,以便聚合它们,最终满足客户的请求。Web层构建在Apache服务器之上,也由Web Cache组成,作为反向代理操作,以减少带宽并提高响应时间。Apache Web服务器与应用层组件(例如,Tomcat和PHP应用程序服务器),使用AJP(Apache JServ协议),这是针对J2EE和PHP容器的优化协议。层之间的通信基于SSL(安全套接字层)协议。对平台的访问由身份提供者系统管理,并且特定模块负责管理用户帐户,这些帐户集中在LDAP(轻量级目录访问协议)服务器。平台的其他组件与LDAP存储库集成,用户帐户完全同步;同时,116L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113为了使OPENNESS成为用户注册和管理的唯一入口点,帐户集中化和OPENNESS规范允许集成两种最有效的SSO单点登录解决方案。其中之一是CAS(中央身份验证服务),这是一个实现SSO机制的开源框架,可在单个服务器上提供集中式身份验证系统。当请求被发送到应用程序时,它被重定向到CAS,CAS处理身份验证。由OPENNESS实现的另一个身份提供者Shibboleth在SAML协议(安全断言标记语言)上设置了他的SSO(单点登录)逻辑,允许用户仅使用一个身份登录到各种系统。 CAS可以与Shibboleth联合SSO平台集成,作为Shibboleth的身份验证提供者作为一个多渠道的平台,OPENNESS将整合移动设备,如智能手机和平板电脑,无论是与iOS和Android。为了允许联合身份验证,SSO机制已经通过使用REST协议(表述性状态转移)的CAS服务身份验证来实现,从而保证身份验证的持久性,即使在使用该平台的不同类型的应用程序之间。OPENNESS架构如图1所示。 图中左侧的模块显示了Web层,其中包括反向代理。图的中心部分突出了平台的核心,由应用层表示基于所提供的功能,可以识别不同的子模块;在本文中,我们将考虑以下主要模块:• SSO容器(或身份验证)。包括SSO模块,即,CAS和Shibboleth,并负责管理认证程序。• J2EE容器。表示Web容器,其中安装了依赖于Java 2 Enterprise Edition的平台的所有服务。在此模块中,可以识别两个主要应用程序:Liferay Portal和D2RWS1。Liferay是一个基于面向服务架构(SOA)的Java门户框架。D2R WS是一个框架,可用于将不同类型的信息映射到本体模型,并使用SPARQL查询检索它们。这样的服务既可以用来公开某个数据库上的信息,也可以用来对外部数据提供者执行SPARQL查询• PHP容器。这个块包括所有依赖PHP执行的服务。特别是,我们考虑Moodle和Mantis应用程序2。Moodle是一个模块化的电子学习平台。它允许教师组织讲座,并为学生提供论坛,博客和聊天等社交功能。Mantis是一个用PHP编写的开源bug跟踪系统• SO集装箱。这个容器提供了对最流行的社交网络平台的访问。这个模块是通过Virtuoso Universal Server3实现的,1Liferay:http://www.liferay.com/。 D2R WS:http://www.d2qr.org/。 访问日期:2014-03-10。2Moodle:http://www.moodle.org/。 Mantis:http://www.mantisbt.org/. 访问日期:2014-03-10。L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113117中间件,它将传统关系数据库的特性与其他数据模型相结合,提供对它们的统一访问。在OPENNESS中,Virtuoso用于通过Oauth2协议管理对社交媒体的访问图1的右边部分还描述了数据层。在这样的层内,我们识别用于存储应用数据的数据库集合(例如,Moodle DB、Liferay DB)或用户数据(OpenLDAP),以及社交媒体数据提供商。3安全性、可扩展性、性能:相关工作虽然文献中存在安全性[2]和性能[8]属性的精确定义,但据我们所知,还没有建立“可扩展性”的唯一定义然而,在某些变体中,可扩展性通常被用作将系统的大小与其能够达到的性能联系起来的度量[11,7]。因此,在我们的评估中,我们将重点关注性能指标,以及它们对系统大小的在文献中,安全机制对性能指标的影响,从而对系统的可扩展性,是一个众所周知的问题,不同的应用领域。作为一个例子,这是一个重要的问题,在无线传感器网络(WSNs)领域,资源的稀缺性和大量的节点提高了需要减少安全机制和协议的计算成本在[22]通过实验方法评估了三种不同的无线传感器网络安全通信机制所引入的开销在最坏的情况下,在作者考虑的消息类型中,测量到消息大小的开销高达50%,随后传输时间增加了10%以上在完全不同的应用领域也获得了类似的结果,例如电子商务[6,1]。特别是,[1]的作者对TLS/SSL协议对企业对企业(B2B)设置中应用服务器性能的影响进行了实验评估。由本工作的作者进行的评估比较了基于SSL协议的安全连接和不安全连接的情况下获得的关键性能指标,同时使用系统的客户端的数量不同。同样在这种情况下,作者获得的结果表明,使用SSL通道会导致性能下降5%至10%。值得注意的是,根据作者自己的说法,这样的结果是乐观的,预计会产生更大的影响对于依赖XML进行通信的Web服务,安全性对性能的影响甚至更大。尽管使用XML进行通信保证了互操作性和可扩展性等属性,但使用XML实现安全机制对性能有很大影响,主要是因为它过于冗长。文献中的一些作品强调了由于采用WS-Security(一种基于XML的标准,为Web服务提供安全机制)而带来的高性能成本。例如,[9]中的结果显示,3Virtuoso:http://virtuoso.openlinksw.com/。访问日期:2014-03-10。118L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113与没有任何安全机制的Web服务相比,引入WS-Security后的安全性提高了690%更糟糕的是,[17]中的结果突出显示,对于小尺寸的响应消息,传输时间增加了2100%。除了实验方法外,基于模型的评估也被用作将性能和安全方面联系起来的方法。通过 基于模型的方法使分析人员能够i)从系统设计的早期阶段获得对系统的有用见解,以及ii)进行[21]的作者使用马尔可夫过程代数PEPA分析了密钥分发中心中存在的交易。在[20]中对性能和安全性联合评价中的其他现有方法进行了审查。在同一篇论文中,作者描述了一个一般的过程中使用的例子选择一个合适的密钥长度的加密。为了成功地部署像OPEN-NESS这样的多服务基于Web的系统,需要评估其相对于预期工作负载的可伸缩性的方法。此外,还需要评估安全机制对计划架构的明显影响,以便在系统的安全性、性能和可扩展性之间找到适当的平衡。在本文中,我们描述了一个基于模型的方法的性能和可扩展性分析的OPENNESS。4OPENNESS平台的随机模型4.1建模方法本文采用的建模方法基于组合方法,其中整个系统模型是通过将一组子模型组合在一起构建的,每个子模型都针对系统的一个特定方面或组件在执行这种分解时,特别注意不同子模型之间接口的识别。在子模型实现之前清楚地定义子模型之间的接口可以提高所获得的子模型的可重用性、可维护性和模块化。 把这个概念 到其最高层次,导致一种使人想起面向对象编程的建模范例:每个子模型的实现独立于其他交互子模型,并且它仅依赖于定义的接口。 以这种方式获得的子模型是模块化的,即, 它们可以很容易地被替换或翻新,只要输入和输出接口保持不变,就可以根据需要进行修改。这种方法还简化了与外部工具的集成:实现特定功能的给定子模型可以直接或通过包装器模型用ad-hoc外部工具替换。在[4]中描述了这种集成的示例,其中采用这种方法允许实现移动性模型的SAN子模型被车辆移动性模拟器产生的输出替换。增强子模型模块化的另一个双重方面是它们参数的在像OPENNESS这样的复杂系统中,不同的组件可能具有类似的行为,只是通过特定于组件的特定实例的一些数值参数来区分,这取决于组件在系统中的作用L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113119激活激活u图二. 模板模型和参数化。系统或其运行的环境。这个过程导致了“模板子模型”的定义在整个模型的构建中,这些模板随后被多次实例化,具有不同的参数设置。这种方法使建模者免于为具有类似行为的组件手动创建(和维护)多个模型此外,模板模型中的任何更改都会自动传播到该模板的所有实例。然后根据精确定义的规则组成一系列模板,以获得所需场景的整体模型轻松创建同一模型的不同实例的能力也使得在不同条件和不同场景下评估系统变得更加容易,这只需要添加或删除模型实例或更改其参数。当与模型转换技术相结合时,这种方法可以大大减少创建和组装大型随机模型所需的时间[12]。在本文中,该模型是使用随机活动网络(SAN)[16]定义的,它为这种方法的具体应用提供了有用的功能。4.2假设和假设作为构建分析模型的参考的系统架构是第2节中描述的架构。为了精确地定义系统的某些方面,对用户的行为和系统提供的服务的部署OPENNESS平台由具有不同特征的用户使用,例如,“教师”、“开发人员”、“项目经理”。系统的每个用户可以在平台上执行许多高级动作,例如, 每个用户可用的操作类型以及执行这些操作所遵循的模式取决于用户配置文件。每个动作需要使用平台的一个或多个服务(例如,Moo- dle、Virtuoso等)。我们还假设OPENNESS平台的一般用户的行为可以概述如下:• 用户u在平均时间Tu根据一个指数-速率为λuactivation.= 1/T120L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113延迟服务代理代理代理uS• 在变得活跃之后,用户在返回到非活跃状态之前,以概率的方式执行他可用的那些动作中的多个• 在动作的执行已经完成之后,子动作的开始被延迟用户的生理反应时间(思考时间)。你以为,其中用户处理平台的输出,并决定是否他将执行进一步的动作或返回到非活动状态。这样的延迟是不...服从速率为λu的指数分布想的关于该平台提供的服务的假设如下:• 服务s接收到的请求以指数速率λs=发球。• 以一定的概率ps,可以直接处理服务请求的代理。• 当服务请求由代理服务时,a因子γs,也就是,在这种情况下,平均服务时间为γs的发球局 得s代理 <1.一、将通过分析进行评估的感兴趣的指标主要是性能指标,并在下文中进行了描述Us:服务的利用率。该度量提供关于分配给每个服务的资源的规模的指示 它被评估为在某个时刻有服务请求等待被服务的概率。Ts:服务的平均等待时间。该度量提供了系统用户接收的服务质量的指示。该度量被评估为从发出对s的服务请求的时刻到服务该请求的时刻所OPENNESS平台的可扩展性通过在与系统大小相关的不同参数下对此类指标进行评估而得到强调用户数量和他们请求平台提供服务的频率安全机制对系统性能的影响,从而对系统的可扩展性的影响,可以通过假设服务延迟的增加来评估,基于文献中可用的实验分析(例如,见第3)。4.3系统模型组合建模方法、预定义的假设和待评估的感兴趣的测量,使我们确定了三个模板模型,每个模板模型都针对系统的特定方面或组件。整个OPENNESS模型是通过将这些子模型组合在一起而构建的。为了简洁起见,在下文中,我们提供了三个模板模型中的两个的详细描述,UserBehavior和Service;而第三个,Action,仅简单描述。之后,提供了组合模型的描述和先前定义的感兴趣度量的规范。不= 1/T1/T·TγL. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113121图3.第三章。UserBehavior模板SAN模型,表示通用OPNENNESS用户。4.3.1用户行为模板模型根据所介绍的假设,OPENNESS平台的用户周期性地变为活动的,执行多个动作,然后返回非活动状态。用户对动作的选择被建模为概率选择。用户可用的操作以及被选择的概率取决于用户配置文件。OPENNESS平台的通用用户行为u的SAN模型如图3所示;在本图和下图中,到其他模板模型的接口用黄色虚线框突出显示。用户最初处于等待状态,被建模为处于空闲位置的令牌。SAN活动Auth表示新用户会话的开始,以及对认证模块,即,用户变为活动的事件。这种活动的激发时间以1/T的激活率呈指数分布。当Auth转换触发时,在ReqAuth和WaitAuth位置添加一个令牌。PlaceReqAuth是身份验证服务模型的接口(见4.3.2节),它保存了当前等待处理的请求总数。相反,placeWaitAuth是用户模型的本地,用于跟踪用户正在等待执行身份验证。类似地,placeDoneAuth与身份验证服务的模型共享,并在新请求完成时包含令牌。当在DoneAuth和WaithAuth位置都有令牌时,活动AuthOK被启用并触发,表示身份验证过程完成。在本例中,在SelectAction中添加了一个令牌。然后启用并触发ChoiceAction活动,表示概率-在用户可用的操作之间进行选择。 该活动为每个动作X提供了一个案例,可供建模的用户配置文件使用,每个案例都有不同的被选中概率pX。当案例X被概率性地选择时,令牌被添加在placeReqX和placeWaitX中,其表示由用户执行的对应动作的开始。与已经描述的认证服务类似,每个位置ReqX都与相应的位置共享用户操作的响应模型(第4.3.3),而placeWaitX是本地的用户模型一旦动作完成,相应的Action模型会在DoneX中添加一个令牌,从而启用相应的EndXActivity。当ActivityEndX触发时,会在位置Completed中添加一个令牌,表示用户执行的操作用户的反应时间由ThinkTime活动建模122L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113代理服务·λ图四、服务模板SAN模型,表示OPENNESS平台的通用服务具有指数分布的延迟Tthink。ThinkTimeActivity有两种情况,一种对应于结束用户会话并返回到非活动状态的选择(以概率pEnd选择),另一种对应于执行进一步操作的选择(以概率1−pEnd选择)。4.3.2服务模板模型图4描述了平台的通用服务的SAN模板模型。PlaceQueue是每个Action模型对应的ReqY的接口。因此,在任何时候,这个位置都包含每个未决服务请求的令牌。DoReq活动对用户请求处理的开始进行概率ps服务请求将由代理处理(情况1),而在概率为1-p的情况下,代理服务由托管服务的机器本身提供在第一种情况下,令牌被添加到WaitProxy位置,而在第二种情况下,令牌被添加到NotProxed位置。ActivityServe表示服务请求的完成;其触发时间为指数分布,速率为λs. 当Activity触发时,它将删除从位置NotProxed标记,并在位置Served添加标记。PlaceUsingProxy在服务模板模型的所有实例之间共享,并且当代理被用于满足服务请求时,它包含一个令牌。 当在适当的位置存在令牌WaitProxy并且代理资源是空闲的(即,place UsingProxy为空),则activity [代理代理]被启用并触发,在place [代理]和[使用代理]中添加一个令牌,从而表示代理的使用率。Activity ServeProxed表示代理完成服务请求;因此,其触发延迟按照指数分布分布,s代理的发球局 . 与Serve活动类似,当活动ServeProxed它从位置Proxying和UsingProxy中删除一个令牌,并在位置Served中添加一个令牌,以表示服务请求的完成。4.3.3动作模板模型用户操作的执行会向平台生成许多服务请求一旦动作开始,不同服务的参与被建模为概率选择,与UserBehavior模板模型中的方式类似。不同操作所需的平台服务取决于操作本身的类型例如,操作图5描述了通用操作的SAN模板模型。由于其与UserBehavior模板模型的相似性,以及合理的空间限制,我们不提供对这种模型的描述,其细节可以在[19]中找到速率γL. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113123图五. 操作模板SAN模型,表示一般用户操作。(a)(b)第(1)款见图6。整个OPENNESS平台的组合模型。 在第一阶段,UserBehavior模型由Action模型(a)的实例组成。在第二阶段中,复制UserBehaviore-Action组合模型的不同实例,然后与服务模板模型的实例组合(b)。4.3.4构建整体系统模型为了获得OPENNESS平台的整体模型,第4.3.1、4.3.2和4.3.3节中描述的模板SAN模型使用适当的参数实例化多次,并使用复制/连接组合形式主义[ 15 ]通过识别的接口连接在一起在第一个合成步骤中,创建不同用户配置文件的模型;每个模型都是通过将用户行为模板(第4.3.1节)的一个实例与操作模板(第4.3.3节)的多个实例合成来获得的,基于相应用户配置文件可用的操作。 在执行合成时,对于每个动作X,UserBehavior模型的接口ReqX和EndX与动作模型的位置ActStart和ActEnd连接。然后对每个应该建模的用户配置文件重复此步骤 ActX子模型的数量取决于所涉及的用户配置文件可用的操作数量。对应于用户配置文件的示例模型,其中8个动作如图6A所示。这种组合模型在下文中将被称为UserProfile组合模型然后在第二个合成步骤中创建完整的系统模型,方法是复制用户配置文件的模型,并将它们与服务模板模型的实例合成。将添加由UserProfile组成的SAN模型的多个实例,系统支持的每个用户配置文件对应一个实例UserProfile模型的每个实例都通过UserProfile操作符[15]进行复制,以表示根据相同配置文件在平台上操作的多个相同用户在图6b的模型中,每个子模型124L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113tot请求tot请求而红色矩形通过Join节点“Join1”,所有复制的模型被组合在在组合中,ReqX和EndX对应于同一平台服务的所有接口位置都共享在一起。然后,这些位置与服务模板模型的不同实例的相应队列和服务位置共享,如图的右上部分所示Service模板的实例还共享UsingProxy位置,如第4.3.2节所述。最后,Startup子模型是一个帮助器模型,用于正确初始化不同模板实例的参数类型UserProfile的子模型数和实例数服务模板的数量分别取决于不同用户配置文件的数量和应建模的不同服务的数量4.3.5产品规格第4.2节中定义的兴趣度量是在使用奖励结构的随机模型上指定的。更多详情:U s:服务的利用率。为了评估该度量,奖励函数被定义为针对服务s繁忙的每个状态返回一个单位的奖励的函数标记(队列)>0),否则为零。 平均报酬是指给定的时刻t对应于期望的度量。T s:服务的平均等待时间。此度量的值为Tss请求得双曲余切值.stot 是用户等待服务所花费的总时间s,Ns是已为服务发出的请求数。在奖励方面,量Ts可以通过定义一个奖励函数来获得,模型的每个状态当前正在等待的用户总数服务(即,Mark(Queue)); whileNs通过定义一个函数来获得,每次请求服务S时提供一个单位的奖励(即,每次对应于服务s的案例是在请求服务的触发之后选择的行动模式)。在本文中,这两个指标在稳态下进行评估。应该注意的是,使用相同的模型,也可以评估不同的度量5评价和结果在本节中,第4节中描述的模型在不同配置下进行评估,以考虑某些关键参数对相关指标的影响。第5.1节定义了将用作以下评估参考的情景,并介绍了分配给模型的默认参数。第5.2节分析了OPENNESS平台的可扩展性,第5.3节评估了引入某些安全对策的影响。所有获得的值均通过离散事件模拟计算,置信水平至少为99%,置信半区间为1%。/N不L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113125端ID配置文件名称T激活(秒)Tthink(sec.)用户1项目经理1800102开发商36005034见习老师60036002080105公共公民6001006决策者360020表1参考场景中考虑的用户配置文件及其默认参数。1:管理工作组5:管理电子学习课程2:分配bug和开发活动6:产生创业想法3:管理错误和开发活动7:参与沟通和协作服务4:访问电子学习课程8:决定实现创业想法表2在所考虑的场景中,OPENNESS用户可以使用的操作5.1参考方案和默认参数参考场景考虑了6种不同的用户配置文件,8种操作和6种服务。表1中报告了用户配置文件和相应参数。它们中的每一个都有不同的激活时间(T激活),但相同的思考延迟(T思考),设置为20秒。表中还报告了每个配置文件的用户总数可在平台中执行的操作如表2所示。它们与不同用户配置文件之间的关联详见表3,其中为每个用户配置文件给出了可用的操作和相应的选择概率pX(见4.3.1节)。表3还列出了pu参数的值,即,用户在完成特定操作后变得不活跃的概率。具有项目经理配置文件的用户可以管理工作组(操作1),并将错误和开发活动分配给开发人员(操作2)。后一种行动更为频繁,因为发展活动的变化比工作组的变化更频繁开发人员只能管理bug和开发活动(操作3);此外,他通常会在同一用户会话中执行更长的操作序列。该方面被建模为具有较低的终止会话的概率,即,则Pend参数的值较低。同样,学员只能访问电子学习课程(操作4)。具有教师配置文件的用户可以访问课程,但他也可以管理课程(操作5)。公众公民可以参与创业创意的产生(行动6),并可以使用该平台参与交流和协作服务(行动7)。最后,具有决策者特征的用户使用该平台来决定如何实现公民提出的想法(行动8)。如前所述,每个动作涉及利用OPENNESS平台的一个或多个服务。表4列出了参考情景中考虑的服务。除了身份验证服务之外,126L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113User Profile动作选择概率ID名称P1P2p3 p4 p5 p6 p7P8Pend1项目经理0.20.8––––––0.52开发商––1.0–––––0.23见习–––1.0––––0.24老师–––0.60.4–––0.25公共公民–––––0.80.2–0.46决策者–––––––1.00.5表3参考场景的每个用户配置文件的可用操作,以及相应的选择概率。ID服务名称层T发球(秒)p代理γ代用指标1认证Web0.50.050.52PHP容器应用0.10.40.43J2EE容器应用0.50.30.74SO容器应用1.00.20.75数据库数据0.10.10.96社交媒体数据2.00.50.7表4参考方案中考虑的服务及其默认参数。发出启动一个新会话的命令,架构提供其他五个服务,对应于第2节中描述的架构的主要模块。对于这些服务中的每一个,该表列出了满足用户对这些服务的请求的平均时间(T服务)、服务请求被代理满足的概率(p代理)以及满足服务请求所需时间的相应缩减因子(γ代理)。动作和服务之间的映射如表5所示,其中列出了每个动作中涉及的服务,以及它们被选中的概率。操作1更详细地,动作1-3涉及“Mantis”应用的使用,而动作4-5涉及“Moodle”应用的使用。选择概率与这两种服务(即, PHP容器和数据库)取决于操作的类型。 例如,管理bug和开发活动(操作3)被认为相对于管理工作组(操作1)对数据库有更大的影响。“创业想法的产生”(行动6)涉及收集和处理不同的信息来源,以便用一致的信息正确描述想法。因此,这种操作使用OPENNESS平台的多个服务:J2EE容器,SO容器,数据库以及社交媒体基础设施。J2EE容器用于访问Liferay平台和D2R服务器。后者允许用户通过数据库访问该想法将引用的主要概念; SO容器提供对Virtuoso的访问,这反过来又支持从社交媒体收集信息。L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113127行动服务选择概率ID名称p1 p2 p3 p4 p5 p6Pend1管理工作组*0.7––0.3–0.52分配bug和开发活动*0.6––0.4–0.23管理bug和开发活动*0.4––0.6–0.24参加电子学习课程*0.7––0.3–0.25管理电子学习课程*0.5––0.5–0.56产生一个想法*–0.40.30.10.20.37参与通信和协作服务*–0.30.20.10.40.68决定实现一个想法*–0.60.20.2–0.7*“身份验证”服务(服务1)不是由用户 在特定操作中请求的表5每个操作执行中涉及的服务,以及它们被选中的概率在使用通信和协作服务时也使用相同的服务集(动作7)。然而,在这种情况下,由于这种操作的最后,决定实现一个想法(动作8),需要与产生想法相同的服务,除了社交媒体插件,它不在决策过程中使用应该指出的是,所介绍的方案允许在改变一些关键参数的情况下评估系统。建模和评估方法与系统参数(包括可用的用户配置文件、操作和服务)的实际值无关,可用于评估OPENNESS平台在各种配置和场景下的性能行为。5.2系统可扩展性在评估多服务平台的可伸缩性时,最关键的参数之一是可以访问系统的用户数量。图7a描绘了在改变访问系统的用户总数的情况下由平台提供的不同服务的利用率百分比(y轴上的U)特别是,该系统已在用户总数为参考配置倍数的情况下进行了评估。图中较低的x轴标记有所采用的乘数(例如,2n,3n),而上部x轴标记有系统中的用户总数。参考配置在图中以垂直线突出显示。如图所示,当服务大约1000个用户时,由于代理的利用率接近100%,系统达到了最大工作负载。在这种情况下,SO Container和社交媒体服务的利用率也接近90%。 超过某一阈值(约800个用户),某些服务的利用率似乎下降。这种行为是由系统的过载情况引起的事实上,活跃用户顺序地执行动作;某些服务的过载(例如,SO容器)导致某些操作的执行时间很长,其结果是需要执行的操作较少。128L. Montecchi et al. /Electronic Notes in Theoretical Computer Science 310(2015)113Us服务或系统资源利用率由用户在单位时间内发起虽然上图提供了一个关于用户数量的系统可扩展性的良好指示,但这些结果假设不同用户配置文件之间的比率在用户群增长期间保持不变。然而,一般来说,情况并非如此。实际上,某些类型的用户相对于其他用户具有更高的增长率。特别是,具有公共公民个人资料的用户数量可能会经历非常快速的增长,这取决于平台的普及和传播。图 7b 描 绘 了 不 同 服 务 的 利 用 率 百 分 比 ( 在 y 轴 上 ) , 在 不 同 的 具 有ProfilePublicCitizen的用户数量(在较低的x轴上)。同样在这种情况下,上面的x轴标记有系统中的用户总数当将此图与前一图进行比较时,很明显,不同用户配置文件之间的比例对系统的可扩展性有很大影响在这种情况下,仅用600个用户就达到了系统资源的饱和,即,当假设所有不同配置文件的用户按比例增加时,则减少40%。同样在这种情况下,瓶颈似乎是代理,其次是SO容器和社交媒体服务,其利用率约为90%。通过分析OPENNESS平台的用户感知的服务质量,在满足服务请求的平均时间Ts方面,我们观察到系统可扩展性的实际限制远低于600个用户(图8a)。如图所示,即使用户总数超过400人,用户对六项服务中的四项服务的平均等待时间也会大幅增加在用户超过500人的情况下,平均等待时间为10秒或更长,从用户的角度来看,这显然是不可接受的这样一个巨大的增长可能是由于饱和的代理,这已被证明是在所考虑的情况下的性能瓶颈图8b中报告的评价显示了代理性能增加的效果。特别是,我们假设将代理处理能力加倍,从而将其处理延迟减半。通过将每个服务的γ代理参数减半来模拟代理性能的这种增加如图8a所示,用户总数54 162 270 378 486 594 702 810 9181026用户总数1702112522933343754164574985395806216621 10.9 0.90.8 0.80.7 0.70.6 0.60.5 0.50.4 0.40.3 0.30.2 0.20.1 0.100.2 N0.6 n1 n1.4 n1.8 N2.2 N2.6 n3 n3.4 n3.8n参考配置中每个配置文件的用户数00 5010015020025030035040
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功