用于應(yīng)用和服務(wù)的安全意識彈性的方法和設(shè)備的制作方法
【專利摘要】在用于按比例擴展/縮減應(yīng)用的安全(非功能)組件的方法中,確定(a)每個非安全(功能)組件針對多個請求而具有的與安全組件的交互的類型、以及每個交互類型的數(shù)量?;?a)和到來的對應(yīng)用的請求的預(yù)期數(shù)量確定:(b)涉及非安全組件的對安全組件的請求以及與安全組件的交互的類型;以及(c)對于涉及非安全組件的對安全組件的每個類型的請求,涉及非安全組件的對安全組件的請求以及與安全組件的交互的數(shù)量。對于每個安全組件,確定涉及非安全組件的每個類型的請求所需的容量、以及涉及非安全組件的每個類型的交互所需的容量。將安全組件的容量改變?yōu)樾氯萘浚渲行氯萘炕?a)、(c)和所確定的容量。
【專利說明】用于應(yīng)用和服務(wù)的安全意識彈性的方法和設(shè)備
[0001]相關(guān)申請的交叉引用
[0002]本申請要求2012年3月13日提交的美國專利申請?zhí)?3/419,037的優(yōu)先權(quán),通過引用將其全部公開內(nèi)容結(jié)合在本文中。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明涉及一種有彈性的云應(yīng)用。
【背景技術(shù)】
[0004]例如,考慮托管在云上(在一個或多個虛擬機上)的應(yīng)用具有用于用戶認(rèn)證和身份管理的安全組件的情況。因為該應(yīng)用是有彈性的,所以如果針對該應(yīng)用的工作負(fù)荷增加,則該應(yīng)用的非安全組件可以被分配更多的容量,使得該應(yīng)用可以處理更多到來的請求。然而,當(dāng)安全組件的容量不按成比例的方式增加時,這可能會導(dǎo)致瓶頸。例如,用戶認(rèn)證請求可能無法被及時處理,從而影響響應(yīng)時間、服務(wù)等待時間和吞吐量。類似的瓶頸也可能出現(xiàn)在其他組件中,例如與監(jiān)測、起源數(shù)據(jù)(provenance data)收集等相關(guān)聯(lián)的那些組件。
[0005]云(或者更具體地,云計算)可以指作為服務(wù)而非產(chǎn)品的計算的遞送,由此共享的資源、軟件和信息通過網(wǎng)絡(luò)(通常是因特網(wǎng))被提供給計算機和其他裝置作為計量的服務(wù)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明公開了一種與到來的負(fù)荷成比例地擴展和/或縮減云安全和/或非功能組件的容量的方法和設(shè)備。
[0007]本發(fā)明的示例性實施例提供了一種用于按比例擴展和/或縮減云安全和/或非功能組件的方法、系統(tǒng)和計算機程序產(chǎn)品。
[0008]在該方法中,對于應(yīng)用的每個非安全組件,確定(a)該非安全組件針對多個請求而具有的與應(yīng)用的安全組件的交互的類型、以及每個交互類型的總數(shù)。基于(a)和到來的對應(yīng)用的請求的預(yù)期數(shù)量確定:(b)從非安全組件對安全組件的請求的類型、以及涉及非安全組件的與安全組件的交互的類型;以及(C)對于從非安全組件對安全組件的每個類型的請求,涉及非安全組件的對安全組件的請求的總數(shù)、以及涉及非安全組件的與安全組件的交互的總數(shù)。對于每個安全組件,確定處理涉及非安全組件的每個類型的請求所需的容量、以及執(zhí)行涉及非安全組件的每個類型的交互所需的容量。將安全組件的容量改變?yōu)樾氯萘?,其中新容量基?a)、(C)和所確定的容量。
【專利附圖】
【附圖說明】
[0009]圖1示出云服務(wù)的實例;
[0010]圖2示出按比例擴展的云服務(wù)的實例;
[0011]圖3示出根據(jù)本發(fā)明的示例性實施例按比例擴展的云服務(wù);
[0012]圖4A和4B示出根據(jù)本發(fā)明的示例性實施例的按比例擴展/縮減云服務(wù)的方法的流程圖;并且
[0013]圖5示出用于實現(xiàn)本發(fā)明的示例性實施例的設(shè)備。
【具體實施方式】
[0014]根據(jù)本發(fā)明的示例性實施例,提供了一種與到來的負(fù)荷成比例地擴展和/或縮減云安全和/或非功能組件的容量的方法和設(shè)備。該按比例調(diào)節(jié)可以被認(rèn)為是主動的。
[0015]簡言之,該方法如下。對于特定的應(yīng)用,對于針對該應(yīng)用的每個類型的客戶端請求,確定每個組件與該應(yīng)用的安全組件將要進行的交互的數(shù)量和類型。確定在該組件處理每個這樣的請求所需的容量、以及該組件與安全組件的每個交互所需的容量。此外,根據(jù)該組件上的工作負(fù)荷的增加/減少,確定安全組件上的負(fù)荷如何增加/減少。然后,當(dāng)針對該組件的容量增加/減少請求到來時,對于安全組件,在某種程度上按比例增加/減少其容量。
[0016]現(xiàn)在將描述典型的基于云的應(yīng)用。為簡潔起見,以下聚焦于安全性作為非功能組件的實例,除非另有說明。
[0017]參考圖1??紤]托管在云(105)(諸如IBM的計算云)上的電子商務(wù)網(wǎng)站。該電子商務(wù)網(wǎng)站可以屬于buy.com或ebay, com等類型。在這種基于網(wǎng)絡(luò)的系統(tǒng)中,存在三個層:前端(例如,網(wǎng)絡(luò)前端110),負(fù)責(zé)客戶(例如,客戶端125、130和135)的瀏覽、選擇和購買活動的中間層應(yīng)用層115(例如,應(yīng)用服務(wù)器、Al (例如,部署在應(yīng)用服務(wù)器之上的產(chǎn)品瀏覽應(yīng)用)和A2 (例如,部署在應(yīng)用服務(wù)器之上的在線購物車應(yīng)用)),以及作為數(shù)據(jù)庫層的第三層(例如,數(shù)據(jù)庫(DB) 120)。
[0018]例如,如果對于客戶端125尚不存在用于電子商務(wù)應(yīng)用的會話,則來自客戶(諸如客戶端125)的請求在客戶端125的認(rèn)證之后可能會導(dǎo)致創(chuàng)建會話。一旦會話得到建立,前端(諸如網(wǎng)絡(luò)前端110)經(jīng)由超文本標(biāo)記語言(HTML)/Java服務(wù)器頁面(JSP)/動態(tài)服務(wù)器頁面(ASP)/JavaScript等將目錄和/或搜索用戶接口(UI)提供給客戶端125。客戶端125選定要購買的產(chǎn)品并將其添加到她的購物車中。客戶端125進行到結(jié)帳。在結(jié)賬期間,客戶端125: (a)檢查最終價格;(b)指定支付方式一或者(i)通過使用所存儲的信用卡信息,或者(ii)通過輸入信用卡信息;以及(3)為該產(chǎn)品付款并退出。電子商務(wù)應(yīng)用然后將采購訂單存儲在數(shù)據(jù)庫(諸如數(shù)據(jù)庫120)上,并將部分采購訂單轉(zhuǎn)送到發(fā)貨部門,并且將電子郵件轉(zhuǎn)送到客戶端125。
[0019]上述步驟沒有提到在此過程期間進行的安全相關(guān)步驟。以下是可以執(zhí)行的典型安全相關(guān)步驟的實例。
[0020]在創(chuàng)建與客戶端125的會話的過程中,可能會涉及幾個安全步驟。首先,存在到身份管理和認(rèn)證子系統(tǒng)的認(rèn)證請求。在這里,存在兩個子請求一一個用于身份驗證,而另一個用于對于該特定時間且對于所請求的活動和角色對客戶端125進行認(rèn)證。這也可能會涉及到有證書的客戶的證書驗證。第二,存在用于建立安全會話和加載所需的安全模塊(諸如RSA/橢圓曲線)的隨機數(shù)和會話密鑰的產(chǎn)生。第三,存在對安全會話管理系統(tǒng)(諸如實現(xiàn)Kerberos的系統(tǒng))的請求。
[0021]在結(jié)賬過程中,可能會存在對存儲信用卡信息的安全數(shù)據(jù)庫的訪問請求。安全會話管理系統(tǒng)要求客戶端125使用密碼再次認(rèn)證,以確??蛻舳?25確實是經(jīng)授權(quán)的客戶端。信用卡信息的解密被執(zhí)行。
[0022]還可能會存在對于將接收到的信用卡信息存儲在安全數(shù)據(jù)庫中的訪問請求,如果客戶端125選擇這樣的話。在這里,安全會話管理系統(tǒng)要求客戶端125使用密碼再次認(rèn)證,以確保該客戶確實是經(jīng)授權(quán)的客戶端。這通常是不需要的。信用卡信息的加密被執(zhí)行。
[0023]在兩個訪問請求中,信用卡驗證請求被發(fā)送到諸如verifiedvisa.com之類的網(wǎng)站或其他數(shù)據(jù)庫。
[0024]最后的安全相關(guān)步驟可能會涉及采購訂單信息的加密、從安全數(shù)據(jù)庫取回加密后的客戶端125電子郵件、以及客戶端125電子郵件信息的解密。
[0025]現(xiàn)在,假設(shè)在感恩節(jié)期間,電子商務(wù)網(wǎng)站經(jīng)歷了較高的到來的負(fù)荷。例如,如圖2中所示,客戶端的數(shù)量增加。結(jié)果,基于云的應(yīng)用的管理策略增加所有層的容量。例如,第一層的容量增至三倍(具有網(wǎng)絡(luò)前端llOa-c),中間層應(yīng)用的容量增至兩倍(具有115a和115b),并且第三層的容量增至兩倍(具有數(shù)據(jù)庫120a和120b)。然而,安全組件(例如,用戶認(rèn)證/身份管理)210、安全會話管理220和數(shù)據(jù)庫訪問控制230)的容量沒有增加。結(jié)果,由于增加的負(fù)荷而沒有更多的可用容量,安全組件用戶認(rèn)證/身份管理210可能會成為瓶頸。這種瓶頸可能會導(dǎo)致對電子商務(wù)網(wǎng)站上的服務(wù)攻擊的拒絕。如圖3所示,本發(fā)明提供了一種方式來增加安全組件的容量,以滿足到來的工作負(fù)荷。本發(fā)明還提供了一種方式以在工作負(fù)荷下降時減少安全組件的容量。
[0026]本發(fā)明適用于下文中稱之為功能和非功能組件、或者功能和非功能需求/服務(wù)的組件。安全組件可以被認(rèn)為是一種類型的非功能組件、需求或服務(wù)。非安全組件可以被認(rèn)為是一種類型的功能組件、需求或服務(wù)。
[0027]作為一個實例,與功能需求相關(guān)聯(lián)的非功能需求是對于提供/滿足預(yù)期/約定的以下參數(shù)而言必不可少的東西:服務(wù)質(zhì)量(例如,響應(yīng)時間、吞吐量等),服務(wù)狀態(tài)的監(jiān)測,使用核算和計量,服務(wù)的安全/隱私保護(例如,訪問控制、身份管理、加密、密鑰管理、完整性、信任管理),起源(例如,元數(shù)據(jù)集合),以及依從性(例如,確保數(shù)據(jù)以法律內(nèi)允許的位置和方式被存儲)。
[0028]與非功能需求的服務(wù)質(zhì)量相對應(yīng)的功能需求的實例是提供電子商務(wù)服務(wù)或計算服務(wù)。與非功能需求的服務(wù)狀態(tài)的監(jiān)測相對應(yīng)的功能需求的實例是提供電子商務(wù)服務(wù)或計算服務(wù)。與非功能需求的使用核算和計量相對應(yīng)的功能需求的實例是通過云提供電子商務(wù)服務(wù)或計算服務(wù)。與非功能需求的服務(wù)安全/隱私保護相對應(yīng)的功能需求的實例是通過云提供電子商務(wù)服務(wù)或計算服務(wù)。與非功能需求的起源相對應(yīng)的功能需求的實例是通過云提供電子商務(wù)服務(wù)或計算服務(wù)。與非功能需求的依從性相對應(yīng)的功能需求的實例是通過云提供電子商務(wù)服務(wù)或計算服務(wù)。
[0029]現(xiàn)在提供用于按比例擴展/縮減非功能(例如,安全)服務(wù)的容量的方法的更詳細(xì)的描述。應(yīng)當(dāng)理解,在典型的分布式應(yīng)用中,功能組件FC和安全或非功能需求(NFR)組件NFRC之間的交互可以指從FC到NFRC或從NFRC到FC的請求、或者從代表FC/NFRC的另一組件到NFRC/FC的請求。通常,在本發(fā)明中考慮導(dǎo)致NFRC消耗不可忽略的量的資源的FC和NFRC之間的任何交互。
[0030]參考圖4A,輸入功能服務(wù)S,其中FC是支持S和非功能組件/策略NFRC的解決方案的組件。響應(yīng)于所述輸入,在401分析功能組件FC的源/ 二進制代碼、配置和策略。在這里,確定Tl。Tl =FC和NFRC之間的安全交互類型的集合。然后,對NI計數(shù)。NI =對于針對FC的每個外部請求、對于Tl中的每個類型,F(xiàn)C發(fā)起的FC和NFRC之間的交互的下限、上限和概率數(shù)量。
[0031]在402,分析功能組件FC的運行時間和它的配置和策略。這里,確定T2。T2 = FC和NFRC之間的安全交互類型的集合。然后對N2計數(shù)。N2 =對于針對FC的每個外部請求、對于T2中的每個類型,運行時間發(fā)起的FC和NFRC之間的交互的下限、上限和概率數(shù)量。
[0032]在403,分析代表FC發(fā)起與NFRC的交互的任何系統(tǒng)的源/ 二進制代碼、運行時間和相關(guān)聯(lián)的配置和策略。在這里,確定T3。T3 = FC和NFRC之間的安全交互類型的集合。然后對N3計數(shù)。N3 =對于針對FC的每個外部請求,以這種方式發(fā)起的FC和NFRC之間的交互的下限、上限和概率數(shù)量。
[0033]在404,確定 T 和 N。T = Tl U T2 U T3。N = N1+N2+N3。N:對于針對 FC 的每個外部請求、對于T中的每個請求類型,F(xiàn)C和NFRC之間的交互的總數(shù)的下限、上限和概率度量的數(shù)值。
[0034]現(xiàn)在轉(zhuǎn)向圖4B,輸入功能服務(wù)S和非功能組件/策略NFRC。響應(yīng)于所述輸入,在410,通過遵循圖4A中的步驟來確定針對每個對(例如FC,NFRC)的T和N。T (i)是指T中的第i個類型,并且N(FC,NFRC,i)是指每個類型T (i)和每個對(FC,NFRC)的數(shù)量。換句話說,對于應(yīng)用的每個非安全組件,該方法確定(a)該非安全組件針對多個請求而具有的與應(yīng)用的安全組件的交互的類型、以及每個交互類型的總數(shù)。(a)可以通過分析下述來確定:安全和非安全組件、與該應(yīng)用相關(guān)聯(lián)的與安全組件交互或者影響安全組件中的至少一個上的負(fù)荷的非功能或功能子系統(tǒng)的代碼,安全和非安全組件的配置信息,該應(yīng)用的工作流程和該應(yīng)用的部署參數(shù)。
[0035]在420,使TS =針對S的外部請求類型的集合、并且使NS (i,F(xiàn)C)=對于TS中的每個類型TS(i),在S中對FC的請求的預(yù)期數(shù)量。因此,N(TS(i),F(xiàn)C,NFRC,T(j))=N (FC, NFRC, j)*NS(i,F(xiàn)C)。用于從NS和組件N中計算N的方法使用可以被實例化為乘法的函數(shù)g,如圖所示。換句話說,該方法基于(a)和到來的對應(yīng)用的請求的預(yù)期數(shù)量確定:(b)從非安全組件對安全組件的請求的類型、以及涉及非安全組件的與安全組件的交互的類型;以及(c)對于從非安全組件對安全組件的每個類型的請求,涉及非安全組件的對安全組件的請求的總數(shù)、以及涉及非安全組件的與安全組件的交互的總數(shù)。
[0036]在430,確定C。C:處理每個類型T(I)的安全交互的容量需求。通過相對于各種請求和請求的分布確定出安全組件的曲線圖和/或通過使用容量規(guī)劃工具來確定C。換句話說,對于每個安全組件,該方法確定處理涉及非安全組件的每個類型的請求所需的容量、以及執(zhí)行涉及非安全組件的每個類型的交互所需的容量。
[0037]處理涉及非安全組件的每個類型的請求所需的容量可以通過部署安全組件/系統(tǒng)、向該組件發(fā)送不同類型的請求、并測量用于服務(wù)于不同類型的請求的容量來確定。另一種方法是對每個這樣的安全組件所執(zhí)行的計算、以及所需的網(wǎng)絡(luò)資源和計算資源進行建模,然后用此來確定處理每個類型的請求所需的容量。另一種方法可以涉及使用上述兩種方法的組合。
[0038]執(zhí)行涉及非安全組件和安全組件的每個類型的交互所需的容量可以通過分析下述來確定:處理涉及非安全組件和安全組件的每個類型的請求所需的容量,應(yīng)用上的當(dāng)前負(fù)荷,由于到來的請求而施加于應(yīng)用上的預(yù)期負(fù)荷,以及應(yīng)用的服務(wù)水平協(xié)議(SLA)和服務(wù)質(zhì)量(QoS)參數(shù)。
[0039]在440,確定SC。SC:用來服務(wù)于請求N和使用曲線圖或容量規(guī)劃工具確定的C的每個類型的功能請求的安全容量需求。通過NS (i,F(xiàn)C)和SLA/QoS來確定SC。換句話說,對于每個安全組件,該方法確定處理涉及非安全組件的每個類型的請求所需的容量、以及執(zhí)行涉及非安全組件的每個類型的交互所需的容量。
[0040]在450,將安全組件的容量改變?yōu)镾C。換句話說,將安全組件的容量改變?yōu)樾氯萘?,其中新容量基?a)、(c)和所確定的容量。在這里,安全組件的總數(shù)可以增加或減少,或者安全組件所依賴于的基礎(chǔ)設(shè)施和組件的容量中的安全組件的內(nèi)部容量可以增加或減少。
[0041 ] 在下面的實施例中,我們描述按比例調(diào)節(jié)如何執(zhí)行作為示例性方法。
[0042]在下文中描述用來估計針對NFR服務(wù)的比例因子的變量N、C和SC。
[0043]N:對于每個功能請求、對于每個安全交互類型,安全交互的數(shù)量。這可以通過分析功能組件、配置/策略和運行時間系統(tǒng)來確定。例如,使功能請求類型-1為“添加物品到購物車”。Nll = 2,用于從密鑰管理器請求密鑰以對物品的數(shù)量進行加密、并且然后解密該請求,N12 = I用于驗證安全會話信息。使功能請求類型-2為“檢查過去的訂單”。N21 = 1,用于請求過去的訂單的解密。
[0044]C:用于處理每個類型的安全交互的容量需求。這可以通過對協(xié)議的分析和動態(tài)地確定曲線圖(profiling)來確定。例如,Cll = (5 CPU, 10 RAM, 25網(wǎng)絡(luò)帶寬,10存儲)用于請求密鑰。
[0045]SC:每個類型的功能請求的安全容量需求。這可以通過使用N和C以及服務(wù)水平協(xié)議(SLA)/服務(wù)質(zhì)量(QoS)、到來的負(fù)荷、當(dāng)前負(fù)荷和安全服務(wù)的容量之間的關(guān)系來確定。例如,SCI = w(Nll*Cll+N12*C12) ;w =由 SLA 定義 / 從 SLA 導(dǎo)出的權(quán)重:金=1,銀=0.5,青銅=0.2。N11*C11 = (N11*5CPU,N11*10RAM,N11*25,N11*10)。對于另一個解決方案 /SLA, SCl 也可以計算如下:SC1 = wll*Nll*Cll+wl2*N12*C12,其中 wll、wl2 是從 SLA 或其他非功能特性導(dǎo)出的權(quán)重。
[0046]對于給定的功能服務(wù),該方法如下進行:(I)對于每個功能請求類型、對于每個安全交互類型T,確定N和C ; (2)使來自客戶端的到來的功能請求的預(yù)期數(shù)量對于特定時間窗口為IL或直到特定事件發(fā)生為止都為IL,以及(3)對于支持特定安全服務(wù)的每個安全組件,將安全容量改變?yōu)橛蒊L和SLA/QoS確定的SC。
[0047]例如,假定以下安全交互類型={S1.認(rèn)證,S2.產(chǎn)生隨機數(shù)/密鑰,S3.安全會話,S4.對數(shù)據(jù)庫的安全訪問}。還假定以下功能請求類型={F1.客戶登錄,F(xiàn)2.產(chǎn)品瀏覽,F(xiàn)3.添加到購物車}。使用這些安全交互類型和功能請求類型執(zhí)行I至3會導(dǎo)致以下結(jié)果。
[0048]1.NijXj:第i個功能請求和對于該功能請求而言必要的第j個安全交互:N11 =2,N12 = 1,...,C12 = (5 CPU, 10 RAM, 25 網(wǎng)絡(luò)帶寬,10 存儲)。
[0049]2.來自客戶端的預(yù)期的到來功能請求是IL = (Fl = 100,F(xiàn)2 = 150,F(xiàn)3 = 75)。
[0050]3.SCI = w(Fl*Nll*Cll,F(xiàn)l*N12*C12) ;w =由 SLA 定義的權(quán)重:金=1,銀=0.5,青銅=0.2。N11*C11 = (N11*5CPU,N11*10RAM,N11*25,N11*10)。
[0051]4.從SC1、SC2、...算得的總SC =(服務(wù)于SI的組件的容量:C1,服務(wù)于S2的所有組件的容量,...)。
[0052]所屬領(lǐng)域的技術(shù)人員將理解的是,本發(fā)明的各個方面可以實施為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的各個方面可以采取以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或軟件和硬件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的各個方面還可以采取用一個或多個計算機可讀介質(zhì)實施的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)上包含有計算機可讀程序代碼。
[0053]可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的適當(dāng)組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機軟盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件的上下文中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0054]計算機可讀信號介質(zhì)可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀程序代碼。這種傳播的信號可以采用各種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0055]計算機可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0056]可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明各方面的操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言(諸如Java、Smalltalk^++等),還包括常規(guī)的過程式程序設(shè)計語言(諸如“C”程序設(shè)計語言或類似的程序設(shè)計語言)。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠(yuǎn)程計算機上執(zhí)行、或者完全在遠(yuǎn)程計算機或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機的情形中,遠(yuǎn)程計算機可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0057]參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的各方面。應(yīng)當(dāng)理解的是,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0058]也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令可以使得計算機、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,使得存儲在計算機可讀介質(zhì)中的指令產(chǎn)生包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品°
[0059]計算機程序指令還可以加載到計算機、其它可編程數(shù)據(jù)處理裝置或其他設(shè)備上,以使一系列操作步驟在計算機、其它可編程裝置或其他設(shè)備上被執(zhí)行以產(chǎn)生計算機實現(xiàn)的過程,使得在計算機或其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的處理。
[0060]現(xiàn)在參考圖5,根據(jù)本發(fā)明的示例性實施例,計算機系統(tǒng)501可以尤其包括中央處理單元(CPU) 502、存儲器503和輸入/輸出(I/O)接口 504。計算機系統(tǒng)501 —般通過I/O接口 504耦合到顯示器505和各種輸入設(shè)備506,例如鼠標(biāo)和鍵盤。支持電路可以包括例如高速緩存、電源、時鐘電路以及通信總線的電路。存儲器503可以包括RAM、ROM、磁盤驅(qū)動器、磁帶驅(qū)動器等、或它們的組合。本發(fā)明的示例性實施例可以實現(xiàn)為存儲在存儲器503 (例如,非暫時性計算機可讀存儲介質(zhì))中的例程507并且由CPU 502執(zhí)行以處理來自信號源508的信號。因此,計算機系統(tǒng)501是當(dāng)執(zhí)行本發(fā)明的例程507時變?yōu)閷S糜嬎銠C系統(tǒng)的通用計算機系統(tǒng)。
[0061]計算機平臺501還包括操作系統(tǒng)和微指令代碼。本文描述的各種處理和功能可以是經(jīng)由操作系統(tǒng)執(zhí)行的微指令代碼的一部分或應(yīng)用的一部分(或它們的組合)。此外,各種其他外圍設(shè)備可以連接至計算機平臺,諸如附加的數(shù)據(jù)存儲裝置和打印裝置。
[0062]附圖中的流程圖和框圖示出根據(jù)本發(fā)明的各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意的是,在有些替代性實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0063]本文中使用的術(shù)語僅用于描述特定實施例的目的并且并非旨在對本發(fā)明進行限制。本文中使用的單數(shù)形式“一”和“一個”旨在也包括復(fù)數(shù)形式,除非上下文有清楚的相反指示。還應(yīng)理解的是,術(shù)語“包括”在本說明書中被使用時,指的是所陳述的特征、整數(shù)、步驟、操作、元件和/或組件的存在,而并不排除一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或其組合的存在或附加。
[0064]下面的權(quán)利要求中的所有裝置或步驟加功能元件的對應(yīng)結(jié)構(gòu)、材料、動作和等效體意在包括任何用于結(jié)合其他明確宣稱的宣稱元件來執(zhí)行功能的結(jié)構(gòu)、材料或動作。本發(fā)明的描述已為說明和描述之目的呈現(xiàn),而非意在窮盡或?qū)⒈景l(fā)明限制于所公開的形式。在不脫離本發(fā)明的范圍和精神的前提下,許多修改和變化對于本領(lǐng)域普通技術(shù)人員來說將是顯而易見的。實施例被選擇并描述以便最佳解釋本發(fā)明的原理和實際應(yīng)用,并且使得本領(lǐng)域普通技術(shù)人員能夠針對具有適合于所預(yù)期的特定用途的各種修改的不同實施例來理解本發(fā)明。
【權(quán)利要求】
1.一種方法,包括: 對于應(yīng)用的每個非安全組件,確定(a)所述非安全組件針對多個請求而具有的與所述應(yīng)用的安全組件的交互的類型、以及每個交互類型的總數(shù); 基于(a)和到來的對所述應(yīng)用的請求的預(yù)期數(shù)量確定:(b)從所述非安全組件對所述安全組件的請求的類型、以及涉及所述非安全組件的與所述安全組件的交互的類型;以及(C)對于從所述非安全組件對所述安全組件的每個類型的請求,涉及所述非安全組件的對所述安全組件的請求的總數(shù)、以及涉及所述非安全組件的與所述安全組件的交互的總數(shù); 對于每個安全組件,確定處理涉及所述非安全組件的每個類型的請求所需的容量、以及執(zhí)行涉及所述非安全組件的每個類型的交互所需的容量;以及 將所述安全組件的容量改變?yōu)樾氯萘浚渲兴鲂氯萘炕?a)、(c)和所確定的容量。
2.如權(quán)利要求1所述的方法,其中通過分析下述來確定(a):所述安全和非安全組件、與安全組件交互或者影響所述安全組件中的至少一個上的負(fù)荷的與所述應(yīng)用相關(guān)聯(lián)的非功能或功能子系統(tǒng)的代碼,所述安全和非安全組件的配置信息,所述應(yīng)用的工作流程和所述應(yīng)用的部署參數(shù)。
3.如權(quán)利要求1所述的方法,其中通過分析下述來確定執(zhí)行涉及所述非安全組件和安全組件的每個類型的交互所需的容量:處理涉及所述非安全組件和安全組件的每個類型的請求所需的容量,所述應(yīng)用上的當(dāng)前負(fù)荷,由于到來的請求而施加于所述應(yīng)用上的預(yù)期負(fù)荷,以及所述應(yīng)用的服務(wù)水平協(xié)議(SLA)和服務(wù)質(zhì)量(QoS)參數(shù)。
4.如權(quán)利要求1所述的方法,其中使用所述應(yīng)用的SLA和QoS參數(shù)來計算特定安全組件上的負(fù)荷。
5.如權(quán)利要求1所述的方法,其中將所述安全組件的容量改變?yōu)樗鲂氯萘堪?增加或減少安全組件的總數(shù)。
6.如權(quán)利要求1所述的方法,其中將所述安全組件的容量改變?yōu)樗鲂氯萘堪?增加或減少所述安全組件的內(nèi)部容量或者所述安全組件所依賴于的基礎(chǔ)設(shè)施和組件的容量。
7.一種計算機程序產(chǎn)品,包括: 具有與其一起體現(xiàn)的計算機可讀程序代碼的計算機可讀存儲介質(zhì),所述計算機可讀程序代碼包括: 計算機可讀程序代碼,其配置成對于應(yīng)用的每個非安全組件,確定(a)所述非安全組件針對多個請求而具有的與所述應(yīng)用的安全組件的交互的類型、以及每個交互類型的總數(shù); 計算機可讀程序代碼,其配置成基于(a)和到來的對所述應(yīng)用的請求的預(yù)期數(shù)量確定:(b)從所述非安全組件對所述安全組件的請求的類型、以及涉及所述非安全組件的與所述安全組件的交互的類型;以及(c)對于從所述非安全組件對所述安全組件的每個類型的請求,涉及所述非安全組件的對所述安全組件的請求的總數(shù)、以及涉及所述非安全組件的與所述安全組件的交互的總數(shù); 計算機可讀程序代碼,其配置成對于每個安全組件,確定處理涉及所述非安全組件的每個類型的請求所需的容量、以及執(zhí)行涉及所述非安全組件的每個類型的交互所需的容量;以及 配置成將所述安全組件的容量改變?yōu)樾氯萘康挠嬎銠C可讀程序代碼,其中所述新容量基于(a)、(C)和所確定的容量。
8.如權(quán)利要求7所述的計算機程序產(chǎn)品,其中通過分析下述來確定(a):所述安全和非安全組件、與安全組件交互或者影響所述安全組件中的至少一個上的負(fù)荷的與所述應(yīng)用相關(guān)聯(lián)的非功能或功能子系統(tǒng)的代碼,所述安全和非安全組件的配置信息,所述應(yīng)用的工作流程和所述應(yīng)用的部署參數(shù)。
9.如權(quán)利要求7所述的計算機程序產(chǎn)品,其中通過分析下述來確定執(zhí)行涉及所述非安全組件和安全組件的每個類型的交互所需的容量:處理涉及所述非安全組件和安全組件的每個類型的請求所需的容量,所述應(yīng)用上的當(dāng)前負(fù)荷,由于到來的請求而施加于所述應(yīng)用上的預(yù)期負(fù)荷,以及所述應(yīng)用的服務(wù)水平協(xié)議(SLA)和服務(wù)質(zhì)量(QoS)參數(shù)。
10.如權(quán)利要求7所述的計算機程序產(chǎn)品,其中使用所述應(yīng)用的SLA和QoS參數(shù)來計算特定安全組件上的負(fù)荷。
11.如權(quán)利要求7所述的計算機程序產(chǎn)品,其中通過增加或減少安全組件的總數(shù),將所述安全組件的容量改變?yōu)樗鲂氯萘俊?br>
12.如權(quán)利要求7所述的計算機程序產(chǎn)品,其中將所述安全組件的容量改變?yōu)樗鲂氯萘堪?增加或減少所述安全組件的內(nèi)部容量或者所述安全組件所依賴于的基礎(chǔ)設(shè)施和組件的容量。
13.—種系統(tǒng),包括: 用于存儲程序的存儲器件;以及 與所述存儲器件通信的處理器,所述處理器與所述程序一起可操作地: 對于應(yīng)用的每個非安全組件,確定(a)所述非安全組件針對多個請求而具有的與所述應(yīng)用的安全組件的交互的類型、以及每個交互類型的總數(shù); 基于(a)和到來的對所述應(yīng)用的請求的預(yù)期數(shù)量確定:(b)從所述非安全組件對所述安全組件的請求的類型、以及涉及所述非安全組件的與所述安全組件的交互的類型;以及(C)對于從所述非安全組件對所述安全組件的每個類型的請求,涉及所述非安全組件的對所述安全組件的請求的總數(shù)、以及涉及所述非安全組件的與所述安全組件的交互的總數(shù); 對于每個安全組件,確定處理涉及所述非安全組件的每個類型的請求所需的容量、以及執(zhí)行涉及所述非安全組件的每個類型的交互所需的容量;以及 將所述安全組件的容量改變?yōu)樾氯萘浚渲兴鲂氯萘炕?a)、(c)和所確定的容量。
14.如權(quán)利要求13所述的系統(tǒng),其中通過分析下述來確定(a):所述安全和非安全組件、與安全組件交互或者影響所述安全組件中的至少一個上的負(fù)荷的與所述應(yīng)用相關(guān)聯(lián)的非功能或功能子系統(tǒng)的代碼,所述安全和非安全組件的配置信息,所述應(yīng)用的工作流程和所述應(yīng)用的部署參數(shù)。
15.如權(quán)利要求13所述的系統(tǒng),其中通過分析下述來確定執(zhí)行涉及所述非安全組件和安全組件的每個類型的交互所需的容量:處理涉及所述非安全組件和安全組件的每個類型的請求所需的容量,所述應(yīng)用上的當(dāng)前負(fù)荷,由于到來的請求而施加于所述應(yīng)用上的預(yù)期負(fù)荷,以及所述應(yīng)用的服務(wù)水平協(xié)議(SLA)和服務(wù)質(zhì)量(QoS)參數(shù)。
16.如權(quán)利要求13所述的系統(tǒng),其中使用所述應(yīng)用的SLA和QoS參數(shù)來計算特定安全組件上的負(fù)荷。
17.如權(quán)利要求13所述的系統(tǒng),其中通過增加或減少安全組件的總數(shù),將所述安全組件的容量改變?yōu)樗鲂氯萘俊?br>
18.如權(quán)利要求13所述的系統(tǒng),其中將所述安全組件的容量改變?yōu)樗鲂氯萘堪?增加或減少所述安全組件的內(nèi)部容量或者所述安全組件所依賴于的基礎(chǔ)設(shè)施和組件的容量。
19.一種方法,包括: 對于應(yīng)用的每個功能組件,確定(a)所述功能組件針對多個請求而具有的與所述應(yīng)用的非功能組件的交互的類型、以及每個交互類型的總數(shù); 基于(a)和到來的對所述應(yīng)用的請求的預(yù)期數(shù)量確定:(b)從所述功能組件對所述非功能組件的請求的類型、以及涉及所述功能組件的與所述非功能組件的交互的類型;以及(C)對于從所述功能組件對所述非功能組件的每個類型的請求,涉及所述功能組件的對所述非功能組件的請求的總數(shù)、以及涉及所述功能組件的與所述非功能組件的交互的總數(shù);對于每個非功能組件,確定處理涉及所述功能組件的每個類型的請求所需的容量、以及執(zhí)行涉及所述功能組件的每個類型的交互所需的容量;以及 將所述非功能組件的容量改變?yōu)樾氯萘浚渲兴鲂氯萘炕?a)、(c)和所確定的容量。
20.如權(quán)利要求19所述的方法,其中功能組件包括非安全組件,以及非功能組件包括安全組件。
【文檔編號】G06F15/16GK104169900SQ201380013700
【公開日】2014年11月26日 申請日期:2013年2月19日 優(yōu)先權(quán)日:2012年3月13日
【發(fā)明者】A·康杜, A·莫海因德拉, S·薩胡 申請人:國際商業(yè)機器公司