TWI592805B - System and method for sharing network storage and computing resource - Google Patents

System and method for sharing network storage and computing resource Download PDF

Info

Publication number
TWI592805B
TWI592805B TW099133514A TW99133514A TWI592805B TW I592805 B TWI592805 B TW I592805B TW 099133514 A TW099133514 A TW 099133514A TW 99133514 A TW99133514 A TW 99133514A TW I592805 B TWI592805 B TW I592805B
Authority
TW
Taiwan
Prior art keywords
storage
group
user
network
computing
Prior art date
Application number
TW099133514A
Other languages
Chinese (zh)
Other versions
TW201216073A (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 TW099133514A priority Critical patent/TWI592805B/en
Priority to US13/235,328 priority patent/US20120084386A1/en
Publication of TW201216073A publication Critical patent/TW201216073A/en
Application granted granted Critical
Publication of TWI592805B publication Critical patent/TWI592805B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Description

網路儲存與計算資源分享系統與方法Network storage and computing resource sharing system and method

本發明為一種網路儲存與計算資源分享系統與方法,特別是指一種由一虛擬社群網路中各使用者分享一部分儲存空間與計算資源的網路資源分享的方案。The present invention relates to a network storage and computing resource sharing system and method, and more particularly to a network resource sharing scheme in which a part of a storage space and a computing resource are shared by users in a virtual social network.

隨著網路資訊的發達,一般應用在網路上的資訊傳遞方式通常是架構在伺服器-客戶端的主從架構之下,比如使用微軟區域網路的分享分式-網路芳鄰(network neighborhood)就是架構於主從的方式,其他通用的電子郵件(email)、檔案傳遞協定(FTP)、網頁上傳下載(http)等,都是應用在伺服器-客戶端的架構下,且特別可應用在網路儲存空間的架構,即由一伺服器提供儲存空間,各使用者可透過網路存取。With the development of network information, the general information transfer method used on the Internet is usually under the server-client master-slave architecture, such as the sharing partition of the Microsoft regional network-network neighborhood. It is a master-slave mode. Other common emails (email), file transfer protocol (FTP), web upload and download (http), etc. are all applied under the server-client architecture, and are especially applicable to the web. The architecture of the storage space of the road is that a storage space is provided by a server, and each user can access through the network.

但於此類模式下必然會出現需要提供大量的頻寬資源或儲存資源等的困擾,比如透過網站分享照片,此時提供服務者(伺服器端)需要同時提供足夠的頻寬與足夠的儲存空間,另需要使用者認證計算等計算機資源,方能達成資訊快速傳播的目的。However, in such a mode, there will inevitably be a need to provide a large amount of bandwidth resources or storage resources, such as sharing photos through a website. At this time, the provider (server side) needs to provide sufficient bandwidth and sufficient storage at the same time. Space, and other computer resources such as user authentication calculations are required to achieve the purpose of rapid information dissemination.

應用網路計算資源的技術中,習知技術特別提出一種網格運算(grid computing)技術,網格計算能適當利用網路上多數未用的計算機資源,通常為桌上型電腦的中央處理器(CPU周期)與磁碟空間,透過一個管理方法由分布在網路上各處的計算機資源建立一個虛擬的計算機叢集(cluster),可以解決部份大量的計算需求。In the technology of applying network computing resources, the prior art specifically proposes a grid computing technology, which can utilize most of the unused computer resources on the network, usually the central processing unit of the desktop computer ( CPU cycle) and disk space, through a management method to create a virtual computer cluster from computer resources distributed throughout the network, can solve some of the large amount of computing needs.

網格運算結合了一種傳統應用多處理器或是結合區域網路上多部電腦系統實現的分散式計算技術(distributed computing),將之應用在網路上。Grid computing combines a traditional application of multiple processors or distributed computing with multiple computer systems on a regional network to apply it to the network.

本揭露書揭露一種架構於社群下的網路儲存與計算資源分享系統與方法,特別是運用了社群中各使用者所使用的電腦系統中未用的資源,包括由使用者決定分享的一個儲存空間,或是中央處理器的計算資源。The disclosure discloses a system and method for sharing network storage and computing resources under the community, in particular, using unused resources in the computer system used by users in the community, including sharing by the user. A storage space, or computing resource of the central processing unit.

此網路儲存與計算資源分享系統與方法特別運作於由多數使用者登錄建構的網路虛擬社群中,並非是一般開放式的網路環境,各使用者需要透過認證才能使用其中資源,特別是由多位使用者建立的一些群組內。使用者之間可以透過社群的活動建立彼此的聯繫,比如彼此訂閱留言內容、互相設定好友、根據興趣或系統主動媒合為群組,能夠相互分享檔案。The network storage and computing resource sharing system and method are particularly operated in a network virtual community constructed by a majority of users. It is not a generally open network environment, and each user needs to pass authentication to use the resources, especially It is in some groups established by multiple users. Users can establish contact with each other through community activities, such as subscribing to each other's message content, setting up friends with each other, or actively collaborating into groups according to interests or systems, and sharing files with each other.

本揭露的技術特別於此類社群中要求各使用者可以分享部份未用的儲存空間與處理器的計算資源,透過社群或是其中群組分享給其他使用者,供作檔案的儲存與特定計算需求所使用。藉此,除了可以實現檔案分享的概念,更可節省頻寬資源,並擴充至儲存空間以及計算能力的共享可能性。The technology disclosed in this community is particularly suitable for users in this community to share some unused storage space and computing resources of the processor, and share it with other users through the community or groups for storage of files. Used with specific computing needs. In this way, in addition to the concept of file sharing, bandwidth resources can be saved and expanded to the storage space and the sharing possibilities of computing power.

根據實施例,應用於上述具有複數個登錄使用者的網路虛擬社群中的網路儲存方法包括由一使用者端系統連結一社群伺服器,各端系統將先同步所屬群組之資訊及記錄複數個儲存節點之資源分配表,由儲存空間的資源分配表得出複數個可用儲存節點。之後,根據可用儲存節點之額度判斷一儲存物件可否存入,若額度足夠,則執行一分散式儲存的程序。According to an embodiment, a network storage method applied to the network virtual community having a plurality of login users includes connecting a community server by a user end system, and each end system first synchronizes information of the group. And recording a resource allocation table of the plurality of storage nodes, and obtaining a plurality of available storage nodes from the resource allocation table of the storage space. Then, it is judged whether a stored object can be deposited according to the quota of the available storage nodes, and if the amount is sufficient, a program of distributed storage is executed.

其中,分散式儲存的程序包括能依據得出之複數個可用儲存節點與儲存空間分割儲存物件為複數個區塊檔案,並傳遞分割之區塊檔案至各可用儲存節點,最後,經確認儲存完畢後,更新儲存空間的該資源分配表。The distributed storage program includes dividing a stored object into a plurality of block files according to the plurality of available storage nodes and storage spaces, and transmitting the divided block files to each available storage node, and finally, confirming and storing After that, the resource allocation table of the storage space is updated.

而計算資源分享方法則包括由使用者端系統產生一計算需求,經接收一計算資源分配表後,可得知使用者端系統所屬之群組關係、各計算節點的可用度與各計算節點之計算資源,藉此產生配置於各計算節點的計算資源配置。The computing resource sharing method includes: generating, by the user end system, a computing requirement, and after receiving a computing resource allocation table, the group relationship to which the user end system belongs, the availability of each computing node, and each computing node are known. Computing resources, thereby generating a computing resource configuration configured for each computing node.

之後,由各需求端傳遞分散計算需求至各計算節點,當於各計算節點計算完成後,使用者端系統接收各計算節點之計算結果,最後彙整產生一總的計算結果。Then, the distributed computing requirements are transmitted from the demand terminals to the computing nodes. After the computing nodes are completed, the user end system receives the calculation results of the computing nodes, and finally the final computing results in a total calculation result.

不同於一般網路虛擬社群中各使用者端系統的儲存空間為私有,但經由本揭露書提出的分散式儲存架構則可以定義一個共用儲存空間的群組,群組成員可以指定一定儲存空間做為共用儲存空間,可讓其它群組成員異地備份私有的資料。私有的檔案在被傳輸出去前會先被切割為多個區塊,編碼後送至共享的空間中,資料的區塊索引以及編碼金鑰存在於系統中的一個作為索引(index)的伺服器中,因此使用者並非能得知其它人存放進來的資料。Different from the storage space of each user-side system in the general network virtual community, the distributed storage architecture proposed by the disclosure may define a group of shared storage spaces, and the group members may specify a certain storage space. As a shared storage space, other group members can back up private data offsite. The private file is first cut into multiple blocks before being transmitted, encoded and sent to the shared space. The block index of the data and the coded key exist in the system as an index server. In the meantime, the user is not able to know what other people have stored.

本揭露書揭露一種架構於社群下的網路儲存與計算資源分享系統與方法。根據實施例,網路儲存與計算資源分享系統主要是運作於需要透過使用者認證的網路虛擬社群中,此網路虛擬社群具有複數個登錄使用者,特別是透過一個社群伺服器提供的網頁或是專屬介面軟體提供的介面執行登錄。當登錄使用者登入此社群伺服器中,即進入使虛擬社群中,系統可主動根據使用者填寫的基本資訊進行媒合,協助建立使用者之間的聯繫,而使用者之間仍可因為興趣、所屬群組,主動或被動地建立彼此的聯繫,比如互相設定好友。The disclosure discloses a system and method for network storage and computing resource sharing under the community. According to an embodiment, the network storage and computing resource sharing system is mainly operated in a network virtual community that needs to be authenticated by a user. The network virtual community has a plurality of login users, in particular through a community server. The provided web page or the interface provided by the proprietary interface software performs login. When the login user logs into the community server, the virtual community is entered, and the system can actively perform mediation based on the basic information filled in by the user to assist in establishing the connection between the users, and the user can still Because of interest, group, active or passive to establish each other's connections, such as setting up friends with each other.

社群(community)為一廣義用語,舉凡其他具有特定屬性或目的的使用者經登入一伺服器後形成的虛擬集合體,一個社群內又可能因為不同的用戶有不同的目標與興趣形成不同的群組(group)。社群內使用者可透過一社群伺服器提供一社群伺服程式設定自己的朋友圈,揭露書所提的網路儲存與計算資源分享系統可提供一伺服器,可同步記錄各使用者與其設定的朋友(具有一聯繫關係),若使用者端有安裝社群提供的軟體,軟體本身亦可同步記錄使用者指定的朋友。藉此建立一基本的群組。可參閱第一A圖所示的社群中基本群組示意圖。A community is a general term. A virtual aggregate formed by a user with a specific attribute or purpose after logging into a server may be different in a community because different users have different goals and interests. Group. Users in the community can provide a community server through a community server to set up their circle of friends. The network storage and computing resource sharing system mentioned in the disclosure can provide a server that can record each user simultaneously. The set friend (has a relationship), if the user has installed the software provided by the community, the software itself can also record the user specified by the user. This establishes a basic group. See the basic group diagram in the community shown in Figure A.

第一A圖中,使用者10可自行直接指定朋友A,B,C,此為最基本的群組。而第一B圖則顯示一種嚴格定義的群組,不同於指定朋友的方式,此例是由使用者申請建立一個群組,由此使用者擔當群組管理員,進而邀請其它使用者加入,獲得授權加入的用戶即可成為群組一員。圖中顯示一個群組12與其他經過授權的使用者A’,B’,C’。In the first A picture, the user 10 can directly specify the friends A, B, and C, which are the most basic groups. The first B picture shows a strictly defined group, which is different from the way of designating a friend. In this case, the user applies for establishing a group, and the user acts as a group administrator, and then invites other users to join. A user who is authorized to join can become a member of the group. The figure shows a group 12 with other authorized users A', B', C'.

並且,一個使用者可分屬不同的群組,社群內各使用者所有的資訊中,相對於群組內成員應包括有私有與公開的物件,物件可為文字、影音等檔案,亦可包括各使用者間傳遞的訊息。當群組成員具有一物件時,可設定為私有或是公開給其他所屬群組中的成員。Moreover, a user can belong to different groups. The information of all users in the community should include private and public objects relative to the members of the group. The objects can be files such as text and audio and video. Includes messages passed between users. When a group member has an object, it can be set to be private or public to members of other groups.

經建立各使用者與其朋友形成的群組,或是先建立群組,與各授權的使用者形成的群組,揭露書所提供的網路儲存與計算資源分享系統即為提供一種架構此群組關係的分散式物件儲存與分散計算的方法。By establishing a group formed by each user and its friends, or by first establishing a group, and forming a group with each authorized user, the network storage and computing resource sharing system provided by the disclosure book provides a framework for this group. A method of decentralized object storage and decentralized calculation of group relationships.

特別的是,網路儲存與計算資源分享系統與方法運用了社群中各使用者所使用的電腦系統中未用的資源,包括由使用者決定分享的一個儲存空間,或是中央處理器的計算資源,並且此技術在較佳的運作樣態並非是開放給所有網路使用者,而是運作在使用者需要透過認證才能使用其中資源的虛擬社群中,特別是由多位使用者建立的一些群組內。In particular, the network storage and computing resource sharing system and method utilizes unused resources in the computer system used by each user in the community, including a storage space that is determined by the user to share, or a central processing unit. Computational resources, and the better mode of operation of this technology is not open to all network users, but to virtual communities in which users need to pass authentication to use their resources, especially by multiple users. Within some groups.

根據實施例,本揭露的技術特別應用分散式儲存與分散式計算的概念運作於此類社群中,社群管理者可要求各登錄使用者分享部份未用的儲存空間與處理器的計算資源,不論是強制性或是非強制的,能透過社群或是其中群組分享給其他使用者,供作檔案的儲存與特定計算需求所使用。藉此,除了可以實現檔案分享的概念,更可節省頻寬資源,並擴充至儲存空間以及計算能力的共享可能性。According to an embodiment, the disclosed technology particularly applies to the concept of distributed storage and distributed computing in such a community, and the community manager may require each login user to share some unused storage space and processor calculations. Resources, whether mandatory or non-mandatory, can be shared with other users through the community or groups for storage and specific computing needs. In this way, in addition to the concept of file sharing, bandwidth resources can be saved and expanded to the storage space and the sharing possibilities of computing power.

在此分享機制之下,一個由所有組成使用者全數互相同意組成的群組中,各使用者可選擇同意分享其未用相等或不相等的儲存空間。由所有使用者同意加入該群組應提供的個人儲存體大小以及可得的實際可用空間大小後,並可包括欲分享的計算資源。藉此,任意一位群組使用者可將私有資料分割為大量小區塊編碼後存放於其它群組成員儲存體中。因考量可得性及安全性故一份資料可存放在多位使用者處,故實際可得空間可能小於使用者提撥出來的空間,依群組設定的安全性而有不同。Under this sharing mechanism, in a group consisting of all the constituent users agreeing with each other, each user can choose to agree to share their unused equal or unequal storage space. All users agree to join the personal storage size that the group should provide and the actual available space available, and may include the computing resources to be shared. In this way, any one group user can divide the private data into a large number of cell block codes and store them in other group member storages. Due to the availability and security of the considerations, a single piece of information can be stored in multiple users. Therefore, the actual available space may be smaller than the space allocated by the user, depending on the security set by the group.

第一實施例:First embodiment:

群組與成員關係可以參考第二A圖所示的社群內各使用者資源分享的示意圖。For the group and membership relationship, refer to the schematic diagram of sharing user resources in the community shown in FIG.

圖中所示之範例顯示有一群組G1,成員包括有使用者211,212與213,各使用者加入時,包括未來加入的成員,皆可透過設定介面設定分享一固定的儲存空間,此例為各使用者分享相等的儲存空間,如500MB。也就是由各使用者端電腦系統形成複數個儲存節點,而此例中各節點的儲存空間為相等容量的。此例中,加入群組G1的條件是各成員需提供相等的儲存容量,儲存物件即可依據分割為複數個區塊檔案進行儲存。根據實施例之一,各群組依據群組使用者的數量可設有一可得率(availability),各區塊檔案依據可得率傳遞至複數可用儲存節點。藉此可增進可得率,以及異地備援的穩定性。The example shown in the figure shows a group G1. The members include users 211, 212 and 213. When users join, including future members, they can share a fixed storage space through setting interface settings. Users share equal storage space, such as 500MB. That is, a plurality of storage nodes are formed by each user-side computer system, and in this example, the storage space of each node is equal. In this example, the condition for joining the group G1 is that each member needs to provide an equal storage capacity, and the stored object can be stored according to the partition into a plurality of block files. According to one of the embodiments, each group may have an availability according to the number of group users, and each block file is delivered to the plurality of available storage nodes according to the availability rate. This will increase the availability and stability of off-site backup.

舉例來說,若群組G1成員皆提供500MB的分享儲存空間,其中設定一可得率選項,可得率若是設定為1比2(1:2),各使用者提供500MB,則只能得到250MB的備援空間,但各儲存物件則可有兩倍的可得率。可參考第四圖,其中各分割的物件區塊將可儲存至兩個儲存空間,得到200%的資料可得率。For example, if a group G1 member provides 500MB of shared storage space, and a rate option is set, if the available rate is set to 1 to 2 (1:2), each user provides 500MB, then only 250MB of spare space, but each item can have twice the availability. Referring to the fourth figure, each divided object block can be stored in two storage spaces to obtain a data availability rate of 200%.

第二實施例:Second embodiment:

如第二B圖所示,群組G1中的成員亦可能同時屬於另一個群組,如圖所示,群組G1中使用者213同時屬於群組G2,群組G2成員包括使用者213,221與222。As shown in FIG. 2B, the members in the group G1 may also belong to another group at the same time. As shown in the figure, the user 213 in the group G1 belongs to the group G2 at the same time, and the members of the group G2 include the users 213, 221 and 222.

使用者可以加入一或多個群組,但是每一個群組中的加入條件是設計為人人相等的,以免有資料可得率問題以及異地備援不穩定或安全性的問題。此例中,加入群組G1的成員需提供500MB的儲存空間,故使用者211,212與213須提供500MB的硬碟空間。Users can join one or more groups, but the joining conditions in each group are designed to be equal to everyone, so as to avoid data availability problems and problems of remote backup instability or security. In this example, the members joining the group G1 need to provide 500 MB of storage space, so the users 211, 212 and 213 must provide 500 MB of hard disk space.

而若群組G2要求各成員提供700MB的儲存空間,圖中使用者221與222須設定700MB的分享儲存容量,而使用者213因為同時屬於群組G1與群組G2,所以使用者213就要提供1200MB(500MB+700MB)的儲存空間,實際運作上,執行社群運作的社群伺服程式可設有兩個獨立的邏輯空間(logic)。因此,若一個使用者屬於複數個群組,該使用者端系統則應具有相對複數個邏輯儲存空間,或是實際的儲存空間。If the group G2 requires each member to provide 700 MB of storage space, the users 221 and 222 in the figure must set a shared storage capacity of 700 MB, and the user 213 belongs to the group G1 and the group G2 at the same time, so the user 213 Provides 1200MB (500MB+700MB) of storage space. In practice, the community server that performs community operations can have two independent logics. Therefore, if a user belongs to a plurality of groups, the client system should have a plurality of logical storage spaces or actual storage spaces.

值得一提的是,在實際運作時,若是一個群組人數有複數個人,如N,資料最大可得率就是1比N(1:N),也就是一份資料可同時存在於N個人的硬碟上。但也可為小於N的值。若是可得率比值N太小,則整體資料可得性與安全性會不好;但若比值N較大,若是有成員離開群組或是有人加入,整個可得率與資料穩定性會產生困擾,甚至需要有特定伺服器處理資料可得性的問題。所以,N值應依據實際需要調整為一個適當的值,比如,一個有n人的群組,若n>5時,可得率最多就只設為5,避免太多浪費以及調整儲存體時浪費太多頻寬。It is worth mentioning that in actual operation, if there is a group of individuals, such as N, the maximum availability rate of the data is 1 to N (1:N), that is, a piece of information can exist in N people at the same time. On the hard drive. But it can also be a value less than N. If the availability ratio N is too small, the overall data availability and security will be poor; but if the ratio N is large, if a member leaves the group or someone joins, the overall availability and data stability will be generated. Trouble, even need to have a specific server to deal with the availability of data. Therefore, the value of N should be adjusted to an appropriate value according to actual needs. For example, a group with n people, if n>5, the maximum yield is only set to 5, avoiding too much waste and adjusting the storage. Waste too much bandwidth.

第三實施例:Third embodiment:

第二C圖顯示另一實施態樣,也就是群組內的成為可隨己意分享儲存空間。其中顯示有一個社群內的多個群組,比如群組G3,G4,G5,群組G3的成員有使用者201,202與203、群組G4成員有使用者203,204,205與206、群組G5成員有使用者206,207與208。其中有部份使用者可以分屬不同的群組,比如使用者203與使用者206。The second C-picture shows another embodiment, that is, the group within the group can share the storage space with the intention. There are multiple groups in a community, such as groups G3, G4, G5, members of group G3 have users 201, 202 and 203, members of group G4 have users 203, 204, 205 and 206, and members of group G5 have Users 206, 207 and 208. Some of the users can belong to different groups, such as user 203 and user 206.

各使用者端的電腦系統通常具有中央處理器(CPU)與硬碟或其他非揮發性記憶體的使用空間,在此網路儲存與計算資源分享系統中,各成員可選擇性地分享部份未用的儲存空間,比如透過系統提供的設定介面執行設定;而各端電腦系統中的中央處理器也可能處於部份閒置狀態,因此可分享出部份的計算資源,提供系統中其他群組成員執行分散式計算。The computer system of each user end usually has a space for use of a central processing unit (CPU) and a hard disk or other non-volatile memory. In this network storage and computing resource sharing system, each member can selectively share part of the data. The storage space used, for example, through the setting interface provided by the system, and the central processing unit in each computer system may also be partially idle, so that some computing resources can be shared and other group members in the system can be provided. Perform decentralized calculations.

此例中,各使用者透過設定介面設定所欲分享的電腦資源,比如使用者201分享了硬碟空間500M與20%的中央處理器資源、使用者202分享了硬碟空間500M與30%的計算資源、使用者203則分享硬碟空間1G與25%的中央處理器資源,使用者203的資源可同時提供群組G3與G4的成員使用。其他使用者的資源分享請參考圖中所示的範例。In this example, each user sets the computer resources to be shared through the setting interface. For example, the user 201 shares the hard disk space of 500M and 20% of the CPU resources, and the user 202 shares the hard disk space of 500M and 30%. The computing resource and the user 203 share 1G and 25% of the CPU resources of the hard disk space, and the resources of the user 203 can simultaneously provide the members of the groups G3 and G4. For other users' resource sharing, please refer to the example shown in the figure.

相關系統架構可參考第三圖顯示的網路儲存與計算資源分享系統示意圖。For related system architecture, refer to the schematic diagram of the network storage and computing resource sharing system shown in the third figure.

圖式顯示一個網路架構,一端具有提供社群服務的社群伺服器301,係為一虛擬網路社群之伺服器,為管理複數個使用者資料與群組行為之伺服器,可以叢集、網格運算或工作站實現的社群伺服器301。社群伺服器301中功能模組可包括有使用者管理模組311與群組管理模組312,相關功能可以軟體手段執行,包括管理使用者資料、帳號、識別方式等,社群行為由一社群伺服程式執行。The diagram shows a network architecture with a community server 301 providing community services at one end, which is a server of a virtual network community. It can be a server for managing multiple user profiles and group behaviors. A community server 301 implemented by a grid operation or a workstation. The function module in the community server 301 may include a user management module 311 and a group management module 312. The related functions may be performed by software means, including managing user data, an account number, a recognition method, etc., and the community behavior is The community server is executed.

系統另有一目錄伺服器303,為備份或分散儲存虛擬網路社群內的物件,特別記錄複數個使用者端系統之一資源分配表,包括儲存空間的資源分配狀況與各端計算資源的分配狀況。目錄伺服器303具有物件管理模組331與資源管理模組332,主要功能是提供各使用者間的物件儲存管理,包括利用分散式儲存手段將物件儲存於多個分享的節點中,更包括可以管理各節點(各使用者的電腦系統)提供的儲存空間與中央處理器的計算資源。The system further has a directory server 303 for backing up or decentralizing the objects in the virtual network community, and specifically recording a resource allocation table of a plurality of client systems, including resource allocation status of the storage space and allocation of computing resources at each end. situation. The directory server 303 has an object management module 331 and a resource management module 332. The main function is to provide object storage management between users, including storing the objects in multiple shared nodes by using distributed storage means, including Manage the storage space provided by each node (each user's computer system) and the computing resources of the central processing unit.

特別的是,目錄伺服器303同樣可為分散式儲存的一個儲存節點,或是作為完整備份儲存物件的伺服器。根據另一實施例,目錄伺服器中更特別具有一種流通量計數器,提供各種物件、資訊流量與統計的功能。In particular, the directory server 303 can also be a storage node for distributed storage or a server for a full backup storage object. According to another embodiment, the directory server more specifically has a throughput counter that provides various items, information flow, and statistics.

透過網路30,包括廣域與區域網路,各端使用端系統305,306,307,308與社群伺服器301與目錄伺服器303連接,使用者端系統為各種型式的電腦系統,而各使用者為虛擬網路社群之成員,可分屬為一或複數個群組,各使用端系統305,306,307,308皆可為特定物件之分散儲存節點(distributed storage node)。Through the network 30, including the wide area and the regional network, each end user system 305, 306, 307, 308 is connected to the community server 301 and the directory server 303. The user end system is various types of computer systems, and each user is a virtual network. The members of the road community can be divided into one or a plurality of groups, and each of the user systems 305, 306, 307, and 308 can be a distributed storage node of a specific object.

社群內可包括有一或複數個具有特定目的或共通特徵的虛擬群組,群組內的使用者可以同時屬於其他群組,各群組內的使用者間具有一聯繫關係(link),社群伺服器301即透過群組管理模組312記錄這個聯繫關係,群組管理模組312同樣較佳為利用軟體手段實現的伺服器模組,當使用者登入社群伺服器301時,即參考這個群組管理模組312提供的聯繫關係連結各群組,並接收由群組所傳遞的各種訊息。The community may include one or more virtual groups with specific purposes or common features. Users in the group may belong to other groups at the same time, and users in each group have a relationship (link). The group server 301 records the contact relationship through the group management module 312. The group management module 312 is also preferably a server module implemented by using a software means. When the user logs in to the community server 301, the reference is made. The contact relationship provided by the group management module 312 links the groups and receives various messages transmitted by the group.

在實際實施時,各使用者端系統305,306,307與308將隨時與目錄伺服器303同步資訊,包括現有有效的儲存節點、計算資源等。社群伺服器301與目錄伺服器303可非為兩個分開且獨立的伺服主機,亦可能為一個伺服主機(包括叢集)中的兩個功能模組(伺服器,server),分別執行使用者帳戶、群組關係、物件儲存與計算資源的管理工作。In actual implementation, each client system 305, 306, 307, and 308 will synchronize information with the directory server 303 at any time, including existing valid storage nodes, computing resources, and the like. The community server 301 and the directory server 303 may not be two separate and independent server hosts, or may be two function modules (servers) of a server host (including clusters), respectively executing users. Account, group relationship, object storage and management of computing resources.

群組內各使用者間可依設定定義資源共享關係,凡是位於可共享的關係範圍內的使用者即可以共享其中計算資源、儲存資源與頻寬資源等。在此架構下,各種物件可依選擇不同的共享名單或範疇而達成安全性以及便利性的平衡。Each user in the group can define a resource sharing relationship according to the settings. Users who are within the sharable relationship can share computing resources, storage resources, and bandwidth resources. Under this architecture, various objects can be balanced in terms of security and convenience by selecting different sharing lists or categories.

舉例來說,上述儲存方式可按照群組使用者的安全等級,資料可能只備份一份或者至多至五份,包括備份在特定節點,或是目錄伺服器400中,可以大幅增加資料可得性、傳輸速度以及安全性。當資料有同步需求,包括其它使用者要寫入或讀回時,相關代理程式,如社群伺服程式等客戶端程式,會提醒使用者不要關機以維持群組資料可得率。若單一使用者可得率一直太差則可以在多數使用者要求下退出群組。For example, the above storage method may be based on the security level of the group user, and the data may be backed up only one time or up to five copies, including backup at a specific node or the directory server 400, which can greatly increase data availability. , transmission speed and security. When the data has synchronization requirements, including other users to write or read back, related agents, such as community server and other client programs, will remind users not to shut down to maintain the group data availability rate. If the single user availability rate is always too bad, the group can be exited at the request of most users.

值得一提的是,為提高經過分散儲存的資料可得率及可寫入率,本揭露書所揭露的網路儲存與計算資源分享系統允許暫時將某些應分散於其它節點的區塊暫存於目錄伺服器或者群組中上線媒合機率最高的節點中,於其它用戶上線時再行移轉過去。It is worth mentioning that in order to improve the availability and writeability of data that has been stored in a distributed manner, the network storage and computing resource sharing system disclosed in the present disclosure allows temporary suspension of certain blocks that should be dispersed among other nodes. It is stored in the directory server or the node with the highest probability of the upper-line mediation in the group. When other users go online, they will move again.

另外的特色是,各物件所得的備援空間可視群組成員比例而定,若群組成員為1比X(1:X),每提供X百萬位元(MByte)給群組共用時,各使用者可以得到1MB的共用備援空間。Another feature is that the spare space obtained by each object can be determined by the proportion of the group members. If the group members are 1 to X (1:X), and each provides X million bits (MByte) for group sharing, Each user can get 1MB of shared spare space.

請參閱第四圖顯示之中物件分割儲存示意圖。Please refer to the figure in the fourth figure for the partition storage of objects.

第四圖為一個1比2的儲存空間共用的群組,使用者的物件40經切割後成為多個區塊。圖中顯示一個待儲存的物件40,為社群中的一使用者產生的物件,透過本揭露書的網路儲存與計算資源分享系統提供的分散式儲存手段執行儲存。首先,如圖中顯示,物件40將先根據一種演算方法分割為複數個區塊檔案,各個區塊檔案以封包方式傳遞給各個儲存節點,每個分散在不同節點的區塊檔案具有區塊編號(block serial number),並連結所屬物件的物件識別碼(Object ID)。The fourth figure is a group shared by a 1 to 2 storage space, and the user's object 40 is cut into a plurality of blocks. The figure shows an object 40 to be stored, which is an object generated by a user in the community, and is stored by the distributed storage means provided by the network storage and computing resource sharing system of the disclosure. First, as shown in the figure, the object 40 will be first divided into a plurality of block files according to a calculation method, and each block file is transmitted to each storage node in a packet manner, and each block file dispersed in different nodes has a block number. (block serial number), and link the object ID (Object ID) of the object.

圖中的物件40分隔為多個區塊,各區塊的資訊至少包括兩個部份,其一為用於識別該區塊的物件識別碼與區塊編號,並接著就是資料區塊(data block),如圖中物件ID與區塊編號401a,402a,403a,404a,405a與資料區塊401b,402b,403b,404b,405b。The object 40 in the figure is divided into a plurality of blocks, and the information of each block includes at least two parts, one of which is an object identification code and a block number for identifying the block, and then is a data block (data Block), as shown in the figure ID and block number 401a, 402a, 403a, 404a, 405a and data blocks 401b, 402b, 403b, 404b, 405b.

進行分散式儲存時,由社群中目錄伺服器400得知相關群組成員41,42,43,44所形成的各儲存節點的狀態,包括各節點分享的儲存空間與位置。接著,根據各節點的狀態將分割後的區塊分別儲存於各節點。另外,物件之儲存可視需求編碼(也可不編碼),然後將各區塊分散存至不同的儲存節點中。When the distributed storage is performed, the directory server 400 in the community knows the status of each storage node formed by the related group members 41, 42, 43, 44, including the storage space and location shared by each node. Next, the divided blocks are stored in each node according to the state of each node. In addition, the storage of the object can be visually encoded (or not encoded), and then the blocks are distributed to different storage nodes.

上述分割及小區塊編碼方式包括各式加密方法,比如DES或RAS等各種加密法,以及提高資料利用率的分割編碼方式,比如RAID 5編碼方法。The above-mentioned segmentation and cell block coding methods include various encryption methods, such as various encryption methods such as DES or RAS, and a division coding method for improving data utilization, such as a RAID 5 coding method.

另外值得一提的是,系統應隨時保持一定程度的資料可得率,若可得率設為1比2,分割的區塊將可儲存至兩個儲存節點,使得儲存物件保持在200%的資料可得率。It is also worth mentioning that the system should maintain a certain degree of data availability at any time. If the availability rate is set to 1 to 2, the divided blocks will be stored in two storage nodes, so that the storage items are kept at 200%. Data availability.

除了上述物件儲存的方案外,應用於上述網路虛擬社群的網路儲存與計算資源分享系統更包括有各節點提供的計算資源的共享機制。In addition to the above-mentioned object storage scheme, the network storage and computing resource sharing system applied to the above-mentioned network virtual community further includes a sharing mechanism of computing resources provided by each node.

計算資源分享實施例:Computing resource sharing embodiment:

根據實施例,基於社群所建立的群組中可由部份或是所有組成使用者同意分享各節點的計算機能力,由群組中的計算需求發起人得到各成員同意後,系統將需要分散式計算的資料區塊傳送至各個參與計算的節點。在每個節點完成運算後再將結果區塊回傳至群組共用儲存體中,由發起人的應用程式取回組合成最終結果。According to an embodiment, based on the community established group, some or all of the constituent users may agree to share the computer capabilities of each node. After the computing demand initiators in the group obtain the consent of the members, the system will need to be distributed. The calculated data block is transmitted to each node participating in the calculation. After each node completes the operation, the result block is returned to the group shared storage, and the application of the initiator is retrieved and combined into a final result.

第五圖描述本發明計算資源分享流程圖,其中揭露的計算資源分享方法主要是利用了各使用者端系統中閒置的中央處理器的計算資源,各端使用者系統可應用一個分散式計算的程式,如系統所提供的應用程式介面(Application programming interface,API),除了可以遞交各分散的計算需求外,並可將分別由各節點計算完成的結果再彙整回群組的共用空間中。凡包括影像資料處理或者是其它分散式處理,皆可以藉此達成。The fifth figure describes the flow of computing resource sharing according to the present invention. The method for sharing computing resources is mainly to utilize the computing resources of the idle central processing unit in each user end system, and the user system of each end can apply a distributed computing method. The program, such as the application programming interface (API) provided by the system, can not only deliver the distributed computing requirements, but also recombine the results calculated by each node into the shared space of the group. This can be achieved by including image data processing or other decentralized processing.

流程開始如圖中步驟S501,由一群組成員的使用者端系統產生一計算需求,透過上述分散式計算的程式發出訊息,接收一計算資源分配表(步驟S503),比如由目錄伺服器取得各節點提供的計算資源分配表,分散式計算的程式將取得其中群組關係51、各計算資源(計算節點)的可用度52與各節點計算資源53,並據以產生配置於各計算節點的計算資源配置(步驟S505)。相關訊息有分享計算資源的群組成員列表,可用度包括各成員是否上線、頻寬,並其歷史記錄等,計算資源則包括各計算節點之計算機能力、分享百分比等。The process begins with the step S501 of the figure, the user end system of a group member generates a computing requirement, and sends a message through the distributed computing program to receive a computing resource allocation table (step S503), such as obtained by the directory server. The computing resource allocation table provided by each node, the distributed computing program will obtain the group relationship 51, the availability of each computing resource (computing node) 52 and the computing resources of each node 53, and accordingly generate the configuration parameters of each computing node. The resource configuration is calculated (step S505). Related information includes a list of group members sharing computing resources. The availability includes whether each member is online, bandwidth, and its history. The computing resources include the computer capabilities and percentage of sharing of each computing node.

之後再如步驟S507,上述各節點的分散式計算的程式將傳遞分散計算需求至各計算節點,將一段時間的運算後,發起此計算需求的使用者將可透過分散式計算的程式接收各計算節點的計算結果(步驟S509),並彙整產生一總的計算結果(步驟S511)。Then, in step S507, the distributed calculation program of each node above transmits the distributed computing requirement to each computing node, and after a period of operation, the user who initiates the computing requirement will receive the calculations through the distributed computing program. The calculation result of the node (step S509), and the integration produces a total calculation result (step S511).

儲存空間分享實施例:Storage space sharing example:

第六圖則描述應用本發明系統執行的分散儲存流程。先如步驟S601,使用者登入社群,登入的方式可由網頁瀏覽器透過社群伺服器提供的介面,或是獨立執行於使用者端系統的伺服程式。登入後,如步驟S603,各使用者端系統將先連結伺服器,如社群伺服器,同步其中群組資訊及記錄複數個儲存節點的儲存空間的資源分配表。The sixth diagram depicts the decentralized storage process performed by the system of the present invention. First, in step S601, the user logs in to the community, and the login method can be performed by a web browser through an interface provided by the community server or a server program independently executed by the user end system. After logging in, in step S603, each client system first connects a server, such as a community server, to synchronize the group information and record the resource allocation table of the storage space of the plurality of storage nodes.

根據所得儲存空間的資源分配表可以判斷可用儲存節點(步驟S605),藉此得出一或複數個可用儲存節點,以避免檔案儲存錯誤,並接著判斷目前各可用儲存節點的可用儲存空間額度(步驟S607),包括整合各節點的儲存額度,藉此判斷儲存物件可否存入?(步驟S609)。The available storage nodes may be determined according to the resource allocation table of the obtained storage space (step S605), thereby obtaining one or more available storage nodes to avoid file storage errors, and then determining the available storage space quota of each available storage node ( Step S607), including integrating the storage quota of each node, thereby judging whether the stored object can be deposited? (Step S609).

若判斷出額度不足,則結束步驟。若額度仍夠,則進行分散式儲存的程序,包括根據一分散式的演算法分割物件,特別是需要依據目前可用的儲存節點數量與空間執行分割,分割儲存物件為複數個區塊檔案(步驟S611),接著傳遞分割之區塊檔案至各可用儲存節點(步驟S613),經確認儲存完畢後(步驟S615),可以同步更新儲存空間的資源分配表(步驟S617)。If it is determined that the amount is insufficient, the step is ended. If the quota is still sufficient, the distributed storage process includes dividing the object according to a decentralized algorithm, in particular, performing segmentation according to the currently available number of storage nodes and space, and dividing the stored object into a plurality of block files (steps) S611), the divided block file is transferred to each available storage node (step S613), and after confirming that the storage is completed (step S615), the resource allocation table of the storage space can be updated synchronously (step S617).

在上述儲存的流程中,在選擇儲存節點時,如第四圖中各區塊檔案與各使用者端系統間的連線,一般可依據一個平均亂度存放,可避免太多區塊存在同一個儲存節點中。若使用者分享出來的空間出現極度不平均(通常是超過均量許多)的情況,系統也會自動參考此異常分享的使用者的資源可得率,即依據各儲存節點之資源可得率執行儲存,包括上線時間與其網路頻寬等,因素限制其可用空間大小。In the above-mentioned storage process, when selecting a storage node, such as the connection between each block file and each user end system in the fourth figure, generally, it can be stored according to an average disorder, and too many blocks can be avoided. In a storage node. If the space shared by the user is extremely uneven (usually more than the average), the system will automatically refer to the resource availability rate of the user who shares the abnormality, that is, according to the resource availability rate of each storage node. Storage, including the online time and its network bandwidth, etc., factors limit the amount of available space.

除了一般可以公開的資料外,此分散式儲存的方案亦可儲存其它使用者的私有資料,其中各群組使用者可以將使用分享儲存空間的物件資料設定為群組成員共用,共用的物件將不進行編碼並將儲存空間的資源分配表公開至所有群組成員中,故所有群組成員皆可讀取此物件。如第四圖顯示的各分割區塊,由於各區塊編號的索引資料以及其編碼金鑰並不存在在其它使用者端,故無法看到任何有意義資料,各端僅能得到共享空間被使用的比例。另外,若存入共享空間的標示為公用資料,則所有屬於該群組的使用者則可以共享編碼金鑰以及區塊的分配表,每一個群組內的成員都可以快速讀取到該物件,成為一般公開型的分散式檔案系統。In addition to the generally publicly available materials, this decentralized storage solution can also store private data of other users. Each group user can set the object data using the shared storage space to be shared by the group members, and the shared objects will be shared. The object is not readable and the resource allocation table of the storage space is exposed to all group members, so all group members can read the object. As shown in the fourth figure, since the index data of each block number and its encoding key do not exist in other user terminals, no meaningful data can be seen, and only the shared space can be used at each end. proportion. In addition, if the information stored in the shared space is public data, all users belonging to the group can share the code key and the allocation table of the block, and members in each group can quickly read the object. , became a general open type of distributed file system.

接著,當使用者欲由各分散的節點取出檔案時,可參考第七圖所描述的分散取檔流程。Then, when the user wants to take out the files from the scattered nodes, the distributed pickup process described in the seventh figure can be referred to.

使用者同樣需要登入社群,如步驟S701,透過社群伺服程式(包括獨立安裝在各使用者端系統與透過網頁瀏覽器驅動的程式)由社群伺服器同步群組資訊及各節點的儲存空間的資源分配表(步驟S703)。由儲存空間的資源分配表取得區塊資訊(步驟S705),主要是瞭解一些物件分配在各儲存節點的配置情形。The user also needs to log in to the community. In step S701, the community server synchronizes the group information and the storage of each node through the community server (including programs installed on each client system and through a web browser). The resource allocation table of the space (step S703). The block information is obtained from the resource allocation table of the storage space (step S705), mainly to understand the configuration situation in which some objects are allocated in each storage node.

接著如步驟S707,程式將判斷是否有重複區塊?若其中並未有重複區塊,則直接取檔(步驟S711);若有重複區塊,系統將選擇較佳路徑進行取檔(步驟S709)。此例中,系統將會按照指示物件區塊配置的儲存空間的資源分配表向不同儲存節點取得對應之區塊編碼,並提供查詢各物件區塊的來源群組路徑。若其中有相同區塊存在,則向登記於較近網路或過去連線速度紀錄較高的用戶優先取得。Then, as in step S707, the program will determine whether there are duplicate blocks? If there is no duplicate block, the file is directly taken (step S711); if there is a duplicate block, the system selects the preferred path for the file (step S709). In this example, the system will obtain the corresponding block code from different storage nodes according to the resource allocation table of the storage space configured to indicate the object block, and provide a source group path for querying each object block. If the same block exists, it is preferentially obtained from users registered in the near network or in the past with a higher connection speed record.

最後,如步驟S713,程式將判斷是否完成取檔?若尚未完成,會繼續取檔,包括重複上述步驟S707等步驟。若已完成,則確認檔案可用(步驟S715)。Finally, in step S713, the program will determine whether the file is completed. If it has not been completed, the file will continue to be retrieved, including repeating the above steps S707 and the like. If it has been completed, it is confirmed that the file is available (step S715).

由於社群中各群組成員可能有異動,此舉將影響該節點經過分散儲存的檔案可用性,值得一提的是,群組內的分散式儲存方式在每個物件儲存時,會同時執行任何可能的備份機制,包括於目錄伺服器中儲存一備份、於各儲存節點備份多次,或是提出其他可回復檔案的冗餘(redundancy)機制,比如應用在磁碟陣列中的獨立磁碟冗餘陣列(RAID)的技術。因此,如果群組中有任何節點出現錯誤或是該成員離開,本揭露書提出的系統將根據所提出的備份與回復機制處理群組成員異動的狀況,主要步驟如第八圖所描述之群組成員異動之處理流程圖。Since the members of each group in the community may have changed, this will affect the file availability of the node after decentralized storage. It is worth mentioning that the distributed storage method in the group will execute any file at the same time when each object is stored. Possible backup mechanisms include storing a backup in the directory server, backing up multiple times at each storage node, or presenting a redundancy mechanism for replying files, such as independent disk storage in the disk array. Remaining array (RAID) technology. Therefore, if any node in the group has an error or the member leaves, the system proposed by the present disclosure will handle the situation of group member changes according to the proposed backup and reply mechanism. The main steps are as described in the eighth figure. Flow chart of the processing of group members.

步驟開始如S801,使用者登入社群,當下即與伺服器同步所屬群組的成員資訊(步驟S803),包括有成員離開該群組,或是該節點已經變動。如步驟S805,系統將由各成員資訊判斷是否有人員異動?包括任何節點所在的電腦系統的改變造成分散儲存的問題。The step starts as S801, the user logs in to the community, and immediately synchronizes the member information of the group with the server (step S803), including that the member leaves the group, or the node has changed. In step S805, the system will judge whether there is a person change by the member information. Changes that include the computer system in which any node is located cause problems with decentralized storage.

若經判斷並無任何成員的變動(否),即結束此處理群組變動的程序(步驟S817);若有成員變動(是),再如步驟S807,社群伺服程式將再判斷是否有任何成員減少?,若否,表示有新增的成員,但此成員所屬的節點並無任何與原本儲存的檔案有關的資料,故僅如步驟S815,系統將更新成員列表。If it is determined that there is no change of any member (No), the process of changing the processing group is ended (step S817); if there is a member change (Yes), then in step S807, the community server program will judge whether there is any Reduced membership? If no, it means that there is a new member, but the node to which the member belongs does not have any information related to the originally stored file, so only the step S815, the system will update the member list.

若有任何成員離開或是被刪除(是),系統將如步驟S809,執行檔案取回或刪除(若該成員仍在線)該份檔案,或執行其他回復備份機制,再重新分配至其他成員的儲存空間(步驟S811),並更新系統與配置於各群組成員的區塊資訊,也就是儲存空間的資源分配表(步驟S813)。最後即結束此流程(步驟S817)。If any member leaves or is deleted (Yes), the system will perform the file retrieval or deletion (if the member is still online), or perform other reply backup mechanism, and then reassign to other members as in step S809. The storage space is stored (step S811), and the system and the block information arranged in each group member, that is, the resource allocation table of the storage space are updated (step S813). This process is finally ended (step S817).

綜上所述,上述揭露一種運作於社群內的網路儲存與計算資源分享系統與方法,應用分散式的儲存與計算方案,能夠充分應用各使用者端的系統資源,提供一種網路虛擬社群中的物件分享機制。In summary, the above disclosure discloses a network storage and computing resource sharing system and method operating in a community, and applying a distributed storage and computing solution, which can fully apply system resources of each user end, and provide a network virtual society. Object sharing mechanism in the group.

惟以上所述僅為本發明之較佳可行實施例,非因此即侷限本發明之專利範圍,故舉凡運用本發明說明書及圖示內容所為之等效結構變化,均同理包含於本發明之範圍內,合予陳明。However, the above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Therefore, equivalent structural changes that are made by using the specification and the contents of the present invention are equally included in the present invention. Within the scope, it is combined with Chen Ming.

10...使用者10. . . user

A,B,C...指定朋友A, B, C. . . Designated friend

12...群組12. . . Group

A’,B’,C’...授權的使用者A’, B’, C’. . . Authorized user

G1,G2,G3,G4,G5...群組G1, G2, G3, G4, G5. . . Group

201,202,203,204,205,206,207,208,211,212,213,221,222...使用者201, 202, 203, 204, 205, 206, 207, 208, 211, 212, 213, 221, 222. . . user

301...社群伺服器301. . . Community server

303...目錄伺服器303. . . Directory server

30...網路30. . . network

311...使用者管理模組311. . . User management module

312...群組管理模組312. . . Group management module

331...物件管理模組331. . . Object management module

332...資源管理模組332. . . Resource management module

305,306,307,308...使用端系統305,306,307,308. . . End system

40‧‧‧物件 40‧‧‧ objects

401a,402a,403a,404a,405a‧‧‧物件ID與區塊編號 401a, 402a, 403a, 404a, 405a‧‧‧object ID and block number

401b,402b,403b,404b,405b‧‧‧資料區塊 401b, 402b, 403b, 404b, 405b‧‧‧ data block

41,42,43,44‧‧‧群組成員 41, 42, 43, 44‧ ‧ group members

400‧‧‧目錄伺服器 400‧‧‧ directory server

51‧‧‧群組關係 51‧‧‧Group relations

52‧‧‧可用度 52‧‧‧ Availability

53‧‧‧節點計算資源 53‧‧‧Node computing resources

步驟S501~S511‧‧‧分散計算流程 Step S501~S511‧‧‧Distributed calculation process

步驟S601~S617‧‧‧分散儲存流程 Step S601~S617‧‧‧Distributed storage process

步驟S701~S715‧‧‧分散取檔流程 Step S701~S715‧‧‧Distributed file transfer process

步驟S801~S817‧‧‧群組成員異動處理流程 Step S801~S817‧‧‧Group member transaction processing

第一A圖與第一B圖所示為社群中基本群組示意圖;The first A picture and the first B picture show a schematic diagram of the basic group in the community;

第二A圖、第二B圖與第二C圖顯示社群內各使用者資源分享的示意圖;The second A diagram, the second B diagram, and the second C diagram show schematic diagrams of sharing user resources in the community;

第三圖顯示本發明網路儲存與計算資源分享系統示意圖;The third figure shows a schematic diagram of the network storage and computing resource sharing system of the present invention;

第四圖顯示為本發明中物件分割儲存示意圖;The fourth figure shows a schematic diagram of the partition storage of the object in the present invention;

第五圖描述本發明計算資源分享流程圖;The fifth figure depicts a flow chart of computing resource sharing according to the present invention;

第六圖描述本發明分散儲存流程圖;Figure 6 is a flow chart showing the distributed storage of the present invention;

第七圖描述本發明分散取檔流程圖;Figure 7 is a flow chart showing the distributed retrieval of the present invention;

第八圖描述本發明群組成員異動之處理流程圖。The eighth figure depicts a flow chart of the processing of the group members of the present invention.

40...物件40. . . object

401a,402a,403a,404a,405a...物件ID與區塊編號401a, 402a, 403a, 404a, 405a. . . Object ID and block number

401b,402b,403b,404b,405b...資料區塊401b, 402b, 403b, 404b, 405b. . . Data block

41,42,43,44...群組成員41, 42, 43, 44. . . Group member

400...目錄伺服器400. . . Directory server

Claims (12)

一種網路儲存方法,係應用於具有複數個登錄使用者的一網路虛擬社群中,包括:一使用者端系統連結一社群伺服器,係由該使用者端系統之使用者登入該網路虛擬社群,複數個使用者端系統形成複數個儲存節點,其中該網路虛擬社群包括一或複數個群組,於該使用者加入該網路虛擬社群的該至少一個群組後,該使用者端系統的儲存空間即分別擴充至所屬之該至少一個群組;同步該使用者所屬之該群組之資訊及記錄該複數個儲存節點的儲存空間資源分配狀況之一資源分配表;由該資源分配表得出複數個可用儲存節點;根據該複數個可用儲存節點之可用儲存空間額度判斷一儲存物件可否存入;若判斷出額度不足,則結束步驟;以及若額度足夠,則執行一分散式儲存的程序,其中該分散式儲存的程序包括:依據該得出之複數個可用儲存節點與儲存空間分割該儲存物件為複數個區塊檔案,依據各儲存節點之資源可得率傳遞該分割之區塊檔案至各可用儲存節點,其中資源可得率至少包括參考各儲存節點上線時間與網路頻寬;以及經確認儲存完畢後,更新儲存空間的該資源分配表;其中,該儲存物件為私有資料或公開資料,當該儲存物件為私有資料時,僅該儲存物件所屬之該使用者透過該資源分配表讀取該儲存物件,當該儲存物件 為公開資料時,該群組之所有成員透過該資源分配表讀取該儲存物件:其中,當該一個群組中的人數有複數個人,為N個人,則該資源可得率的一資料最大可得率為1:N。 A network storage method is applied to a network virtual community having a plurality of login users, including: a user terminal system is connected to a community server, and the user of the user terminal system logs in The network virtual community, the plurality of client systems form a plurality of storage nodes, wherein the network virtual community includes one or more groups, and the user joins the at least one group of the network virtual community Afterwards, the storage space of the user end system is respectively expanded to the at least one group to which the group belongs; the information of the group to which the user belongs is synchronized, and the resource allocation of the storage space resource allocation status of the plurality of storage nodes is recorded. Forming, by the resource allocation table, a plurality of available storage nodes; determining whether a stored object can be deposited according to the available storage space quota of the plurality of available storage nodes; if it is determined that the amount is insufficient, ending the step; and if the amount is sufficient, And executing a distributed storage program, wherein the distributed storage program comprises: a plurality of available storage nodes and storage spaces according to the plurality of available storage nodes Cutting the stored object into a plurality of block files, and transmitting the divided block file to each available storage node according to the resource availability rate of each storage node, wherein the resource availability rate includes at least reference to each storage node online time and network frequency And the resource allocation table for updating the storage space after the storage is confirmed; wherein the storage object is private data or public information, and when the storage object is private data, only the user to which the storage object belongs is The resource allocation table reads the storage object when the storage object When the information is published, all members of the group read the stored object through the resource allocation table: wherein, when the number of people in the group is plural, and N is the person, the resource availability rate is the largest. The yield is 1:N. 如申請專利範圍第1項所述之網路儲存方法,其中該複數個區塊檔案依據一個平均亂度存放於各可用儲存節點。 The network storage method of claim 1, wherein the plurality of block files are stored in each available storage node according to an average disorder. 如申請專利範圍第1項或第2項所述之網路儲存方法,其中各個區塊檔案以一封包方式傳遞給各個儲存節點,每個分散在不同儲存節點的區塊檔案具有一區塊編號,並連結一物件識別碼。 For example, the network storage method described in claim 1 or 2, wherein each block file is transmitted to each storage node in a packet, and each block file dispersed in different storage nodes has a block number. And link an object identification code. 如申請專利範圍第1項所述之網路儲存方法,其中該儲存於各儲存節點的區塊檔案係經過編碼。 The network storage method of claim 1, wherein the block file stored in each storage node is encoded. 如申請專利範圍第1項所述之網路儲存方法,其中該使用者之所屬群組中的複數個使用者端系統分享相等容量的儲存空間。 The network storage method of claim 1, wherein the plurality of client systems in the group to which the user belongs share an equal amount of storage space. 如申請專利範圍第5項所述之網路儲存方法,其中該使用者屬於複數個群組,該使用者端系統具有複數個邏輯儲存空間。 The network storage method of claim 5, wherein the user belongs to a plurality of groups, and the user end system has a plurality of logical storage spaces. 一種計算資源分享方法,係應用於具有複數個登錄使用者的一網路虛擬社群中,包括:一使用者端系統之使用者登入該網路虛擬社群,其中該網路虛擬社群包括一或複數個群組,於該使用者加入該網路虛擬社群的該至少一個群組後,複數個使用者端系統形成該所屬群組之複數個計算節點,由該使用者端系統產生一計算需求;接收一計算資源分配表,得知該使用者端系統所屬之 一群組關係、各計算節點的可用度與各計算節點之計算資源;根據該使用者端系統所屬之該群組中的其他計算節點之可用度與計算資源產生配置於各計算節點的計算資源配置;參考該群組中各計算節點的可用度,至少參考各使用者端系統是否上線、頻寬,與歷史記錄的資訊,再傳遞分散計算需求至該群組所屬之各計算節點;以及於該群組所屬之各計算節點計算完成後,該使用者端系統接收各計算節點之計算結果;以及彙整產生一總的計算結果;其中,當該一個群組中的人數有複數個人,為N個人,則該計算資源中的一資料最大可得率為1:N。 A computing resource sharing method is applied to a network virtual community having a plurality of login users, including: a user of a user-side system logging into the network virtual community, wherein the network virtual community includes One or more groups, after the user joins the at least one group of the virtual community of the network, the plurality of user end systems form a plurality of computing nodes of the belonging group, and are generated by the user end system a computing requirement; receiving a computing resource allocation table to know that the user terminal system belongs to a group relationship, the availability of each computing node, and the computing resources of each computing node; generating computing resources configured for each computing node according to the availability and computing resources of the other computing nodes in the group to which the user end system belongs Configuration; refer to the availability of each computing node in the group, at least refer to whether the user end system is online, bandwidth, and historical information, and then pass the distributed computing requirements to the computing nodes to which the group belongs; After the calculation of each computing node to which the group belongs is completed, the user end system receives the calculation result of each computing node; and the aggregation generates a total calculation result; wherein, when the number of people in the one group has multiple individuals, it is N Individual, the maximum availability of a piece of data in the computing resource is 1:N. 如申請專利範圍第7項所述之計算資源分享方法,其中該計算資源包括各計算節點的計算機能力與一分享百分比。 The computing resource sharing method of claim 7, wherein the computing resource comprises a computer capability and a sharing percentage of each computing node. 一種應用如申請專利範圍第1項或第7項所述之方法的網路儲存與計算資源分享系統,其中該系統包括:複數個使用者端系統,連接一網路,該複數個使用者端系統之複數個使用者為一虛擬網路社群之成員,各使用者分屬為一或複數個群組,其中於該使用者加入該虛擬網路社群的該至少一個群組後,該使用者端系統分別形成該所屬群組之複數個儲存節點與該所屬群組之複數個計算節點;一社群伺服器,連接該網路,係為該虛擬網路社群之伺服器,為管理複數個使用者資料與群組行為之伺 服器;以及一目錄伺服器,連接該網路,為備份或分散儲存該虛擬網路社群內的一儲存物件,並記錄該複數個使用者端系統之一資源分配表,其中該儲存物件為私有資料或公開資料,當該儲存物件為私有資料時,僅該儲存物件所屬之該使用者透過該資源分配表讀取該儲存物件,當該儲存物件為公開資料時,該群組之所有成員透過該資源分配表讀取該儲存物件。 A network storage and computing resource sharing system, such as the method of claim 1 or 7, wherein the system comprises: a plurality of client systems connected to a network, the plurality of users The plurality of users of the system are members of a virtual network community, and each user belongs to one or a plurality of groups, wherein after the user joins the at least one group of the virtual network community, The user end system respectively forms a plurality of storage nodes of the belonging group and a plurality of computing nodes of the belonging group; a social server connected to the network is a server of the virtual network community, Manage multiple user profiles and group behaviors And a directory server connected to the network for backing up or decentralized storage of a stored object in the virtual network community, and recording a resource allocation table of the plurality of user end systems, wherein the storage object For private data or public information, when the stored object is private data, only the user to which the stored object belongs reads the stored object through the resource allocation table, and when the stored object is publicly available, all of the group The member reads the stored object through the resource allocation table. 如申請專利範圍第9項所述之網路儲存與計算資源分享系統,其中該社群伺服器至少包括一使用者管理模組與一群組管理模組。 The network storage and computing resource sharing system of claim 9, wherein the community server comprises at least a user management module and a group management module. 如申請專利範圍第9項所述之網路儲存與計算資源分享系統,其中該目錄伺服器至少包括一物件管理模組與一資源管理模組。 The network storage and computing resource sharing system of claim 9, wherein the directory server comprises at least an object management module and a resource management module. 如申請專利範圍第9項至第11項其中之一所述之網路儲存與計算資源分享系統,其中該目錄伺服器為該物件之一備援空間。 The network storage and computing resource sharing system of any one of clauses 9 to 11, wherein the directory server is a spare space for the object.
TW099133514A 2010-10-01 2010-10-01 System and method for sharing network storage and computing resource TWI592805B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW099133514A TWI592805B (en) 2010-10-01 2010-10-01 System and method for sharing network storage and computing resource
US13/235,328 US20120084386A1 (en) 2010-10-01 2011-09-16 System and method for sharing network storage and computing resource

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099133514A TWI592805B (en) 2010-10-01 2010-10-01 System and method for sharing network storage and computing resource

Publications (2)

Publication Number Publication Date
TW201216073A TW201216073A (en) 2012-04-16
TWI592805B true TWI592805B (en) 2017-07-21

Family

ID=45890750

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099133514A TWI592805B (en) 2010-10-01 2010-10-01 System and method for sharing network storage and computing resource

Country Status (2)

Country Link
US (1) US20120084386A1 (en)
TW (1) TWI592805B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI779640B (en) * 2021-06-02 2022-10-01 宏碁股份有限公司 Computing resource sharing system and computing resource sharing method

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738725B2 (en) * 2011-01-03 2014-05-27 Planetary Data LLC Community internet drive
WO2013052068A1 (en) * 2011-10-07 2013-04-11 Intel Corporation Mechanism for employing and facilitating dynamic and remote memory collaboration at computing devices
CN102685245A (en) * 2012-05-29 2012-09-19 北京麦谱影随科技有限公司 Method and system for data social contact storage based on internet
US10114697B2 (en) * 2012-06-25 2018-10-30 International Business Machines Corporation Large object parallel writing
US11093327B1 (en) 2012-06-25 2021-08-17 Pure Storage, Inc. Failure abatement approach for failed storage units common to multiple vaults
TWI506456B (en) * 2013-05-23 2015-11-01 Chunghwa Telecom Co Ltd System and method for dispatching hadoop jobs in multi-cluster environment
TW201514732A (en) 2013-10-08 2015-04-16 Wistron Corp Method of integrating network storage spaces and control system thereof
TWI514811B (en) * 2013-11-28 2015-12-21 Synology Inc Method for controlling operations of network system
US9607002B2 (en) * 2013-12-18 2017-03-28 Intel Corporation File retrieval from multiple storage locations
TWI512595B (en) * 2013-12-27 2015-12-11 Ind Tech Res Inst Server, and managing and sharing system and method for personal digital resources
CN104077398B (en) * 2014-06-30 2017-09-22 中华电信股份有限公司 Job assignment system and method based on environment of gathering together Hadoop more
US10313243B2 (en) 2015-02-24 2019-06-04 Commvault Systems, Inc. Intelligent local management of data stream throttling in secondary-copy operations
US10298680B1 (en) 2015-09-23 2019-05-21 Cohesity, Inc. Dynamic throughput ingestion of backup sources
CN108228337B (en) * 2016-12-22 2021-08-27 财团法人工业技术研究院 Configuration method of central processing unit and server suitable for the same
TWI695321B (en) * 2018-12-14 2020-06-01 英屬維京群島商鯨鏈先進股份有限公司 Computational-component-based method and system for allocating computer resource
US10467360B1 (en) * 2019-01-02 2019-11-05 Fmr Llc System and method for dynamically determining availability of a computing resource
CN111935748B (en) * 2020-08-18 2023-06-23 国网河南省电力公司信息通信公司 Virtual network resource allocation method with high reliability and load balance
CN113094183B (en) * 2021-06-09 2021-09-17 苏州浪潮智能科技有限公司 Training task creating method, device, system and medium of AI (Artificial Intelligence) training platform

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074159A (en) * 1996-08-30 1998-03-17 Hitachi Ltd Method for controlling computer system
WO2002035359A2 (en) * 2000-10-26 2002-05-02 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
DE10236796B4 (en) * 2002-08-08 2004-12-02 Christian Dr. Scheideler Method and arrangement for randomized data storage in storage networks and / or an intranet and / or the Internet as well as a corresponding computer program product and a corresponding computer-readable storage medium
US20040117621A1 (en) * 2002-12-12 2004-06-17 Knight Erik A. System and method for managing resource sharing between computer nodes of a network
US20070091809A1 (en) * 2005-10-25 2007-04-26 Smith Jeffrey C Managed network resource sharing and optimization method and apparatus
US20080172720A1 (en) * 2007-01-15 2008-07-17 Botz Patrick S Administering Access Permissions for Computer Resources
IES20080508A2 (en) * 2007-06-22 2008-12-10 Tenoware R & D Ltd Network distributed file system
US8281023B2 (en) * 2008-11-14 2012-10-02 Qualcomm Incorporated Systems and methods for data authorization in distributed storage networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI779640B (en) * 2021-06-02 2022-10-01 宏碁股份有限公司 Computing resource sharing system and computing resource sharing method
US11948006B2 (en) 2021-06-02 2024-04-02 Acer Incorporated Computing resource sharing system and computing resource sharing method

Also Published As

Publication number Publication date
US20120084386A1 (en) 2012-04-05
TW201216073A (en) 2012-04-16

Similar Documents

Publication Publication Date Title
TWI592805B (en) System and method for sharing network storage and computing resource
US11256558B1 (en) Prioritized data rebuilding in a dispersed storage network based on consistency requirements
Khalaf et al. Optimized dynamic storage of data (ODSD) in IoT based on blockchain for wireless sensor networks
US10248506B2 (en) Storing data and associated metadata in a dispersed storage network
US8972366B2 (en) Cloud-based directory system based on hashed values of parent and child storage locations
US8051205B2 (en) Peer-to-peer distributed storage
US7596570B1 (en) Data sharing
TWI378344B (en) Data backup, recovery and deletion method through a distributed network and system thereof
US20160224638A1 (en) Parallel and transparent technique for retrieving original content that is restructured in a distributed object storage system
CN113572618A (en) Fabric and IPFS combined decentralized storage system and data storage method thereof
US10275400B1 (en) Systems and methods for forming a fault-tolerant federated distributed database
JP2020511808A (en) Shared secret based blockchain memory
WO2022007243A1 (en) Data processing method and apparatus for blockchain privacy protection, and computer device
Gattermayer et al. Blockchain-based multi-level scoring system for P2P clusters
JP6951410B2 (en) Manipulating the distributed agreement protocol to identify the desired storage unit set
Janpet et al. Reliable and available data replication planning for cloud storage
TW200817923A (en) Multiple peer groups for efficient scalable computing
US9940195B2 (en) Encryption of slice partials
JP6577604B2 (en) Relation chain processing method and system, and storage medium
Wang et al. Exploring peer-to-peer locality in multiple torrent environment
Chhabra et al. Implementation and Validation of the Optimized Deduplication Strategy in Federated Cloud Environment.
US10169369B2 (en) Meeting storage requirements with limited storage resources
US10304096B2 (en) Renting a pipe to a storage system
TWI481227B (en) System and method for forwarding object
KR102172328B1 (en) Apparatus and method for managing contents based on block chain

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees