專利名稱::用于實時選擇壓縮操作的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明公開一般涉及計算機,更特別地,涉及計算環(huán)境中的壓縮操作的實時選擇。
背景技術(shù):
:在當前社會,計算機系統(tǒng)是十分普及的。計算機系統(tǒng)遍布工作場所、家庭和學(xué)校。計算機系統(tǒng)可包含用于處理和存儲數(shù)據(jù)的數(shù)據(jù)存儲系統(tǒng)或盤存儲系統(tǒng)。近年來,軟件和硬件技術(shù)均取得令人矚目的進展。通過新的技術(shù),增加了越來越多的功能,并且,更便于供這些電子裝置使用。通過最近的計算機技術(shù)引入的最值得注意的變化中的一個是包括圖像、視頻和音頻以增強計算機和電子裝置的能力。在多媒體時代,要處理的信息量大大增加。處理大的數(shù)據(jù)文件的一種流行方法是壓縮數(shù)據(jù)以供存儲或傳送。因此,處理非常大的數(shù)量的信息是要解決的關(guān)鍵問題。
發(fā)明內(nèi)容伴隨更快、更強大且更有效的存儲信息的方式的需求的不斷增加,存儲技術(shù)的優(yōu)化變?yōu)殛P(guān)鍵性挑戰(zhàn)。可為了傳送和/或存儲而壓縮邏輯數(shù)據(jù)對象(數(shù)據(jù)文件、圖像文件、數(shù)據(jù)塊等)。特別是當由于密集的中央處理單元(CPU)使用而使得壓縮操作的數(shù)量增加時,需要為每個數(shù)據(jù)組找到最佳壓縮操作(例如,產(chǎn)生大于或高于所限定的最小壓縮比的壓縮比的壓縮算法)。因此并且鑒于以上情況,提供用于實時選擇壓縮操作的各種示例性的方法、系統(tǒng)和計算機程序產(chǎn)品實施例。在一個實施例中,僅作為例子,根據(jù)所分配的成功因子將可用的壓縮操作初始化。為了確定壓縮操作中的至少一個是否產(chǎn)生大于最小壓縮比的壓縮比,測試可用的壓縮操作。應(yīng)用為了壓縮數(shù)據(jù)塊中的至少一個而實時選擇的可用的壓縮操作。附加的系統(tǒng)和計算機程序產(chǎn)品實施例被公開,并且提供了相關(guān)的優(yōu)點。除了以上的示例性的方法實施例以外,其它示例性的系統(tǒng)和計算機產(chǎn)品實施例被提供,并提供了相關(guān)的優(yōu)點。已經(jīng)提供了以上的
發(fā)明內(nèi)容以便以簡化的形式介紹對概念的選擇,在后面的具體實施方式中進一步描述所述概念。本
發(fā)明內(nèi)容不是要識別要求權(quán)利的主題的關(guān)鍵特征或基本特征,也不是要被用于幫助確定要求權(quán)利的主題的范圍。要求權(quán)利的主題不限于解決在
背景技術(shù):
中提出的任意或全部缺點的實現(xiàn)。下面將參照附圖更詳細地描述本公開的優(yōu)選實施方式。雖然附圖中顯示了本公開的優(yōu)選實施方式,然而應(yīng)該理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施方式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達給本領(lǐng)域的技術(shù)人員。在附圖中:圖1示出可以實現(xiàn)本發(fā)明的各方面的具有示例存儲裝置的計算機存儲環(huán)境;圖2示出表示可以實現(xiàn)本發(fā)明的各方面的計算機系統(tǒng)中的數(shù)據(jù)存儲系統(tǒng)的硬件結(jié)構(gòu)的示例性框圖;圖3示出用于計算成功因子的示例性框圖;圖4是示出用于在壓縮比大于最小壓縮比的情況下應(yīng)用壓縮比的示例性方法的流程圖;圖5是示出用于在壓縮比大于最小壓縮比的情況下選擇壓縮比的示例性方法的流程圖;以及圖6是示出用于通過使用壓縮操作列表應(yīng)用壓縮操作的示例性方法的流程圖。具體實施例方式如上所述,伴隨著對于更快、更強大且更有效的存儲信息的方式的需求的不斷增力口,存儲技術(shù)的優(yōu)化變?yōu)殛P(guān)鍵性的挑戰(zhàn)。對于特定的數(shù)據(jù)組,在存儲陣列中,專門化的壓縮算法可實現(xiàn)比通用的算法高的壓縮比。數(shù)據(jù)壓縮比可被用于量化通過數(shù)據(jù)壓縮算法產(chǎn)生的數(shù)據(jù)表示(data-representation)尺寸的減小。數(shù)據(jù)壓縮比可以是壓縮尺寸與未壓縮尺寸之間的比。壓縮比依賴于被存儲的數(shù)據(jù)。例如,對于圖像數(shù)據(jù)組使用圖像壓縮算法將產(chǎn)生高的壓縮比。另一方面,對于數(shù)據(jù)組中的視頻內(nèi)容,應(yīng)用完全不同的算法可增加存儲壓縮比。因此,當在存儲陣列中存儲了多個內(nèi)容類型(例如,聯(lián)合圖像專家組(JointPhotographicExpertsGroup,“JPEG”)、運動圖像專家組(MovingPictureExpertsGroup“MPEG”)、MPEG-3“MP3”、第三代合作項目文件格式(ThirdGenerationPartnershipProjectFileFormat,“3GP”)、標簽圖像文件格式(TaggedImageFileFormat,“TIFF”)、圖像互換格式(GraphicsInterchangeFormat,“GIF,,)、ZLIB和可移植網(wǎng)絡(luò)圖形(PortableNetworkGraphics,“PNG”))時,為每個數(shù)據(jù)組選擇最佳算法是關(guān)鍵的。在許多情況下,數(shù)據(jù)組內(nèi)容在壓縮操作中是未知的。例如,在不檢測內(nèi)容類型的情況下,塊存儲陣列可能不知道存儲于塊存儲陣列中的文件和文件類型。當內(nèi)容被嵌入其它文件中時,數(shù)據(jù)類型的內(nèi)容類型的檢測也可被隱藏。例如,word文檔可包含圖像和音頻內(nèi)容。在云存儲(blobstorage)中數(shù)據(jù)庫文件也可包含視頻,由于不能檢測數(shù)據(jù)組的內(nèi)容,因此,這也妨礙實現(xiàn)需要的壓縮比。相反,并且為了解決上述的低效率,所示實施例的機制(mechanism)用于產(chǎn)生一種方案,其通過獲得對如何構(gòu)建給定文件的理解并從一組算法(例如,壓縮操作)中選擇對于目標數(shù)據(jù)組最有效的一個,來橋接應(yīng)用與單純存儲平臺之間的間隙。通過理解特定應(yīng)用文件/塊的布局,本發(fā)明的機制智能決定選擇產(chǎn)生比在目標數(shù)據(jù)組上限定的最小接受壓縮比大的壓縮比的最佳壓縮算法以供最佳存儲之用。為了實現(xiàn)這些目標,在一個實施例中,從用于壓縮數(shù)據(jù)塊的列表中選擇的至少一個壓縮操作被應(yīng)用于數(shù)據(jù)組。壓縮操作中所選擇的至少一個中的一個具有最高的壓縮比。應(yīng)當注意,本發(fā)明的機制尋求選擇實現(xiàn)比限定的最小壓縮比大或高的壓縮比的壓縮操作(例如,壓縮算法)。本發(fā)明的機制可能未必找到、獲得或定位產(chǎn)生最高壓縮比的壓縮操作。因此,可能不必檢查和測試每一個可用的壓縮比。轉(zhuǎn)向圖1,示出了可實現(xiàn)本發(fā)明的各方面的示例計算機系統(tǒng)10。計算機系統(tǒng)10包含與大容量存儲設(shè)備14和存儲器設(shè)備16連接的中央處理單元(CPU)12。大容量存儲設(shè)備可包含可以以獨立盤(RAID)的冗余陣列配置的硬盤驅(qū)動(HDD)設(shè)備??梢栽谖挥谙到y(tǒng)10或別處的設(shè)備14上執(zhí)行進一步描述的后備操作。存儲器設(shè)備16可包含諸如電可擦可編程只讀存儲器(EEPROM)的存儲器或大量的有關(guān)裝置。存儲器設(shè)備16和大容量存儲設(shè)備14通過信號承載介質(zhì)與CPU12連接。另外,CPU12通過通信端口18與具有附連的多個附加計算機系統(tǒng)22和24的通信網(wǎng)絡(luò)20連接。計算機系統(tǒng)10可包含用于計算機系統(tǒng)10的每個單個部件的一個或更多個處理器裝置(例如,CPU12)和附加的存儲器設(shè)備16,以運行和執(zhí)行這里描述的每個操作以實現(xiàn)本發(fā)明的目的。圖2是示出根據(jù)本發(fā)明的計算機系統(tǒng)中的數(shù)據(jù)存儲系統(tǒng)的硬件結(jié)構(gòu)的示例性框圖200。示出了主機計算機210、220、225,其每一個作為數(shù)據(jù)存儲系統(tǒng)200的一部分,可以用作為用于執(zhí)行數(shù)據(jù)處理的中央處理單元。主機(物理或虛擬的設(shè)備)210、220和225可以是數(shù)據(jù)存儲系統(tǒng)200中的用于實現(xiàn)本發(fā)明的目的的一個或更多個新的物理裝置或邏輯裝置。在一個實施例中,僅作為例子,數(shù)據(jù)存儲系統(tǒng)200可實現(xiàn)為IBMSystemStorageDS8000。網(wǎng)絡(luò)連接260可以是光纖信道構(gòu)造(fibrechannelfabric)、光纖信道點對點鏈接、以太網(wǎng)構(gòu)造上的光纖信道構(gòu)造或點對點鏈接、FICON或ESCONI/O接口、任何其它的I/O接口類型、無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、LAN、WAN、異質(zhì)、同質(zhì)、公共(S卩,因特網(wǎng))、私人或它們的任意組合。主機201、220和225可以是局部的或者分布在一個或更多個位置中,并且可配有到存儲裝置控制器240的任何類型的構(gòu)造(或構(gòu)造信道)(圖2未示出)或網(wǎng)絡(luò)適配器260,諸如光纖信道、FIC0N、ESC0N、以太網(wǎng)、光學(xué)纖維、無線或共軸適配器。因此,數(shù)據(jù)存儲系統(tǒng)200配有用于通信的適當?shù)臉?gòu)造(圖2未示出)或網(wǎng)絡(luò)適配器260。數(shù)據(jù)存儲系統(tǒng)200在圖2中被示為包含存儲裝置控制器240和存儲裝置230。為了有利于更清楚地理解這里描述的方法,存儲裝置控制器240在圖2中被示為單個處理單元,包含在后面更詳細地描述的微處理器242、系統(tǒng)存儲器243和非易失性存儲裝置(“NVS”)216。應(yīng)當注意,在一些實施例中,存儲裝置控制器240包含多個處理單元,每個具有它們自己的處理器集合體和系統(tǒng)存儲器,并且通過數(shù)據(jù)存儲系統(tǒng)200內(nèi)的專用網(wǎng)絡(luò)被互連。存儲裝置230可包含通過存儲網(wǎng)絡(luò)與存儲裝置控制器240連接的一個或更多個諸如存儲陣列的存儲設(shè)備。在一些實施例中,可以在回路架構(gòu)中連接包含于存儲裝置230中的裝置。存儲裝置控制器240管理存儲裝置230,并且有利于處理希望針對存儲裝置230的寫入和讀取請求。存儲裝置控制器240的系統(tǒng)存儲器243存儲處理器242可訪問的程序指令和數(shù)據(jù),以便執(zhí)行與管理存儲裝置230相關(guān)的功能和方法步驟并執(zhí)行計算機存儲環(huán)境中的快照操作(snapshotoperation)的本發(fā)明的步驟和方法。在一個實施例中,系統(tǒng)存儲器243可包含用于執(zhí)行包含這里描述的方法和操作的計算機存儲環(huán)境中的舍棄掃描的操作軟件250、與其相關(guān)或者通信。如圖2所示,系統(tǒng)存儲器243還可包含這里也稱為“高速緩存存儲器”的用于存儲裝置230的高速緩存245或與其通信,該高速緩存245用于緩存分別參照寫入/讀取請求和它們的相關(guān)數(shù)據(jù)的“寫入數(shù)據(jù)”和“讀取數(shù)據(jù)”。在一個實施例中,在系統(tǒng)存儲器243外面的設(shè)備中分配高速緩存245,然而該高速緩存245保持可由微處理器242訪問,并且除了實施這里描述的操作以外,還可用于提供防止數(shù)據(jù)丟失的額外安全。在一些實施例中,高速緩存245通過易失性存儲器和非易失性存儲器來實現(xiàn),并且為了增強數(shù)據(jù)存儲系統(tǒng)200的性能而通過局部總線(圖2未示出)與微處理器242耦合。包含于數(shù)據(jù)存儲裝置控制器中的NVS216可由微處理器242訪問,并且用于為在其它附圖中描述的本發(fā)明的操作和執(zhí)行提供附加的支持。NVS216也可被稱為“永久”高速緩存或“高速緩存存儲器”,并且通過可以利用或者可以不利用外部電力以保持存儲于其中的數(shù)據(jù)的非易失性存儲器來實現(xiàn)。出于適于實現(xiàn)本發(fā)明的目標的目的,NVS可存儲于高速緩存245中或者通過其被存儲。在一些實施例中,諸如電池的備用電源(圖2未示出)向NVS216供給足夠的電力以在數(shù)據(jù)存儲系統(tǒng)200存在電力損失的情況下保持存儲于其中的數(shù)據(jù)。在某些實施例中,NVS216的容量小于等于高速緩存245的總?cè)萘?。存儲裝置230可在物理上包含一個或更多個存儲器件,諸如存儲陣列。存儲陣列是諸如硬盤的各單個存儲器件的邏輯分組。在某些實施例中,存儲裝置230包含JB0D(JustaBunchOfDisks,磁盤簇)陣列或RAID(獨立盤的冗余陣列)陣列。物理存儲陣列的集合可進一步被組合以形成層級(rank),其使物理存儲裝置與邏輯配置不相關(guān)。層級中的存儲空間可被分配到限定在寫入/讀取請求中規(guī)定的存儲位置的邏輯體積(logicalvolume)中。在一個實施例中,僅作為例子,圖2所示的存儲系統(tǒng)可包含邏輯體積,或者簡稱為“體積”,可具有不同類型的分配。存儲裝置230a、230b和230η被示為數(shù)據(jù)存儲系統(tǒng)200中的層級,并且在這里被稱為層級230a、230b和230η。層級可以是數(shù)據(jù)存儲系統(tǒng)200本地的,或者可位于物理遠程位置上。換句話說,局部存儲裝置控制器可與遠程存儲裝置控制器連接,并且管理遠程位置上的存儲裝置。層級230a被示為配有兩個整個體積234和236以及一個部分體積232a。層級230b被示為具有另一部分體積232b。因此,體積232跨層級230a和230b被分配。層級230η被示為完全分配給體積238—即,層級230η指的是用于體積238的整個物理存儲裝置。從以上的例子,可以理解,層級可被配置為包含一個或更多個部分和/或整個體積。體積和層級可進一步被分成所謂的“軌道(track)”,該軌道代表存儲裝置的固定塊。軌道因此與給定的體積相關(guān),并且可被賦予給定的層級。存儲裝置控制器240可包含壓縮操作模塊255和壓縮操作列表模塊257。壓縮操作模塊255和壓縮操作列表模塊257可與存儲裝置控制器240、主機210、220、225和存儲設(shè)備230中的每一個部件結(jié)合工作。壓縮操作模塊255和壓縮操作列表模塊257均可在結(jié)構(gòu)上是一個完整的模塊,并且可與其它的單個模塊相關(guān)和/或包含在一起。壓縮操作模塊255和壓縮操作列表模塊257也可位于高速緩存245或其它部件中。存儲裝置控制器240包含用于控制對于主機計算機210、220、225的光纖信道協(xié)議的控制開關(guān)(controlswitch)241;用于控制存儲裝置控制器240的全部的微處理器242;用于存儲用于控制存儲裝置控制器240的操作的微程序(操作軟件)250、用于控制的數(shù)據(jù)和后面描述的每個表的非易失性控制存儲器243;用于暫時存儲(緩存)數(shù)據(jù)的高速緩存245;和用于幫助高速緩存245讀取和寫入數(shù)據(jù)的緩沖器244;用于控制用于控制去向/來自存儲設(shè)備230的數(shù)據(jù)傳送的協(xié)議的控制開關(guān)241和可以設(shè)定其中信息的壓縮操作模塊255和壓縮操作列表模塊257。多個緩沖器244可通過本發(fā)明實現(xiàn)為幫助進行這里描述的操作。在一個實施例中,主機計算機或一個或更多個物理或虛擬設(shè)備210、220、225和存儲裝置控制器240通過作為接口的網(wǎng)絡(luò)適配器(可以是光纖信道)260—即,通過稱為“構(gòu)造”的開關(guān)——被連接。在一個實施例中,描述圖2所示的系統(tǒng)的操作。微處理器242可控制存儲器243以存儲來自主機設(shè)備(物理的或虛擬的)210的命令信息和用于識別主機設(shè)備(物理的或虛擬的)210的信息??刂崎_關(guān)241、緩沖器244、高速緩存245、操作軟件250、微處理器242、存儲器243、NVS216、壓縮操作模塊255和壓縮操作列表模塊257相互通信,并且可以是分開的或各單個部件(一個或多個)。并且,可將諸如操作軟件250的數(shù)個部件,如果不是全部部件的話,與存儲器243包括在一起。所示的設(shè)備內(nèi)的部件中的每一個可被鏈接在一起,并且可出于適于本發(fā)明的目的而相互通信。圖3示出用于計算成功因子的示例性框圖300。在一個實施例中,機制尋求通過為每一數(shù)據(jù)組的內(nèi)容選擇最佳壓縮方法(例如,選擇產(chǎn)生大于或高于限定的最小壓縮比的壓縮比的壓縮操作)來增加存儲陣列的壓縮比。通過選擇產(chǎn)生大于最小接受和限定的壓縮比的壓縮比的第一壓縮操作,而不是通過迭代和測試可用的壓縮操作中的每一個,來增加效率和生產(chǎn)率。對于不同壓縮算法中的每一個,機制測試事先實現(xiàn)的壓縮比。不同于應(yīng)用專用壓縮算法,其中所應(yīng)用的算法中的每一個都使用密集數(shù)量的CPU并且不能被用于大量的算法,機制通過在不限制所使用的壓縮算法的數(shù)量的情況下實時地測試/嘗試產(chǎn)生最高壓縮比的壓縮操作,來選擇產(chǎn)生與在使用專用壓縮算法時獲得的壓縮比類似的壓縮比的壓縮操作。并且,所使用的壓縮算法的無限數(shù)量不影響CPU負載。機制使用收集的統(tǒng)計信息、成功和失敗的學(xué)習(xí)機和用于選擇應(yīng)用于要被存儲的數(shù)據(jù)的壓縮算法的閾值算法測試。如圖3所示,機制知道數(shù)據(jù)組的用于壓縮的內(nèi)容類型。為了通過為每一類型的數(shù)據(jù)內(nèi)容選擇最佳壓縮操作(例如,選擇產(chǎn)生大于或高于限定的最小壓縮比的壓縮比的壓縮操作)來幫助增加數(shù)據(jù)存儲的壓縮比,使用下式:權(quán)利要求1.一種用于在計算環(huán)境中通過處理器設(shè)備實時選擇壓縮操作的方法,所述方法包括:根據(jù)所分配的成功因子將多個可用的壓縮操作初始化;測試所述多個可用的壓縮操作中的至少一個,以確定所述多個可用的壓縮操作中的至少一個是否產(chǎn)生大于最小壓縮比的壓縮比;和應(yīng)用實時選擇的所述多個可用的壓縮操作中的至少一個,以壓縮多個數(shù)據(jù)塊中的至少一個。2.根據(jù)權(quán)利要求1所述的方法,還包括:限定最小壓縮比,所述最小壓縮比用于確定要選擇所述多個可用的壓縮操作中的至少一個中的哪些。3.根據(jù)權(quán)利要求1所述的方法,其中,所述成功因子至少包含被選為產(chǎn)生大于所述最小壓縮比的壓縮比的所述多個可用的壓縮操作中的每一個的頻率的累積和值。4.根據(jù)權(quán)利要求1所述的方法,還包括:根據(jù)所述應(yīng)用,繼續(xù)應(yīng)用用于壓縮所述多個數(shù)據(jù)塊中的至少一個的隨后的一個的所述多個可用的壓縮操作中的至少一個,直到所述壓縮比小于所述最小壓縮比。5.根據(jù)權(quán)利要求1所述的方法,還包括:根據(jù)所述初始化,按照所述成功因子在列表中配置所述多個可用的壓縮操作中的至少一個。6.根據(jù)權(quán)利要求5的方法,還包括:在所述應(yīng)用之后,更新所述多個可用的壓縮操作中的至少一個的每一個的成功因子,其中,所述列表被重新排序。7.根據(jù)權(quán)利要求1所述的方法,還包括:結(jié)合所述應(yīng)用,如果所述多個可用的壓縮操作中的至少一個的每一個的壓縮比小于所述最小壓縮比,那么選擇所述多個可用的壓縮操作中的在列表中首先用于所述應(yīng)用的至少一個。8.一種用于在計算環(huán)境中實時選擇壓縮操作的系統(tǒng),包括:能夠在所述計算環(huán)境中操作的處理器設(shè)備,其中,所述處理器設(shè)備適于:根據(jù)所分配的成功因子將多個可用的壓縮操作初始化;測試所述多個可用的壓縮操作中的至少一個,以確定所述多個可用的壓縮操作中的至少一個是否產(chǎn)生大于最小壓縮比的壓縮比;和應(yīng)用實時選擇的所述多個可用的壓縮操作中的至少一個,以壓縮多個數(shù)據(jù)塊中的至少一個。9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述處理器設(shè)備進一步適于限定最小壓縮比,所述最小壓縮比用于確定要選擇所述多個可用的壓縮操作中的至少一個中的哪些。10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述成功因子至少包含被選為產(chǎn)生大于所述最小壓縮比的壓縮比的所述多個可用的壓縮操作中的每一個的頻率的累積和值。11.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述處理器設(shè)備進一步適于根據(jù)所述應(yīng)用,繼續(xù)應(yīng)用用于壓縮所述多個數(shù)據(jù)塊中的至少一個的隨后的一個的所述多個可用的壓縮操作中的至少一個,直到所述壓縮比小于所述最小壓縮比。12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述處理器設(shè)備進一步適于根據(jù)所述初始化,按照所述成功因子在列表中配置所述多個可用的壓縮操作中的至少一個。13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述處理器設(shè)備進一步適于在所述應(yīng)用之后,更新所述多個可用的壓縮操作中的至少一個的每一個的成功因子,其中,所述列表被重新排序。14.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述處理器設(shè)備進一步適于結(jié)合所述應(yīng)用,如果所述多個可用的壓縮操作中的至少一個的每一個的壓縮比小于所述最小壓縮比,那么選擇所述多個可用的壓縮操作中的在列表中首先用于所述應(yīng)用的至少一個。全文摘要本發(fā)明公開提供了用于實時選擇壓縮操作的方法、系統(tǒng)和計算機程序產(chǎn)品實施例。在一個實施例中,僅作為例子,根據(jù)所分配的成功因子將可用的壓縮操作初始化。測試所述可用的壓縮操作,以確定所述可用的壓縮操作中的至少一個是否產(chǎn)生大于最小壓縮比的壓縮比。應(yīng)用實時選擇的所述可用的壓縮操作中的至少一個,以壓縮數(shù)據(jù)塊中的至少一個。附加的系統(tǒng)和計算機程序產(chǎn)品實施例被公開,并且提供了相關(guān)的優(yōu)點。文檔編號G06F9/44GK103197924SQ201310000678公開日2013年7月10日申請日期2013年1月4日優(yōu)先權(quán)日2012年1月6日發(fā)明者J·阿秘特,L·德米多,N·哈羅瓦尼申請人:國際商業(yè)機器公司