TWI516951B - Method for encapsulating functions for application programming interfaces in a cloud environment - Google Patents

Method for encapsulating functions for application programming interfaces in a cloud environment Download PDF

Info

Publication number
TWI516951B
TWI516951B TW103119631A TW103119631A TWI516951B TW I516951 B TWI516951 B TW I516951B TW 103119631 A TW103119631 A TW 103119631A TW 103119631 A TW103119631 A TW 103119631A TW I516951 B TWI516951 B TW I516951B
Authority
TW
Taiwan
Prior art keywords
application interface
function
driver
environment
computing node
Prior art date
Application number
TW103119631A
Other languages
Chinese (zh)
Other versions
TW201546624A (en
Inventor
陳文賢
吳聖麟
Original Assignee
先智雲端數據股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 先智雲端數據股份有限公司 filed Critical 先智雲端數據股份有限公司
Priority to TW103119631A priority Critical patent/TWI516951B/en
Publication of TW201546624A publication Critical patent/TW201546624A/en
Application granted granted Critical
Publication of TWI516951B publication Critical patent/TWI516951B/en

Links

Landscapes

  • Stored Programmes (AREA)

Description

在雲端環境中為應用程式介面封裝功能的方法 Method of encapsulating functionality for application interfaces in a cloud environment

本發明關於一種為應用程式介面封裝功能的方法。特別是關於一種在雲端環境中為應用程式介面封裝功能的方法。 The present invention relates to a method of packaging functionality for an application interface. Especially about a way to encapsulate functionality for application interfaces in a cloud environment.

雲端計算不是一種新的科技,它是一種基於電腦科技應用的觀念並發展成一種跨網路的交換的態樣。名詞"雲"意味著網路,雲端計算是網路通訊與多台電腦的計算工作之結合,經由網際網路的聯結,獲得由遠端主機所提供的服務。雲端計算首先由亞馬遜公司提出,因為網路購物平台,谷歌與微軟也相繼提出。 Cloud computing is not a new technology. It is based on the concept of computer technology applications and evolves into a kind of cross-network exchange. The term "cloud" means the network. Cloud computing is a combination of network communication and computing work of multiple computers. Through the connection of the Internet, the services provided by the remote host are obtained. Cloud computing was first proposed by Amazon. Because of the online shopping platform, Google and Microsoft also proposed.

雲端計算是一種新的分散式計算的應用。一個請求(可能是一種大型運算處理程序)會自動地分割成數個較小的子程序,這些子程序經由網路,送到由包括數個伺服器的一個大系統來處理。在搜尋、運作及分析後,該系統發出 對該需求的回覆給使用者。經由這種科技,網路服務提供者能處理上百萬甚至上千萬的資訊,以於數秒內達成網路服務,其服務表現不遜於一台超級電腦。 Cloud computing is a new application for distributed computing. A request (probably a large arithmetic handler) is automatically split into several smaller subroutines that are sent over the network to a large system that includes several servers. After searching, operating and analyzing, the system issues A response to the request is given to the user. Through this technology, Internet service providers can process millions or even tens of millions of information to achieve network services in seconds, and their service performance is no worse than a super computer.

雲端計算也是一種分享的IT架構,如同一台大型的虛擬伺服器。許多電腦系統連結成一個大的資源庫,用來提供IT服務。因為雲端計算利用虛擬資源,它不被遠端或近端的電腦硬體所限制。雲端計算對儲存容量有強大的需求,因此,這將推動對磁碟陣列的需求。 Cloud computing is also a shared IT architecture, such as the same large virtual server. Many computer systems are linked into a large repository for IT services. Because cloud computing utilizes virtual resources, it is not limited by remote or near-end computer hardware. Cloud computing has a strong need for storage capacity, so this will drive demand for disk arrays.

依照由雲端計算所支援之不同服務及該服務所提供的對象,許多雲端環境能被界定。例如私有雲、公共雲、社區雲及混合雲都在網路上能搜尋得到。雖然該些"雲"的作業系統、容量、服務對象與資源不盡相同,有一種趨勢是某些雲能藉整合,以提供更廣的服務或分享它們的資源。現今,達成上述目標的開源專案或軟體便於取得,Openstack即為一例。 Many cloud environments can be defined in terms of the different services supported by cloud computing and the objects provided by the service. For example, private clouds, public clouds, community clouds, and hybrid clouds can all be found on the Internet. Although these "cloud" operating systems, capacity, service objects and resources are not the same, there is a tendency for some clouds to be integrated to provide a wider range of services or to share their resources. Nowadays, open source projects or software that achieve the above goals are easy to obtain, and Openstack is an example.

隨著開源雲端計算平台對所有雲的開發,存在許多硬體的問題需要克服,例如硬體對雲的相容性就是一例。對於一個計算節點環境,它通常提供一設備(例如,硬碟及其用於Windows平台的設備驅動程式)共用的應用程式介面。每一設備供應商需要建置支援該應用程式介面的設備驅動程式,以提供其設備之服務。然而,如果該設備驅動程式需要延伸服務及/或計算節點環境轉變(如,Windows平台升級到 新的版本),每一個供應商就會增加許多工作量來改寫該設備驅動程式。上述問題只發生在一單一的平台(作業系統)上,如果這問題關係到另一個雲,就比較複雜而難解決了。 With the development of all clouds in the open source cloud computing platform, there are many hardware problems to overcome, such as hardware-to-cloud compatibility. For a compute node environment, it typically provides an application interface that is shared by a device (for example, a hard drive and its device drivers for the Windows platform). Each device vendor needs to build a device driver that supports the application interface to provide services for its device. However, if the device driver needs to extend service and/or compute node environment changes (eg, Windows platform upgrade to The new version), each vendor will add a lot of work to rewrite the device driver. The above problem only occurs on a single platform (operating system). If this problem is related to another cloud, it is more complicated and difficult to solve.

同時,有許多電器設備是"智能型"的,這意味著該電器設備以前是單機作業,但現今可以藉由一中央處理單元驅動並連接到網路,以便於遠端遙控。舉例來說,雲端印刷機就是一個例子。可能的情況下,家電設備,諸如電冰箱,亦能由雲端的使用者所操控。用於該中央處理單元或與電器設備連接的計算節點之相容性應用程式介面,應提供於每個相關的雲端環境。但應用在雲端的新增電器設備,可能需要新的應用程式介面,或者利用現有功能相似的應用程式介面來修改成可用的應用程式介面。這遇到了上述相似的問題。 At the same time, there are many electrical devices that are "smart", which means that the electrical devices used to be stand-alone, but can now be driven by a central processing unit and connected to the network for remote control. For example, a cloud printer is an example. Where possible, home appliances, such as refrigerators, can also be controlled by users in the cloud. A compatibility application interface for the central processing unit or a computing node connected to the electrical device should be provided for each relevant cloud environment. However, new appliances that are used in the cloud may require a new application interface or be modified into an available application interface using an existing application interface with similar functionality. This encountered a similar problem as described above.

雖然雲端計算能提供方便及強效的服務,雲端環境中相關的硬體之相容性卻是在雲端間互聯運作前,頭一個遇到的問題。因此希望有一種方法,對於雲端環境中的服務設備,能為應用程式介面封裝必要的功能,以解決這困擾。 Although cloud computing can provide convenient and powerful services, the compatibility of related hardware in the cloud environment is the first problem encountered before the cloud interoperates. Therefore, it is hoped that there is a way to solve the problem for the service device in the cloud environment, which can encapsulate the necessary functions for the application interface.

如上所述,應用程式介面可能無法支援所有連接到特定計算節點環境中之計算節點的服務設備。因此,對於雲端環境中的服務設備,需要一種用來為應用程式介面封裝必要的功能之方法。 As mentioned above, the application interface may not be able to support all of the service devices connected to compute nodes in a particular compute node environment. Therefore, for service devices in the cloud environment, a way to encapsulate the necessary functionality for the application interface is needed.

因此,依照本發明的一種態樣,提供一種在雲端環境中為應用程式介面封裝功能的方法,該方法包含步驟:A.提供由一驅動程式所支援的一應用程式介面;B.如果在一計算節點環境中,該應用程式介面可使用於一服務設備,則繼承該應用程式介面為一新類別;C.為該服務設備擴充延伸功能至該驅動程式;及D.重新封裝該驅動程式以符合該繼承的應用程式介面。 Therefore, in accordance with an aspect of the present invention, a method for encapsulating a function of an application interface in a cloud environment is provided, the method comprising the steps of: A. providing an application interface supported by a driver; B. In a computing node environment, the application interface can be used for a service device, the application interface is inherited into a new category; C. the extension function is extended to the service device; and D. the driver is repackaged. The application interface that conforms to this inheritance.

該方法進一步包含以下步驟於步驟B與步驟C間:B1.提供一功能集,該功能集包含能使用於該服務設備的功能;B2.比較該驅動程式的功能與該功能集的功能;及B3.取該功能集中的至少一功能為該延伸功能,該至少一功能不包括於該驅動程式中。 The method further includes the following steps between step B and step C: B1. providing a function set containing functions that can be used for the service device; B2. comparing functions of the driver with functions of the function set; B3. Taking at least one function in the function set is the extension function, and the at least one function is not included in the driver.

較佳的情況是該方法進一步包含一步驟於步驟B與步驟C間:B4.收集該驅動程式中不包括於該功能集的至少一功能至該功能集。 Preferably, the method further comprises a step between step B and step C: B4. collecting at least one function of the driver that is not included in the function set to the function set.

依照本發明,當該應用程式介面能運行該服務設備且相容於該計算節點環境時,該應用程式介面是可使用的。該雲端環境由開源軟體或私有軟體而建置,而該服務設備為一儲存設備或一周邊設備。 In accordance with the present invention, the application interface is usable when the application interface is capable of running the service device and is compatible with the computing node environment. The cloud environment is built by open source software or private software, and the service device is a storage device or a peripheral device.

此處,該儲存設備為可重複錄寫光碟機、唯讀記憶光碟機、硬碟、固態硬碟、記憶體模組、磁帶機或任何可儲存資料的設備。該周邊設備為印刷機、音響設備、視頻設 備、監視器、監視攝影機、家電設備或任何可離線(網路)工作的設備。該計算節點環境能更新其作業系統至一新的版本,該應用程式介面相容於該作業系統的最新版本。而該計算節點環境包含一計算節點,該計算節點為一伺服器或個人電腦。 Here, the storage device is a re-recordable optical disk drive, a read only memory optical disk drive, a hard disk, a solid state hard disk, a memory module, a tape drive, or any device capable of storing data. The peripheral equipment is a printing machine, audio equipment, video equipment Equipment, monitors, surveillance cameras, home appliances or any device that can work offline (network). The computing node environment can update its operating system to a new version that is compatible with the latest version of the operating system. The computing node environment includes a computing node, which is a server or a personal computer.

藉由應用本發明,來自許多供應商的驅動程式能被轉化至一特定的驅動程式中並封裝於一應用程式介面,尤其適用於開源雲端環境,比如Openstack所提供的環境。因而,由使用新的驅動程式(繼承的應用程式介面),能對開源雲端環境中的計算結點(如Nova電腦結點)提供管理服務。這也是對於雲端環境中的服務設備,需要用來為應用程式介面封裝必要的功能之方法。 By applying the present invention, drivers from many vendors can be converted into a specific driver and packaged in an application interface, especially for open source cloud environments, such as those provided by Openstack. Thus, by using a new driver (inherited application interface), it can provide management services for computing nodes (such as Nova computer nodes) in an open source cloud environment. This is also a way for service devices in the cloud environment to encapsulate the necessary functionality for the application interface.

100‧‧‧應用伺服器 100‧‧‧Application Server

200‧‧‧儲存伺服器 200‧‧‧Storage server

205‧‧‧對接站模組 205‧‧‧ docking station module

210‧‧‧硬碟 210‧‧‧ Hard disk

220‧‧‧硬碟 220‧‧‧ Hard disk

230‧‧‧硬碟 230‧‧‧ Hard disk

240‧‧‧硬碟 240‧‧‧ Hard disk

250‧‧‧硬碟 250‧‧‧ Hard disk

第1圖顯示一雲端環境的基礎設備。 Figure 1 shows the basic equipment of a cloud environment.

第2圖為依照本發明,在雲端環境中為應用程式介面封裝功能的一流程圖。 2 is a flow diagram of an application interface encapsulation function in a cloud environment in accordance with the present invention.

第3圖為依照本發明,在雲端環境中為應用程式介面封裝功能的另一流程圖。 Figure 3 is another flow diagram of the application interface encapsulation functionality in a cloud environment in accordance with the present invention.

第4圖為依照本發明,在雲端環境中為應用程式介面封裝功能的又一流程圖。 Figure 4 is yet another flow diagram of the application interface encapsulation functionality in a cloud environment in accordance with the present invention.

第5圖說明依照本發明,5個硬碟對一計算節點的存取。 Figure 5 illustrates the access of five hard disks to a compute node in accordance with the present invention.

本發明將藉由參照下列的實施例而更具體地描述。 The invention will be more specifically described by reference to the following examples.

請見第1圖。在雲端環境中,存在許多計算節點,每一計算節點可具有一種特定的功能。舉例而言,一應用伺服器100可存取整個雲端系統中所有的計算節點(未顯示所有的計算節點),包含了一儲存伺服器200。在該雲端環境中,每一計算節點可具有相同或不同的作業系統。即便某些計算節點應用相同的作業系統,可能也存在著版本上的差異。連接到計算節點的服務設備,可能會遇到更新不同操作版本的驅動程式到相關的應用程式介面的問題。新的服務設備的裝設或舊服務設備的更新又可能是另一種不同的場景了。 Please see Figure 1. In a cloud environment, there are many compute nodes, each of which can have a specific function. For example, an application server 100 can access all computing nodes (not all computing nodes) in the entire cloud system, and includes a storage server 200. In this cloud environment, each compute node can have the same or different operating systems. Even though some compute nodes use the same operating system, there may be differences in versions. A service device connected to a compute node may encounter problems updating drivers of different operating versions to the relevant application interface. The installation of a new service device or the update of an old service device may be another different scenario.

在一實施例中,儲存伺服器200管理5個硬碟210、220、230、240與250。實作上,儲存伺服器200可以是一台個人電腦,裝設了伺服器作業系統,它可以離線進行其它的工作。硬碟210、220、230、240與250是磁碟陣列,每一者有一個儲存管理模組(未繪示),依照經由儲存伺服器200的應用程式介面,來自驅動程式的命令,管理運作。其中一個需要送修而以一個新的替換。硬碟210繪示為該新硬碟,是一個不同品牌的硬碟,提供與其它硬碟相同的功能但是驅動程式不 同。當該硬碟210設置好並連接到儲存伺服器200時,它並不相容於儲存伺服器200,某些功能無法執行。依照本發明,這問題現在可以獲得解決。請參閱第2圖,流程如下所述。首先,在儲存伺服器200內的一對接站模組205取得由一驅動程式所支援之提供的應用程式介面(S11)並測試是否在一計算節點環境中,該應用程式介面可使用於硬碟210。此處,對接站模組205可以是一實體模組或裝設於儲存伺服器200中的軟體。較佳的情況是該對接站模組205是軟體定義的(software-defined)。計算節點環境包含作業系統當時的版本。當應用程式介面能運行該硬碟210且相容於計算節點環境時,應用程式介面是可使用的。如果測試結果是對的,對接站模組205將繼承該應用程式介面為一新類別(S12),茲定義它做一繼承的應用程式介面,以便於之後說明。 In one embodiment, storage server 200 manages five hard disks 210, 220, 230, 240, and 250. In practice, the storage server 200 can be a personal computer equipped with a server operating system that can perform other tasks offline. The hard disks 210, 220, 230, 240, and 250 are disk arrays, each of which has a storage management module (not shown), and manages operations according to commands from the driver through the application interface of the storage server 200. . One of them needs to be repaired and replaced with a new one. The hard disk 210 is depicted as the new hard disk, which is a different brand of hard disk, providing the same functions as other hard disks but the driver is not with. When the hard disk 210 is set up and connected to the storage server 200, it is not compatible with the storage server 200, and some functions cannot be performed. According to the present invention, this problem can now be solved. Please refer to Figure 2, the flow is as follows. First, a pair of station modules 205 in the storage server 200 obtains an application interface (S11) provided by a driver and tests whether the application interface can be used for a hard disk in a computing node environment. 210. Here, the docking station module 205 can be a physical module or a software installed in the storage server 200. Preferably, the docking station module 205 is software-defined. The compute node environment contains the current version of the operating system. The application interface is available when the application interface can run the hard disk 210 and is compatible with the compute node environment. If the test result is correct, the docking station module 205 will inherit the application interface into a new category (S12), and define it as an inherited application interface for later explanation.

接著,儲存伺服器200將嘗試校驗是否有某些硬碟210的驅動程式之延伸功能。揭露於本實施例中的計算節點環境是在一開源軟體,Openstack,下操作。因此,基於管理不同儲存用途,所有的硬碟供應商提供他們硬碟的磁碟區驅動程式到Openstack的區塊儲存模組(Cinder module)中。通常,磁碟區驅動程式僅支援有限的功能,比如創造(create)、刪除(delete)、指定(assign)、取消指定(unassign)、及容積(volume),這些在應用程式介面中的基本功能可以被留下來使用。對於某些其它功能,如顯示基本資料、設定資料、 在指定池中建立容積、存取這些資料等等,可能沒有包含於應用程式介面的功能中。然而,這些功能對硬碟210的驅動程式而言是可採用的。因此,對接站模組205將為硬碟220、230、240與250,擴充這些功能為延伸功能到驅動程式中(S13),以重新封裝該驅動程式方式,來符合繼承的應用程式介面(S14)。 Next, the storage server 200 will attempt to verify if there is an extension of the driver of some of the hard disks 210. The computing node environment disclosed in this embodiment operates under an open source software, Openstack. Therefore, based on managing different storage uses, all hard disk vendors provide their hard disk drive drivers to Openstack's Cinder module. Typically, the disk driver only supports a limited number of functions, such as create, delete, assign, unassign, and volume, which are basic functions in the application interface. Can be left to use. For some other functions, such as displaying basic data, setting data, Volume creation, access to these materials, etc. in the specified pool may not be included in the functionality of the application interface. However, these functions are available to the driver of the hard disk 210. Therefore, the docking station module 205 will be hard disks 220, 230, 240 and 250, and these functions are extended to the driver (S13) to repackage the driver to conform to the inherited application interface (S14). ).

需要強調的是雲端環境能由開源軟體或私有軟體所建置,因此,使用的軟體不僅限定於Openstack,其他合適的開源或私有軟體,甚或一個既有的平台也可以考慮使用。由本實施例可以清楚的知道該計算節點(儲存伺服器200)是負責存取硬碟的。事實上,該計算節點可以是一個伺服器,用來管理數個其它設備,比如其它的儲存設備或周邊設備(服務設備)。舉例而言,一台伺服器能被用來控制數個可重複錄寫光碟機,以讀寫資料。它可以是儲存設備,不局限於硬碟與可重複錄寫光碟機,還包括了唯讀記憶光碟機、固態硬碟、記憶體模組、磁帶機或任何可儲存資料的設備。相似地,一計算節點也可被用來管理某些其他設備,如具有特定功能且能離線(網路)作業的周邊設備。一個好的例子是遙控監視攝影機。每一個識別的客戶端經由一雲端系統,可以觀看由數個安置的監視攝影機所提供的即時視頻。該遙控監視攝影機也能不在開放環境(連接網路)下作業。然而,當一監視攝影機需要在監視系統中進行更換,如同上方描述的實施例 中同樣的需求產生了。對於這些設備,依照以上所提相同的程序,額外的功能能夠加到相關的應用程式介面中。值得注意的是實作上,周邊設備可以是印刷機、音響設備、視頻設備、監視器或家電設備。特別是,對家電設備而言,因為許多家電設備已經智能化,且能經由網路而控制,它可以被視為一獨立的計算節點,或者經由其它計算節點連接到雲端。本發明對此仍然適用。 It should be emphasized that the cloud environment can be built by open source software or proprietary software. Therefore, the software used is not limited to Openstack, other suitable open source or proprietary software, or even an existing platform can be considered. It is clear from the present embodiment that the computing node (storage server 200) is responsible for accessing the hard disk. In fact, the compute node can be a server that manages several other devices, such as other storage devices or peripheral devices (service devices). For example, a server can be used to control several reproducible disc players to read and write data. It can be a storage device, not limited to hard drives and re-recordable disc players, but also includes a read-only memory disc drive, a solid state drive, a memory module, a tape drive, or any device that can store data. Similarly, a compute node can also be used to manage certain other devices, such as peripherals that have specific functions and can perform offline (network) jobs. A good example is a remote surveillance camera. Each identified client can view live video provided by several installed surveillance cameras via a cloud system. The remote surveillance camera can also operate in an open environment (connected to the network). However, when a surveillance camera needs to be replaced in a surveillance system, as in the embodiment described above The same demand has arisen. For these devices, additional functionality can be added to the relevant application interface in accordance with the same procedure as outlined above. It is worth noting that in practice, peripheral devices can be printers, audio equipment, video equipment, monitors or home appliances. In particular, for home appliances, because many home appliances are intelligent and can be controlled via the network, it can be viewed as a separate computing node or connected to the cloud via other computing nodes. The invention still applies to this.

另一個重點是該計算節點環境被允許並且能更新其作業系統至一新的版本,應用程式介面應相容於該作業系統的最新版本。如果所有計算節點環境(作業系統)同時更換,對接站模組205會認為所有的設備(包括5個硬碟)被替換掉了,而嘗試為所有新設備與作業系統,依照上述流程,重新封裝現有應用程式介面,除非在新的計算節點環境下應用程式介面不可使用於這些設備。 Another important point is that the compute node environment is allowed and can update its operating system to a new version, and the application interface should be compatible with the latest version of the operating system. If all computing node environments (operating systems) are replaced at the same time, the docking station module 205 will consider all devices (including 5 hard disks) to be replaced, and try to repack them for all new devices and operating systems according to the above process. Existing application interfaces, unless the application interface is not available for use in a new compute node environment.

在另一實施例中,當對接站模組205具有一不同功能(ID紀錄)是所有硬碟驅動程式都不支援的,本發明提供以下步驟用於封裝該ID紀錄功能到應用程式介面中。請參閱第3圖。首先,對接站模組205取得由一驅動程式所支援之提供的應用程式介面(S21)並測試是否在一計算節點環境中,該應用程式介面可使用於硬碟210、220、230、240及250。這步驟用來測試是否現有應用程式介面可堪應用。如果測試結果是對的,對接站模組205將繼承該應用程式介面為一新類別 (S22),它就變成一繼承的應用程式介面。接著,對接站模組205提供含有多個功能(並非僅包含該ID紀錄功能)的一功能集,給硬碟210、220、230、240及250使用(S23),並比較該驅動程式的功能與功能集的功能(S24)。對接站模組205取功能集中,不包括於該驅動程式中的ID紀錄功能,為上述的延伸功能(如果有其他不包括於驅動程式中的功能,這些功能也會被選取)(S25)。相似地,對接站模組205將為這5個硬碟,擴充延伸功能到驅動程式中(S26),以重新封裝該驅動程式方式,來符合繼承的應用程式介面(S27)。 In another embodiment, when the docking station module 205 has a different function (ID record) that is not supported by all hard disk drivers, the present invention provides the following steps for encapsulating the ID record function into the application interface. Please refer to Figure 3. First, the docking station module 205 obtains an application interface (S21) provided by a driver and tests whether the application interface can be used for the hard disks 210, 220, 230, 240 in a computing node environment. 250. This step is used to test if an existing application interface is available. If the test result is correct, the docking station module 205 will inherit the application interface into a new category. (S22), it becomes an inherited application interface. Next, the docking station module 205 provides a function set containing a plurality of functions (not only including the ID recording function), and uses the hard disks 210, 220, 230, 240, and 250 (S23), and compares the functions of the driver. Function with feature set (S24). The docking station module 205 takes a function set, and the ID record function not included in the driver is the above-mentioned extension function (these functions are also selected if there are other functions not included in the driver) (S25). Similarly, the docking station module 205 will extend the extension function to the driver for the five hard disks (S26) to re-encapsulate the driver mode to conform to the inherited application interface (S27).

在另一實施例中,當對接站模組205找到硬碟240與250的驅動程式具有2個功能是現有應用程式介面不支援的,並且也是對接站模組205所沒有的,本發明提供以下的步驟用於封裝功能到應用程式介面中。 In another embodiment, when the docking station module 205 finds that the drivers of the hard disks 240 and 250 have two functions that are not supported by the existing application interface and are not available to the docking station module 205, the present invention provides the following The steps are used to encapsulate functionality into the application interface.

請參照第4圖。首先,對接站模組205取得由一驅動程式所支援之現有的應用程式介面(S31)並測試是否在一計算節點環境中,該應用程式介面可使用於硬碟210、220、230、240及250。如果測試結果是對的,對接站模組205將繼承該應用程式介面為一新類別(S32),它就變成一繼承的應用程式介面。接著,對接站模組205收集至少一該驅動程式不包括於該功能集的功能(S33),這意味著對對接站模組205而言,取得任何硬碟(服務設備)可能需要的功能是可選擇的。相似地,對接站模組205將為硬碟210、220與230,擴充延伸 功能到驅動程式中(S34)以重新封裝該驅動程式方式,來符合繼承的應用程式介面(S35)。 Please refer to Figure 4. First, the docking station module 205 obtains an existing application interface supported by a driver (S31) and tests whether the application interface can be used for the hard disks 210, 220, 230, 240 in a computing node environment. 250. If the test result is correct, the docking station module 205 will inherit the application interface into a new category (S32), which becomes an inherited application interface. Next, the docking station module 205 collects at least one function that the driver is not included in the function set (S33), which means that for the docking station module 205, the function that may be required to obtain any hard disk (service device) is optional. Similarly, the docking station module 205 will be a hard disk 210, 220 and 230, extended extension The function is in the driver (S34) to repackage the driver to conform to the inherited application interface (S35).

請見第5圖。對藉由對接站模組205的協助,而能延伸額外功能的3個硬碟210、220與230來說,它們能直接使用原本驅動程式不支援的功能到儲存伺服器200的計算節點環境(以虛線顯示)中,而2個硬碟240與250經由繼承的應用程式介面,仍能正常運作這些功能。 See Figure 5. For the three hard disks 210, 220, and 230 that can extend the extra function by the assistance of the docking station module 205, they can directly use the functions that are not supported by the original driver to the computing node environment of the storage server 200 ( In the dotted line, the two hard drives 240 and 250 still function properly through the inherited application interface.

雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 Although the present invention has been disclosed in the above embodiments, it is not intended to limit the invention, and any one of ordinary skill in the art can make some modifications and refinements without departing from the spirit and scope of the invention. The scope of the invention is defined by the scope of the appended claims.

Claims (11)

一種在雲端環境中為應用程式介面封裝功能的方法,包含步驟:A. 提供由一驅動程式所支援的一應用程式介面;B. 如果在一計算節點環境中,該應用程式介面可使用於一服務設備,則繼承該應用程式介面為一新類別;C. 為該服務設備擴充延伸功能至該驅動程式;及D. 重新封裝該驅動程式以符合該繼承的應用程式介面。 A method for encapsulating a function in an application environment in a cloud environment, comprising the steps of: A. providing an application interface supported by a driver; B. if in a computing node environment, the application interface can be used for one The service device inherits the application interface into a new category; C. extends the extension function to the service device; and D. repackages the driver to conform to the inherited application interface. 如申請專利範圍第1項所述之方法,進一步包含以下步驟於步驟B與步驟C間:B1. 提供一功能集,該功能集包含能使用於該服務設備的功能;B2. 比較該驅動程式的功能與該功能集的功能;及B3. 取該功能集中的至少一功能為該延伸功能,該至少一功能不包括於該驅動程式中。 The method of claim 1, further comprising the following steps between step B and step C: B1. providing a function set, the function set includes functions that can be used for the service device; B2. comparing the driver And the function of the function set; and B3. Taking at least one function in the function set is the extension function, and the at least one function is not included in the driver. 如申請專利範圍第2項所述之方法,進一步包含一步驟於步驟B與步驟C間:B4. 收集該驅動程式中不包括於該功能集的至少一功能至該功能集。 The method of claim 2, further comprising a step between step B and step C: B4. collecting at least one function of the driver that is not included in the function set to the function set. 如申請專利範圍第1項所述之方法,其中當該應用程式介面能運行該服務設備且相容於該計算節點環境時,該應用程式介面是可使用的。 The method of claim 1, wherein the application interface is usable when the application interface is capable of running the service device and is compatible with the computing node environment. 如申請專利範圍第1項所述之方法,其中該雲端環境由開源軟體或私有軟體而建置。 The method of claim 1, wherein the cloud environment is built by open source software or private software. 如申請專利範圍第1項所述之方法,其中該服務設備為一儲存設備或一周邊設備。 The method of claim 1, wherein the service device is a storage device or a peripheral device. 如申請專利範圍第6項所述之方法,其中該儲存設備為可重複錄寫光碟機、唯讀記憶光碟機、硬碟、固態硬碟、記憶體模組、磁帶機或任何可儲存資料的設備。 The method of claim 6, wherein the storage device is a re-recordable optical disk drive, a read-only memory optical disk drive, a hard disk, a solid state hard disk, a memory module, a tape drive, or any data storage device. device. 如申請專利範圍第6項所述之方法,其中該周邊設備為印刷機、音響設備、視頻設備、監視器、監視攝影機、家電設備或任何可離線(網路)工作的設備。 The method of claim 6, wherein the peripheral device is a printer, an audio device, a video device, a monitor, a surveillance camera, a home appliance, or any device that can operate offline (network). 如申請專利範圍第1項所述之方法,其中該計算節點環境能更新其作業系統至一新的版本,該應用程式介面相容於該作業系統的最新版本。 The method of claim 1, wherein the computing node environment is capable of updating its operating system to a new version, the application interface being compatible with the latest version of the operating system. 如申請專利範圍第1項所述之方法,其中該計算節點環境包含一計算節點。 The method of claim 1, wherein the computing node environment comprises a computing node. 如申請專利範圍第10項所述之方法,其中該計算節點為一伺服器或個人電腦。 The method of claim 10, wherein the computing node is a server or a personal computer.
TW103119631A 2014-06-06 2014-06-06 Method for encapsulating functions for application programming interfaces in a cloud environment TWI516951B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW103119631A TWI516951B (en) 2014-06-06 2014-06-06 Method for encapsulating functions for application programming interfaces in a cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103119631A TWI516951B (en) 2014-06-06 2014-06-06 Method for encapsulating functions for application programming interfaces in a cloud environment

Publications (2)

Publication Number Publication Date
TW201546624A TW201546624A (en) 2015-12-16
TWI516951B true TWI516951B (en) 2016-01-11

Family

ID=55407505

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103119631A TWI516951B (en) 2014-06-06 2014-06-06 Method for encapsulating functions for application programming interfaces in a cloud environment

Country Status (1)

Country Link
TW (1) TWI516951B (en)

Also Published As

Publication number Publication date
TW201546624A (en) 2015-12-16

Similar Documents

Publication Publication Date Title
JP7182618B2 (en) API repository that allows configuration and management of microservices
US8892700B2 (en) Collecting and altering firmware configurations of target machines in a software provisioning environment
US8443361B2 (en) Systems and methods for tracking a history of changes associated with software packages in a computing system
US20100217944A1 (en) Systems and methods for managing configurations of storage devices in a software provisioning environment
EP3547131B1 (en) Agentless method to bring solution and cluster awareness into infrastructure
US9626166B1 (en) Common secure cloud appliance image and deployment
US20070118499A1 (en) Method and system for collecting and restoring application state information
US11374880B2 (en) Automated deployment of internet connectivity to rack switches in a data center
US9792111B2 (en) Obtaining device drivers from an out-of-band management network
US9684475B2 (en) Multi-mode hybrid storage drive
US10230594B2 (en) Intelligently managing pattern contents across multiple racks based on workload and human interaction usage patterns
US20200301690A1 (en) Method and system for managing the end to end lifecycle of a cloud-hosted desktop virtualization environment
US20200396176A1 (en) Network configuration of top-of-rack switches across multiple racks in a data center
US10979289B2 (en) Apparatuses and methods for remote computing node registration and authentication
US9063799B1 (en) Method for encapsulating functions for application programming interfaces in a cloud environment
TWI516951B (en) Method for encapsulating functions for application programming interfaces in a cloud environment
US9270530B1 (en) Managing imaging of multiple computing devices
US20190222475A1 (en) Method for Determining a Primary Management Service for a Client Device in a Hybrid Management System Based on Client Telemetry
US20210149750A1 (en) Systems and methods for filesystem-based computer application communication
CN105320500B (en) It is the method for application programming interface encapsulation function in environment beyond the clouds
US10255223B2 (en) Detecting a type of storage adapter connected and miscabling of a microbay housing the storage adapter
WO2023204943A1 (en) On-demand remote applications