用于使用利用率分析管理存儲器利用率的系統和方法
【專利摘要】公開了用于使用使用分析在云環(huán)境和傳統環(huán)境中管理存儲器使用的方法。所述方法可以在包括硬件和軟件的組合的計算機基礎結構中實現。所述方法包括確定空間在具有模式定義的一個或者多個表內可用,所述模式定義帶有具有預定長度的字符串字段。所述方法進一步包括創(chuàng)建虛擬表和將可用空間映射至虛擬表以用于由一個或多個記錄來填充。
【專利說明】用于使用利用率分析管理存儲器利用率的系統和方法
【技術領域】
[0001]本發(fā)明一般地涉及計算系統,并且更具體地,涉及用于使用利用率分析在云環(huán)境和傳統環(huán)境中管理存儲器利用率的方法和系統。
【背景技術】
[0002]數據庫模式以字段具有足夠空間來存儲數據這樣的方式來設計。然而,對于大多數實例,用于存儲這些字段的空間比實際使用的多。當然,這樣導致空間和資源的浪費。
[0003]例如,考慮用于存儲客戶地址信息的典型數據庫模式如下:
[0004]Table CustmerAddress {
[0005]Addrlinel varchar(255),
[0006]AddrLine2varchar (255),
[0007]City varchar(100),
[0008]PinCode varchar(10),
[0009]Country varchar (50),
[0010]};
[0011]對于上述示例,計算機數據庫應用可以從虛擬存儲管理器(例如操作系統的組件)要求期望數量的字節(jié)用于存儲客戶地址。然而,在該示例中,CustmerAddress Table只有少數(如果有的話)實例將使用所有分配空間,特別是Addrlinel和Addrline2字段。在這種情況下,由于并非用于存儲客戶地址的所有分配空間都被使用的事實,資源被浪費了??梢愿玫貙崿F這些資源(空間)以滿足其它需要。同樣,如這里所描述的,需要消耗大量的能量(即電力)以保持存儲器中或者外部存儲設備上的那些未使用的空間。
[0012]基于云的范例的關鍵特征是高效的資源利用(例如,通過虛擬化實現)。許多算法存在用于高水平的有效存儲器分配利用。然而,有下列方面的差距:
[0013]由程序靜態(tài)使用的數據塊可能具有以下特征:“客戶”表具有char30的名字、charlO的中間名和char50的姓氏。由于缺乏定義數據長度的標準,設計者任意地指定數據長度并且大部分時間降低相關風險總是期望的。在現實中,由于整個預留空間可能根本不會被使用,因此浪費了空間和資源;以及
[0014]商業(yè)現貨供應的產品(COTS)具有預定義的數據表;理想地,將單獨使用各子集域和相關的表。例如,用于庫存管理的COTS應用將具有預定管理功能和相關的數據庫表,這些可能根本不會被企業(yè)使用。
[0015]在上述所有情況下,額外的能量被用于維持空的未使用的存儲器,即沒有最佳地利用存儲器資源。事實上,眾所周知,現代的I太字節(jié)驅動器每兆字節(jié)消耗大約38毫瓦。根據這個度量,I字節(jié)將消耗0.036毫微瓦。在包括多個應用的大生態(tài)系統中,未使用存儲器的比例越大,接下來導致使用多得多的能量消耗。
【發(fā)明內容】
[0016]在本發(fā)明的第一方面中,在包括硬件和軟件的組合的計算機基礎結構中實現了方法。方法包括確定空間在具有模式定義的一個或者多個表內可用,該模式定義帶有具有預定長度的字符串字段。方法進一步包括創(chuàng)建虛擬表和將可用空間映射至虛擬表以用于由一個或多個記錄來填充。
[0017]在本發(fā)明的另一個方面中,系統在硬件中實現并且包括計算機基礎結構,可操作用于:跟蹤一個或者多個定義表的字段內的空間;創(chuàng)建一個或者多個定義表內所有可用空間的跟蹤器表;創(chuàng)建虛擬表;以及將可用空間映射至虛擬表。
[0018]在本發(fā)明的另一方面中,計算機程序產品包括具有體現在存儲介質中的可讀程序代碼的計算機可用存儲介質。計算機程序產品包括至少一個組件,可操作用于監(jiān)控具有模式定義的一個或者多個表的字段內的空間,該模式定義具有第一空間分配。計算機程序產品進一步包括至少一個組件,可操作用于確定一個或者多個字段內需要的額外空間。計算機程序產品進一步包括至少一個組件,可操作用于增加一個或者多個字段內的值以提供額外空間。
[0019]在本發(fā)明的進一步方面中,方法包括提供計算機基礎結構,可操作用于確定空間在具有模式定義的一個或者多個表內可用,該模式定義帶有具有預定長度的字符串字段。計算機基礎結構進一步可操作用于將可用空間映射至虛擬表以用于由一個或多個記錄來填充,并且根據需要釋放映射至用于一個或者多個表內的虛擬表的任何空間。
[0020]在本發(fā)明的另一個方面中,計算機系統存儲管理包括CPU、計算機可讀存儲器和計算機可讀存儲介質。所述系統包括第一程序指令,用以確定空間在具有模式定義的一個或者多個表內可用,該模式定義帶有具有預定長度的字符串字段。系統包括第二程序指令,用以創(chuàng)建虛擬表。系統包括第三程序指令,用以將可用空間映射至虛擬表以用于由一個或多個記錄來填充。系統包括第四程序指令,用以根據需要釋放映射至用于一個或者多個表內的虛擬表的任何空間。第一至第四程序指令存儲在所述計算機可讀存儲介質上由所述CPU通過所述計算機可讀存儲器執(zhí)行。
【專利附圖】
【附圖說明】
[0021]參考提到的多個附圖,通過本發(fā)明的示例性實施例的非限制性示例,在隨后的詳細說明中描述了本發(fā)明。
[0022]圖1描繪了根據本發(fā)明實施例的云計算節(jié)點;
[0023]圖2描繪了根據本發(fā)明實施例的云計算環(huán)境;
[0024]圖3描繪了根據本發(fā)明實施例的抽象模型層;
[0025]圖4示出了根據本發(fā)明的各方面的實現框圖;
[0026]圖5示出了為了實現本發(fā)明的各方面,針對一段時間利用的實際空間和能量的顯示;
[0027]圖6示出了為了實現本發(fā)明的各方面,保留(和/或可用)的存儲器與實際使用的存儲器的顯不;
[0028]圖7描繪了根據本發(fā)明的各方面,在一個或者多個定義表中使用可用空間的示例性流程圖;
[0029]圖8示出了根據本發(fā)明的各方面,動態(tài)授權處理的示例性流程圖;以及[0030]圖9示出了根據本發(fā)明的各方面固定利用水平的處理的示例性流程圖。
【具體實施方式】
[0031]本發(fā)明一般地涉及計算系統,并且更具體,涉及用于使用使用分析在云環(huán)境和傳統環(huán)境中管理存儲器使用的方法和系統。根據本發(fā)明的各方面,有利地可操作、構造和/或設計本發(fā)明的方法和系統以有效地利用分配存儲器和/或外部存儲設備的空間(例如,存儲器),這反過來將允許高效管理功率消耗。例如,通過實現本發(fā)明,現在有可能使用定義模式內的所有可用空間,例如,通過創(chuàng)建虛擬表并且將可用空間映射至虛擬表。
[0032]在一個使用示例中,提供實用程序(例如,存儲管理引擎)作為數據庫系統的一部分,以更高效和更有效地管理數據庫內使用和未使用的空間。示例性地,在實施例中,實用程序管理數據庫系統中的空間,在該數據庫系統中,數據庫管理員用具有一定長度的字符串字段定義模式,并且并非所有分配的長度(按照每個模式定義的長度)都被記錄中的每個條目使用。基于用戶的許可,這可以在傳統環(huán)境或者基于云的環(huán)境內實現。
[0033]在更具體的實施例中,空間的管理可以以在使用端提供所有空間(按照每個模式的定義)這種方式執(zhí)行。這可以通過指定定義表內的可用空間用于虛擬表,并且當表再次需要的時候在虛擬表內釋放這種空間來完成。例如,本發(fā)明的實用程序可以跟蹤數據庫內的可用(未使用)空間,并且將可用空間指定或映射至虛擬表。當需要時,可用空間可以接著按照原始模式定義釋放和使用,從而確保按照定義模式的所有空間可以由終端用戶使用,例如,終端用戶可以使用原始模式定義中定義的字符串的全部或者一部分。相應地,在實現中,當用戶沒有按照允許的模式定義占據所有空間時,本發(fā)明的實用程序將釋放空間至虛擬表,例如,以便可以更高效地使用空間,然后當在后來的時間需要時,從虛擬表釋放該空間返回至原始表。
[0034]在實施例中,本發(fā)明的實用程序可以是數據庫系統的組件。以這種方式,數據庫系統管理員可以利用針對他們選擇的模式的實用程序,從而確認針對具體模式的空間的管理。對于數據庫的終端用戶,該功能的使用將是透明的。也就是說,終端用戶仍將按照模式定義獲得可用空間;然而,實用程序將維持管理模式的空間的實際使用的跟蹤,并將使用未使用的空間滿足其它需求。
[0035]云計算
[0036]首先應當理解,盡管本公開包括關于云計算的詳細描述,但其中記載的技術方案的實現卻不限于云計算環(huán)境,而是能夠結合現在已知或以后開發(fā)的任何其它類型的計算環(huán)境而實現。
[0037]為了方便起見,詳細描述包括從2009年10月7日Peter Mell和Tim Grance的“Draft NIST Working Definition of Cloud Computing” 獲得的下列定義,其在隨附提交的IDS中引用,并且其副本被附加于此。
[0038]云計算是一種服務交付模式,用于對共享的可配置計算資源池進行方便、按需的網絡訪問。可配置計算資源是能夠以最小的管理成本或與服務提供者進行最少的交互就能快速部署和釋放的資源,例如可以是網絡、網絡帶寬、服務器、處理、內存、存儲、應用、虛擬機和服務。這種云模式可以包括至少五個特征、至少三個服務模型和至少四個部署模型。
[0039]特征包括:[0040]按需自助式服務:云的消費者在無需與服務提供者進行人為交互的情況下能夠單方面自動地按需部署諸如服務器時間和網絡存儲等的計算能力。
[0041]廣泛的網絡接入:計算能力可以通過標準機制在網絡上獲取,這種標準機制促進了通過不同種類的瘦客戶機平臺或厚客戶機平臺(例如移動電話、膝上型電腦、個人數字助理PDA)對云的使用。
[0042]資源池:提供者的計算資源被歸入資源池并通過多租戶(mult1-tenant)模式服務于多重消費者,其中按需將不同的實體資源和虛擬資源動態(tài)地分配和再分配。一般情況下,消費者不能控制或甚至并不知曉所提供的資源的確切位置,但可以在較高抽象程度上指定位置(例如國家、州或數據中心),因此具有位置無關性。
[0043]迅速彈性:能夠迅速、有彈性地(有時是自動地)部署計算能力,以實現快速擴展,并且能迅速釋放來快速縮小。在消費者看來,用于部署的可用計算能力往往顯得是無限的,并能在任意時候都能獲取任意數量的計算能力。
[0044]可測量的服務:云系統通過利用適于服務類型(例如存儲、處理、帶寬和活躍用戶帳號)的某種抽象程度的計量能力,自動地控制和優(yōu)化資源效用。可以監(jiān)測、控制和報告資源使用情況,為服務提供者和消費者雙方提供透明度。
[0045]服務模型如下:
[0046]軟件即服務(SaaS):向消費者提供的能力是使用提供者在云基礎架構上運行的應用??梢酝ㄟ^諸如網絡瀏覽器的瘦客戶機接口(例如基于網絡的電子郵件)從各種客戶機設備訪問應用。除了有限的特定于用戶的應用配置設置外,消費者既不管理也不控制包括網絡、服務器、操作系統、存儲、乃至單個應用能力等的底層云基礎架構。
[0047]平臺即服務(PaaS):向消費者提供的能力是在云基礎架構上部署消費者創(chuàng)建或獲得的應用,這些應用利用提供者支持的程序設計語言和工具創(chuàng)建。消費者既不管理也不控制包括網絡、服務器、操作系統或存儲的底層云基礎架構,但對其部署的應用具有控制權,對應用托管環(huán)境配置可能也具有控制權。
[0048]基礎架構即服務(IaaS):向消費者提供的能力是消費者能夠在其中部署并運行包括操作系統和應用的任意軟件的處理、存儲、網絡和其他基礎計算資源。消費者既不管理也不控制底層的云基礎架構,但是對操作系統、存儲和其部署的應用具有控制權,對選擇的網絡組件(例如主機防火墻)可能具有有限的控制權。
[0049]部署模型如下:
[0050]私有云:云基礎架構單獨為某個組織運行。云基礎架構可以由該組織或第三方管理并且可以存在于該組織內部或外部。
[0051]共同體云:云基礎架構被若干組織共享并支持有共同利害關系(例如任務使命、安全要求、政策和合規(guī)考慮)的特定共同體。共同體云可以由共同體內的多個組織或第三方管理并且可以存在于該共同體內部或外部。
[0052]公共云:云基礎架構向公眾或大型產業(yè)群提供并由出售云服務的組織擁有。
[0053]混合云:云基礎架構由兩個或更多部署模型的云(私有云、共同體云或公共云)組成,這些云依然是獨特的實體,但是通過使數據和應用能夠移植的標準化技術或私有技術(例如用于云之間的負載平衡的云突發(fā)流量分擔技術)綁定在一起。
[0054]云計算環(huán)境是面向服務的,特點集中在無狀態(tài)性、低耦合性、模塊性和語意的互操作性。云計算的核心是包含互連節(jié)點網絡的基礎架構。
[0055]現在參照圖1,示出了云計算節(jié)點示例的示意圖。云計算節(jié)點10僅僅是適當云計算節(jié)點的一個示例,并且不旨在就此處描述的本發(fā)明實施例的功能或者使用范圍提出任何限制。無論如何,云計算節(jié)點10能夠被實現和/或執(zhí)行如前所述的功能中的任何一個。圖1也可以表示能夠執(zhí)行和/或實現此處描述的方法的任務和/或功能的計算基礎結構。
[0056]云計算節(jié)點10具有計算機系統/服務器12,其可與眾多其它通用或專用計算系統環(huán)境或配置一起操作。眾所周知,適于與計算機系統/服務器12 —起操作的計算系統、環(huán)境和/或配置的例子包括但不限于:個人計算機系統、服務器計算機系統、瘦客戶機、厚客戶機、手持或膝上設備、基于微處理器的系統、機頂盒、可編程消費電子產品、網絡個人電腦、小型計算機系統、大型計算機系統和包括上述任意系統的分布式云計算技術環(huán)境,等
坐寸ο
[0057]計算機系統/服務器12可以在由計算機系統執(zhí)行的計算機系統可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括執(zhí)行特定的任務或者實現特定的抽象數據類型的例程、程序、目標程序、組件、邏輯、數據結構等。計算機系統/服務器12可以在通過通信網絡鏈接的遠程處理設備執(zhí)行任務的分布式云計算環(huán)境中實施。在分布式云計算環(huán)境中,程序模塊可以位于包括存儲設備的本地或遠程計算系統存儲介質上。
[0058]如圖1中所示,云計算節(jié)點10中的計算機系統/服務器12以通用計算設備的形式示出。計算機系統/服務器12的組件可以包括但不限于:一個或者多個處理器或者處理單元16、系統存儲器28以及將包括系統存儲器28的各種系統組件耦合至處理器16的總線18。在實施例中,如此處更為詳細的描述,計算機系統/服務器12包括存儲管理引擎80(也稱為“存儲器能量優(yōu)化器”(EOFM))或者與其通信。
[0059]總線18表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉例來說,這些體系結構包括但不限于工業(yè)標準體系結構(ISA)總線,微通道體系結構(MAC)總線,增強型ISA總線、視頻電子標準協會(VESA)局域總線以及外圍組件互連(PCI)總線。
[0060]計算機系統/服務器12典型地包括多種計算機系統可讀介質。這些介質可以是能夠被計算機系統/服務器12訪問的任意可獲得的介質,包括易失性和非易失性介質,可移動的和不可移動的介質。
[0061]系統存儲器28可以包括易失性存儲器形式的計算機系統可讀介質,例如隨機存取存儲器(RAM)30和/或高速緩存存儲器32。計算機系統/服務器12可以進一步包括其它可移動/不可移動的、易失性/非易失性計算機系統存儲介質。僅作為舉例,存儲系統34可以用于讀寫不可移動的、非易失性磁介質(圖1未顯示,通常稱為“硬盤驅動器”)。盡管圖1中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅動器,以及對可移動非易失性光盤(例如⑶-ROM,DVD-ROM或者其它光介質)讀寫的光盤驅動器。在這些情況下,每個驅動器可以通過一個或者多個數據介質接口與總線18相連。存儲器28可以包括至少一個程序產品,該程序產品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。
[0062]與操作系統、一個或者多個應用程序、其它程序模塊和程序數據一樣,具有一組(至少一個)程序模塊42的程序/實用程序40可以通過示例而并非限制的方式存儲在存儲器28中。操作系統、一個或者多個應用程序、其它程序模塊和程序數據或者其某種組合可以包括網絡環(huán)境的實現。程序模塊42通常完成如此處描述的本發(fā)明的實施例的功能和/或方法。例如,可以將存儲管理引擎80的一些或者全部功能實現為程序模塊42中的一個或者多個。另外,可以將存儲管理引擎80實現為單獨的專用處理器或者單個或若干處理器以提供此處描述的功能。作為示例,可以在例如圖1中示出的駐留于任何計算系統中的圖形用戶接口(⑶I)(例如,顯示器24)中實現存儲管理引擎80。顯示器24可以包括例如鍵盤、鼠標和/或觸摸屏的用戶接口。
[0063]在實施例中,存儲管理引擎80使用利用率分析在云環(huán)境和傳統環(huán)境中管理存儲器利用率。在實施例中,存儲管理引擎80可以駐留于存儲系統34中;例如,IBM ?Blue Stack ? (在美國和/或世界范圍內,IBM和Blue stack是國際商用機
器的商標)或者獨立軟件供應商(ISV)數據庫服務器。在實現中,存儲管理引擎80在存儲系統中管理空間,其中開發(fā)者和/或管理員使用具有一定長度的字符串字段定義模式,并且并非所有分配長度(按照模式定義的長度)都被記錄中的每個條目使用??蛇x地,如此處更詳細地討論的,當必要時,存儲管理引擎80可以將額外空間分配至字符串字段。
[0064]在實施例中,存儲管理引擎80可以基于用戶的許可管理未使用的空間。這通過維持管理模式的空間的實際利用率的跟蹤(至少部分地)來完成。更具體地,在實現中,存儲管理引擎80包括內部映射器,該內部映射器以基于范圍的格式(例如,起始位置、長度等)維持關于未使用空間的信息并且將該信息映射至虛擬表。以這種方式,存儲管理引擎80可以以動態(tài)方式使用虛擬表中的可用空間。在進一步的實施例中,存儲管理引擎80可以創(chuàng)建可變長度字符字段以更有效地在定義模式內使用空間。
[0065]在更具體的實施例中,可操作、構建和/或設計存儲管理引擎80用以提供下列功倉泛:
[0066]跟蹤相對于保留空間的實際使用的存儲器空間,并且當需要時,將未使用的空間分配至一個或者多個虛擬表,或者從一個或者多個虛擬表分配未使用的空間;
[0067]當由用戶觸發(fā)時,顯示針對一段時間利用的實際空間和能量(參見例如,圖5);
[0068]允許用戶選擇節(jié)省的百分比和內部補充未使用空間,從而節(jié)省空間和成本;
[0069]允許用戶定義哪個字段和/或特定字段內的空間可以或者不可以被釋放用以在其它地方利用;以及
[0070]容易看出實際的預留的存儲器和/或未使用的存儲器(參見,例如,附圖6)。
[0071]相應地,通過實現本發(fā)明的存儲管理引擎80,現在有可能克服在維持這種未使用存儲器和/或存儲空間時低效的存儲器利用和相關的能量耗費的基本問題。就能量消耗而言,由于存儲系統(例如,數據庫)不再需要被消耗用以在存儲器或外部存儲設備中保持那些未使用的空間,因此將節(jié)省大量的能量(即,電力)。
[0072]計算機系統/服務器12還可以與一個或者多個外部設備14 (例如鍵盤、指示設備、顯示器24等)、使用戶能夠與計算機系統/服務器12交互的一個或者多個設備、和/或使計算機系統/服務器12能夠與一個或者多個其它計算設備通信的任何設備(例如網卡、調制解調器等)通信。這種通信可以通過I/O接口 22發(fā)生。而且,計算機系統/服務器12可以通過網絡適配器20與一個或者多個網絡(例如局域網(LAN)、一般廣域網(WAN)和/或公共網絡(例如,因特網))通信。如所描繪的,網絡適配器20通過總線18與計算機系統/服務器12的其它組件通信。應當理解,盡管未示出,其它硬件和/或軟件組件可以與計算機系統/服務器12結合使用。示例包括,但不限于:微代碼、設備驅動器、冗余處理單元、夕卜部磁盤驅動器陣列、RAID (廉價磁盤冗余陣列或者獨立磁盤冗余陣列)系統、磁帶驅動器和數據存檔存儲系統等。
[0073]下面將參照根據本發(fā)明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述本發(fā)明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些指令在通過計算機或其它可編程數據處理裝置的處理器執(zhí)行時,創(chuàng)建了實現流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0074]也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令使得計算機、其它可編程數據處理裝置、或其他設備以特定方式工作,從而,存儲在計算機可讀介質中的指令就產生出包括實現流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品。
[0075]也可以將計算機程序指令加載至計算機、其它可編程數據處理裝置或者其它設備上以使得在計算機、其它可編程裝置或者其它設備上執(zhí)行一系列操作步驟,以產生計算機實現過程,從而在計算機或者其它可編程裝置上執(zhí)行的指令提供用于實現流程圖和/或框圖中的一個或者多個方框中規(guī)定的功能/動作的過程。
[0076]現在參考圖2,其中顯示了示例性的云計算環(huán)境50。如圖所示,云計算環(huán)境50包括云計算消費者使用的本地計算設備可以與其相通信的一個或者多個云計算節(jié)點10,本地計算設備例如可以是個人數字助理(PDA)或移動電話54A,臺式電腦54B、筆記本電腦54C和/或汽車計算機系統54N。云計算節(jié)點10之間可以相互通信??梢栽诎ǖ幌抻谌缟纤龅乃接性?、共同體云、公共云或混合云或者它們的組合的一個或者多個網絡中將云計算節(jié)點10進行物理或虛擬分組(圖中未顯示)。這樣,云的消費者無需在本地計算設備上維護資源就能請求云計算環(huán)境50提供的基礎架構即服務(IaaS)、平臺即服務(PaaS)和/或軟件即服務(SaaS)。應當理解,圖2顯示的各類計算設備54A-N僅僅是示意性的,云計算節(jié)點10以及云計算環(huán)境50可以與任意類型網絡上和/或網絡可尋址連接的任意類型的計算設備(例如使用網絡瀏覽器)通信。
[0077]現在參考圖3,其中顯示了云計算環(huán)境50 (圖2)提供的一組功能抽象層。首先應當理解,圖3所示的組件、層以及功能都僅僅是示意性的,本發(fā)明的實施例不限于此。如圖3所示,提供下列層和對應功能:
[0078]硬件和軟件層60包括硬件和軟件組件。硬件組件的例子包括:主機,例如IBM? zSeries?系統;基于Risc (精簡指令集計算機)體系結構的服務器,例如
IBM pSeries? 系統;ibm xSeries? 系統;ibm BladeCenter? 系統;存儲設備;網絡
和網絡組件。軟件組件的例子包括:網絡應用服務器軟件,例如ibm WebSphere?應用
服務器軟件;數據庫軟件,例如IBM DB2?.數據庫軟件。(IBM, zSeries, pSeries, xSeries,BladeCenter, WebSphere以及DB2是國際商業(yè)機器公司在全世界各地的注冊商標)。
[0079]虛擬層62提供一個抽象層,該層可以提供下列虛擬實體的例子:虛擬服務器、虛擬存儲、虛擬網絡(包括虛擬私有網絡)、虛擬應用和操作系統,以及虛擬客戶端。
[0080]在一個示例中,管理層64可以提供下述功能:資源供應功能:提供用于在云計算環(huán)境中執(zhí)行任務的計算資源和其它資源的動態(tài)獲取;計量和定價功能:在云計算環(huán)境內對資源的使用進行成本跟蹤,并為此提供帳單和發(fā)票。在一個例子中,該資源可以包括應用軟件許可。安全功能:為云的消費者和任務提供身份認證,為數據和其它資源提供保護。用戶門戶功能:為消費者和系統管理員提供對云計算環(huán)境的訪問。服務水平管理功能:提供云計算資源的分配和管理,以滿足必需的服務水平。服務水平協議(SLA)計劃和履行功能:為根據SLA預測的對云計算資源未來需求提供預先安排和供應。
[0081]工作負載層66提供可以利用云計算環(huán)境的功能的示例??梢杂稍搶犹峁┑墓ぷ髫撦d和功能的示例包括:映射和導航、軟件開發(fā)和生命周期管理、虛擬教室教育傳送、數據分析處理、交易處理和未使用空間的管理。根據本發(fā)明的各方面,未使用空間工作負載/功能的管理操作以執(zhí)行此處描述的過程中的一個或多個,包括但不限于:
[0082]跟蹤相對于保留和/或未使用空間實際使用的存儲器空間,并且當需要時,將未使用的空間分配至一個或者多個虛擬表,或者從一個或者多個虛擬表分配未使用的空間;
[0083]當由用戶觸發(fā)時,顯示針對一段時間利用的實際空間和能量;
[0084]允許用戶選擇節(jié)省的百分比和內部利用未使用空間,從而節(jié)省空間和成本;
[0085]允許用戶定義哪個字段和/或特定字段內的空間可以或者不可以被釋放用以在其它地方利用;以及
[0086]容易形象化實際相對預留的存儲器。
[0087]本領域的技術人員應當理解,本發(fā)明的方面(包括此處提供的存儲管理引擎80和功能)可以體現為系統、方法或者計算機程序產品。相應地,本發(fā)明的方面可以采用全部硬件實施例、全部軟件實施例(包括固件、駐留軟件、微代碼等)或者組合軟件和硬件方面的實施例的形式,它們全部在此可以通稱為“電路”、“模塊”或“系統”。此外,本發(fā)明的方面可以采用體現在一個或者多個計算機可讀介質中的計算機程序產品的形式,所述計算機可讀介質具有體現在其中的計算機可讀程序代碼。
[0088]可以采用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者上述的任意的合適組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括以下:具有一條或多條導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式光盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統、裝置或者器件使用或者與其結合使用。
[0089]計算機可讀的信號介質可以包括例如在基帶中或者作為載波一部分傳播的數據信號,其中承載了被體現的計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統、裝置或者器件使用或者與其結合使用的程序。[0090]體現在計算機可讀介質上的程序代碼可以用任何適當的介質傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0091]可以以一種或多種程序設計語言的任意組合來編寫用于執(zhí)行為本發(fā)明的方面操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言一諸如Java、Smalltalk、C++等,以及常規(guī)的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一包括局域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0092]圖4示出了實現本發(fā)明的各方面的框圖。具體地,在圖4中,示出了在存儲系統34中實現的存儲管理引擎80。例如,存儲系統34可以是任何數據庫系統。存儲管理引擎80的功能可以與包括任何類型用戶接口(例如,鍵盤、鼠標和/或觸摸屏實現)的顯示設備24相連接。
[0093]在非限制性示例性實施例中,存儲管理引擎80將監(jiān)控由數據庫管理者或者管理員創(chuàng)建的表IOOaUOOb和100c。盡管示出了三個表,如由數據庫管理員針對特定的數據庫配置定義的,本領域的技術人員應當理解數據庫可以包括任何數量的表,具有任何數量字符長度的任何數量字段。在實施例中,表IOOa為用戶信息定義了字段,例如:除標識符(identifier)之外,還有名字(first name)、中間名(middle name)和姓氏(last name)。在實施例中,根據數據庫管理者的定義,定義字段中的每一個可以包括一定字符長度。例如在表 IOOa 中,first name=30、middle name=30> last name=50 以及 identifier=40。表100b為用戶信息定義字段,其包括,例如,driver license (駕照)=50、passport (護照)=30、social security number (社會保險號)=50 以及 senior citizen number (老年市民號)=40。表IOOc為用戶地址定義字段,其包括,例如,door number (門牌號)=50、streetfirst (街道名 I) =30> street middle (街道名 2) =50、city (城市)=40、postcode (郵編)=10 以及 country (國家)=50。
[0094]本領域的技術人員應當理解,可以設計每一個表的每一個字段以提供足夠的空間給數據條目;然而,數據庫管理員為了降低風險為這些字段中的每一個提供比典型地需要的空間更多的空間是很常見的。同樣地,數據庫將具有可用(例如,未使用的)空間是常見的,該可用空間現在可以通過實現如下面進一步描述的本發(fā)明被分配給其它需要。具體地,仍然參照圖4,存儲管理引擎80將創(chuàng)建將從表IOOa-1OOc (例如,100a_100n)收集信息的跟蹤表110。更具體地,跟蹤表110將跟蹤所有使用的(或者未使用的)空間(例如,表IOOa-1OOc的輸入記錄),包括用于每個字段的字符量。例如,在所示的圖示中,跟蹤表110記錄了下列空間(例如,字符長度)可用于用戶信息(表100a):first name=15、middlename=5>last name=30以及identifier=20。還不出了可用于表100b和100c的額外空間。
[0095]通過減法,存儲管理引擎80將確定存在可用于從表100a再分配的未使用空間;也就是說,基于表IOOa中定義的原始字符長度,下列是使用的空間:first name=15、middlename=25、last name=20以及identifier=20。在實施例中,顯示器24可以在視覺上表示相對于保留的存儲器的未使用空間,以及針對一段時間利用的實際空間和能量。(參見,例如圖5和6)
[0096]在實施例中,使用顯示器和附隨的用戶接口,用戶現在可以為了管理表IOOa-1OOc的未使用的空間選擇某些選項。例如,用戶可以選擇選項以使用表IOOa-1OOc的一定比例的未使用空間。在圖4的說明性示例中,例如,基于用戶選擇的選項,存儲管理引擎80可以從可用空間創(chuàng)建虛擬表115。為了做到這一點,內部映射器120將把表IOOa-1OOc中的未使用的空間映射至虛擬表115(例如,標記為客戶聯系方式(Customer Contact))。因此,可以定義虛擬表115以包括虛擬地映射至表IOOa-1OOc內的可用空間的字段。在實施例中,內部映射器120可以通過分割機構映射需要的空間,例如,合并兩個可用空間以滿足一個記錄需要。本領域的技術人員應當理解,為了更有效地使用能量,可以在每個時間表的非高峰時間期間或者當峰值負荷降低時創(chuàng)建虛擬表。
[0097]在進一步的實施例中,本發(fā)明的處理可以通過動態(tài)授權處理自動操作。在動態(tài)授權處理中,可以為表IOOa-1OOc中的任何一個的某些字段配置最小值和增量值。例如,對于表中的每個字段,管理員可以為字段設置大小的上限和下限,其允許系統通過動態(tài)創(chuàng)建/更改處理動態(tài)地改變字段的大小。這允許數據庫管理員基于由數據庫管理員(或者開發(fā)者)定義的參數首先創(chuàng)建具有最小長度的字段和增加字段的大小??梢詾榇鎯ζ鞯姆峙鋽U展該類型的處理(例如算法)以變得復雜,并且因此節(jié)省更多的能量。
[0098]作為非限制性說明性示例:
[0099]CREATE TABLE CustomerAddress
[0100](
[0101]DoorNumber varchar(255)lower(50)increment(25),
[0102]StreetFirst varchar (255)lower(30)increment(2),
[0103]StreetMiddle varchar(255)lower(50)increment(10),
[0104]City varchar(255)lower(40)increment(10),
[0105]PostCode (varchar 10),
[0106]Country varchar(50)
[0107])
[0108]在上述示例中,將首先創(chuàng)建大小為50的DoorNumbeK門牌號)。當針對Doornumber字段的插入請求到來時,數據庫可以更改其自身以使字段的大小增加25或者它可以創(chuàng)建稱為CustomerAddressTMP的臨時表,其允許數據庫具有帶有DoorNumber varchar (75)或者DoorNumber (255)的臨時表。這將允許數據庫或者分配全字段或者增加字段。數據庫還可以在每個時間表的非高峰時間期間或者當峰值負荷降低時合并表格。在實施例中,一些字段可以不是可變的,例如,PostCode (郵編)和Country (國家)字段。相反,由于具有預設的、不可變的字段長度可以是有利的,因此這些字段是硬集合并且不能更改。
[0109]動態(tài)授權處理也可以與虛擬表的使用一起實現。例如,在擴容某個字段之后,跟蹤表可以用于確定是否有任何可用空間,并且內部映射器120可以映射定義模式內的可用(例如,未使用的)空間至虛擬表。以這種方式,由于通過本發(fā)明的擴容處理的增加,可以通過分配這種空間至虛擬表來使用任何未使用的空間。這將最小化需要維持未使用空間的任何能量消耗。
[0110]相應地,在本發(fā)明的實施例中,現在可以由云(通過分布式和網格計算)提供和/或利用資源共享以有效和高效地管理資源利用。例如,使用本發(fā)明的處理,現在有可能以上述處理指定的動態(tài)方式分配數據空間。相應的,這導致了存儲器和/或存儲裝置和相關維持功率的適當利用,以及允許更改基于現貨供應的產品,該基于現貨供應的產品默認配備不能高效管理和使用的預定義數據庫表,從而影響有效資源利用和相關功率。
[0111]圖5示出了針對一段時間利用的實際空間和能量的顯示。更具體地,圖5表示如何能再使用利用水平值和存儲器,以及如何隨時間線波動。應當理解,圖5的顯示可以用于允許用戶選擇節(jié)省的百分比,以使得本發(fā)明的系統和處理可以在內部利用未使用的空間,從而節(jié)省空間和成本。該顯示還可以用于確定在每個時間表的非高峰時間期間或者當峰值負荷降低時何時合并表格。
[0112]在一個實現中,圖5可以表示隨運行時間的值;定義的表需要的存儲器,以及利用率水平是多少。在實施例中,利用率水平將提供關于未使用存儲器的多少百分比被利用于其它需求的管理員信息。作為示例,0%的利用率水平可以指基本上禁用的EOFM以及100%意味著所有未使用的存儲器都由本發(fā)明所利用。在實施例中,EOFM將從內部跟蹤器收集關于存儲器(如下面提到的)的各種值的數據。例如,可以跟蹤下列信息:
[0113]( i )定義的表需要的存儲器;
[0114](ii)實際上由EOFM利用以滿足其它需要的存儲器;以及
[0115](iii)在其它地方仍然可以被再次使用的存儲器。
[0116]在實施例中,用戶可以使用本發(fā)明的圖形用戶接口(⑶I)(例如顯示器24)以改變利用率水平(例如,從0%-100%),其中O表示未使用的存儲器不用于虛擬表,以及100表示可以從定義的表使用所有未使用的存儲器。因此,根據本發(fā)明的各方面,管理員可以為EOFM設置存儲器利用率水平是可能的。
[0117]圖6示出了保留的存儲器(例如,在圖4中,可以分配至如圖所示虛擬表的存儲器)與實際使用的存儲器的顯示。應當理解,圖6的顯示可以用于允許用戶選擇應當和不應當映射至虛擬表的百分比或者具體未使用的分配區(qū)域。該顯示也可以用于確定在每個時間表的非高峰時間期間或者當峰值負荷降低時何時合并表格。
[0118]更具體地,在圖6中,非陰影區(qū)域表示可以分配給任何數量的表和/或功能的存儲器區(qū)域。另一方面,淺陰影區(qū)域表示分配給具體表(例如,圖4中示出的customer address(客戶地址)表)并且在使用中的存儲器區(qū)域;然而,深陰影區(qū)域表示分配給具體表(例如,圖4中示出的customer address (客戶地址)表)并且沒有在使用中的存儲器區(qū)域。在實施例中,這些未使用的分配區(qū)域可以表示全部未使用的字段或者字段內的若干字符,這些字符沒有被使用并且現在可以由存儲管理引擎分配和映射至虛擬表。以這種方式,本發(fā)明的系統和處理現在可以管理和高效使用未使用的分配區(qū)域。當確定在一個或多個特定表的特定字段內需要額外空間時,該表也可以用于增加值。
[0119]流程圖
[0120]圖7-9示出了用于執(zhí)行本發(fā)明的方面的示例性流程。例如,圖7-9的步驟可以在圖1-4的環(huán)境中的任何一 個中實現。圖中的流程圖和框圖圖示了根據本發(fā)明的各種實施例的系統、方法和計算機程序產品可能實現的架構、功能和操作。就此而言,流程圖或者框圖中的每個框可以表示模塊、代碼段或者部分代碼,其包括一個或多個用于實現(一個或者多個)指定邏輯功能的可執(zhí)行指令。還應當注意,在一些可替換的實現中,框中標注的功能可以不按圖中標注的順序發(fā)生。例如,實際上可基本上同時地執(zhí)行連續(xù)示出的兩個框,或者取決于所包含的功能,有時可以相反的順序執(zhí)行所述框。還應注意,框圖和/或流程圖圖示的每個框以及框圖和/或流程圖圖示的框的組合,可通過執(zhí)行指定功能或動作的基于專用硬件的系統或者專用硬件和計算機指令的組合來實現。
[0121]此外,本發(fā)明可以采用計算機程序產品的形式,所述計算機程序產品可從計算機可用的或計算機可讀的介質訪問,所述介質提供由計算機或者任何指令執(zhí)行系統使用或與其結合使用的程序代碼。軟件和/或計算機程序產品可以在圖1-4的環(huán)境中實現。出于此描述的目的,計算機可用或者計算機可讀介質可以是任何裝置,其可以包含、存儲、通信、傳播或傳送程序以用于由指令執(zhí)行系統、裝置或設備使用或者結合指令執(zhí)行系統、裝置或設備來使用。介質可以是電、磁、光、電磁、紅外或半導體系統(裝置或設備)或傳播介質。計算機可讀介質的例子包括半導體或固態(tài)存儲器、磁帶、可移除計算機磁盤、隨機訪問存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤當前的例子包括光盤-只讀存儲器(CD-ROM)、光盤-讀 / 寫(CD-R/W)和 DVD。
[0122]根據本發(fā)明的各方面,圖7描繪了用于在一個或多個定義的表中使用可用空間的示例性流程。在步驟700處,本發(fā)明的處理監(jiān)控或者跟蹤具有定義模式的一個或者多個表的一個或者多個定義字段內的空間。在步驟705處,處理創(chuàng)建一個或多個表內的所有可用空間的跟蹤器表。在步驟710處,本發(fā)明的處理確定每一個表的字段內哪些空間是可用的(例如未使用的)并且映射這些可用空間至虛擬表。在715處,虛擬表可以用記錄來填充。在720處,做出關于在(一個或者多個)原始定義的表中是否需要任何空間的判斷。如果需要,那么在步驟725處,本發(fā)明的處理將從虛擬表中釋放空間,以用于(一個或者多個)原始定義的表中。如果在步驟720處判斷是否定的,那么處理可以回到步驟700。在可選步驟730處,本發(fā)明的處理可以在每個時間表的非高峰時間期間或者當峰值負荷降低時合并表。處理接著可以回到步驟700。
[0123]圖8示出了根據本發(fā)明的各方面的動態(tài)授權處理的流程圖。在步驟800處,本發(fā)明的處理監(jiān)控或者跟蹤一個或多個定義的表(其具有空間的第一提供值)的字段內的空間。在步驟805處,做出關于一個或多個表內是否需要額外空間的判斷。如果不需要,那么處理將在步驟810處結束??蛇x地,處理可以繼續(xù)至圖7的步驟710。如果在一個或多個表的任何字段中需要額外空間,那么在步驟815處,處理將以預定的字符長度(例如,提供額外的25個字符)增加定義字段內的值。在步驟820處,可以在可用空間內用記錄填充表。步驟805-820可以重復。在可選步驟825處,本發(fā)明的處理可以在每個時間表的非高峰時間期間或者當峰值負荷降低時合并表。
[0124]圖9示出了根據本發(fā)明的各方面固定利用率水平的處理的示例性流程圖。更具體地,可以為實現本發(fā)明的EOFM的數據庫管理員提供圖9中示出的處理以固定利用率水平。在實施例中,可以在EOFM組件的前端上提供處理。在步驟900處,處理開始。在步驟905處,做出關于利用率是否將要改變的決定。如果不改變,那么處理在步驟910處結束。如果將要改變,那么在步驟915處,本發(fā)明的處理將提供利用率水平值。在步驟920處,做出關于利用率是否在預定的值的集合內(例如I和100)的判斷。如果是,利用率水平值將被傳遞到管理引擎,在步驟925處知道正在利用多少存儲器,以及多少存儲器仍然未使用并且可以利用。在實施例中,根據哪個管理引擎將試圖再使用未使用的存儲器,利用率水平值將作為參數。如果該值不在預定的值的集合之間,那么處理返回至步驟915。
[0125]在實施例中,服務提供商(例如解決方案集成商)可以提議執(zhí)行此處描述的處理。在該情況下,服務提供商可以創(chuàng)建、維護、部署、支持等計算機基礎結構,該計算機基礎結構為一個或多個客戶執(zhí)行本發(fā)明的處理步驟。例如,這些客戶可以是使用技術并且提供或者利用服務的任何企業(yè)。作為回報,服務提供商可以根據訂閱和/或費用協議向(一個或者多個)客戶收取費用,和/或服務提供商可以從廣告內容出售給一個或者多個第三方中收取費用。
[0126]以上已經描述了本發(fā)明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本【技術領域】的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術的改進,或者使本【技術領域】的其它普通技術人員能理解本文披露的各實施例。
【權利要求】
1.一種在包括硬件和軟件的組合的計算機基礎結構中實現的方法,所述方法包括: 確定空間在具有模式定義的一個或者多個表內可用,所述模式定義帶有具有預定長度的字符串字段; 創(chuàng)建虛擬表;以及 將所述可用空間映射至所述虛擬表以用于由一個或者多個記錄來填充。
2.根據權利要求1所述的方法,進一步包括創(chuàng)建跟蹤所述可用空間的跟蹤器表。
3.根據權利要求2所述的方法,其中所述跟蹤器表由減法創(chuàng)建。
4.根據權利要求1所述的方法,其中根據需要,通過釋放映射至所述虛擬表的用于所述一個或者多個表內的任何空間在使用端處提供按照所述模式定義的所有空間。
5.根據權利要求1所述的方法,進一步包括當所述一個或者多個表的一個或者多個字段需要額外空間時,增加所述一個或者多個表的值。
6.根據權利要求1所述的方法,進一步包括提供能夠映射至所述虛擬表的所述可用空間的一定百分比。
7.根據權利要求1所述的方法,進一步包括在每個時間表的非高峰時間期間或者當峰值負荷降低時合并所述一個或者多個表。
8.根據權利要求1所述的方法,進一步包括為所述一個或者多個表內需要的額外空間創(chuàng)建可變長度字符字段。
9.根據權利要求1所述的方法,進一步包括顯示針對一段時間利用的實際空間和能量。
10.根據權利要求1所述的方法,進一步包括在云環(huán)境中執(zhí)行權利要求1所述的步驟。
11.根據權利要求1所述的方法,其中服務提供商對所述計算機基礎結構進行創(chuàng)建、維護、配置和支持中的至少一個。
12.根據權利要求1所述的方法,其中權利要求1所述的步驟由服務提供商在訂閱、廣告和/或收費基礎上提供。
13.—種在硬件中實現并且包括計算機基礎結構的系統,能夠操作用于: 跟蹤一個或者多個定義表的字段內的空間; 創(chuàng)建所述一個或者多個定義表內所有可用空間的跟蹤器表; 創(chuàng)建虛擬表;以及 將所述可用空間映射至所述虛擬表。
14.根據權利要求13所述的系統,其中所述虛擬表用所述可用空間內的記錄填充。
15.根據權利要求13所述的系統,其中所述計算機基礎結構進一步能夠操作用于確定在所述一個或者多個定義表中需要額外空間以及釋放來自所述虛擬表的映射空間。
16.根據權利要求13所述的系統,其中所述計算機基礎結構進一步能夠操作用于在每個時間表的非峰值時間期間或者當峰值負荷降低時合并所述一個或者多個定義表。
17.根據權利要求13所述的系統,其中所述計算機基礎結構進一步能夠操作用于當需要額外空間時,增加所述一個或者多個定義表內字段的值。
18.—種存儲管理的方法,包括: 提供計算機基礎結構,能夠操作用于: 確定空間在具有模式定義的一個或者多個表內可用,所述模式定義帶有具有預定長度的字符串字段; 將所述可用空間映射至虛擬表以用于由一個或者多個記錄來填充;以及 根據需要,釋放映射至所述虛擬表的用于所述一個或者多個表內的任何空間。
19.根據權利要求18所述的方法,其中所述計算機基礎結構能夠操作用于在每個時間表的非峰值時間期間或者當峰值負荷降低時合并所述一個或者多個表。
20.一種用于存儲管理的計算機系統,所述系統包括: CPU、計算機可讀存儲器和計算機可讀存儲介質; 第一程序指令,用以確定空間在具有模式定義的一個或者多個表內可用,所述模式定義帶有具有預定長度的字符串字段; 第二程序指令,用以創(chuàng)建虛擬表; 第三程序指令,用以將所述可用空間映射至虛擬表以用于由一個或者多個記錄來填充;以及 第四程序指令,用以根據需要釋放映射至所述虛擬表的用于所述一個或者多個表內的任何空間, 其中所述第一、第二、第三和第四程序指令存儲在所述計算機可讀存儲介質上由所述CPU通過所述計算機可讀存 儲器執(zhí)行。
【文檔編號】G06F17/30GK103793457SQ201310529228
【公開日】2014年5月14日 申請日期:2013年10月31日 優(yōu)先權日:2012年10月31日
【發(fā)明者】A·庫馬拉, S·R·帕蒂爾, G·西瓦庫馬爾, M·A·特里, M·B·特雷瓦桑 申請人:國際商業(yè)機器公司