The invention relates to a method and a device for providing a hard-disc drive on a computer, in particular the invention relates to a storage drive which is partitioned.
The continuous increase in available computer power and storage capacity on workstation PCs makes it possible to use these “free” capacities for tasks other than carrying out interactive applications for the user.
In particular, the introduction of workstation PCs with several processor cores or several individual processors makes it possible to use these capacities without the user experiencing impairment as a result.
It is advantageous for the software described here that the workstation PCs are networked with one another with a network of high band width.
The object of the present invention is to provide a method and a device which make it possible that the hard-disc space on a plurality of PCs can be used in a simple and uniform manner.
This object is achieved by an invention with the features of the independent claims.
In order to facilitate understanding of the invention, several definitions of terms are set out below.
A workstation PC refers to a computer on which an individual user normally works interactively. In contrast to this, a server is a computer on which either no interactive work is performed or which is used in parallel by several users. Due to the particular power and flexibility of computers and operating systems, the transition between a server and a workstation PC is, however, often fluid. In the Windows family, a workstation PC can also release a hard-disc drive or a directory such that it can act as a server. The workstation PCs described here can thus also act as servers.
A drive describes in this context a storage area for permanent storage of data to which a physical memory is assigned.
This physical memory is generally referred to as a partition. Under the operating systems of the Windows family, a letter is used for the purpose of addressing. In the case of other operating systems, the partition can also be represented as a part of a directory. It is thus not apparent to the user when he accesses a different hard disc or partition.
A virtual drive is a possibility for permanent storage of data. The storage area of a virtual drive is mapped onto an entire drive or a part of a drive. In particular, under an operating system of the Windows family, a virtual drive could be mapped into a file (part of a drive) or a partition (entire drive). A virtual drive appears to the user as a physical drive, but can in fact be a part of a physical drive, or several physical drives or other types of storage media such as RAM, Flash, etc.
A partitioned virtual drive is a possibility for permanent storage of data in a virtual drive. The storage area of the virtual drive is partitioned via various workstation PCs in this case to an entire drive or a part of a drive. Despite the partitioning to various drives, use as a coherent storage area is possible. This can be achieved transparently for the user.
The invention has the following general properties.
The partitioned virtual drive should be capable of running under an operating system of the Windows family. This is achieved by implementation as drivers. Use in other operating systems such as LINUX or UNIX is naturally also possible. Similar concepts are used here.
The invention makes it possible to install one or more virtual partitioned drives on the workstation PCs.
The partitioned virtual drives can be used by users under a drive letter just like other drives.
Administration and data partitioning for a partitioned virtual drive are carried out in a transparent manner for the user since the virtual drive appears as a real drive for the operating system due to the architecture of the driver.
File rights administration of the respectively used operating system functions without restrictions even within the partitioned virtual drive.
The storage area of the partitioned virtual drive is implemented on the respective workstation PCs within a file (container file).
The access rights to the files which serve as containers for the partitioned virtual drive are administered by means of the file rights administration of the respectively used operating system.
A link of the rights administration for files within the partitioned virtual drive to an ADS (Active Directory Service) is possible.
Installation and administration of the partitioned virtual drives on all workstation PCs are carried out via an administration system (administration tool).
The following particular properties are additionally implemented:
Data storage in the container files can be carried out redundantly. I.e. it is possible to adjust via the administration tool how often the data of a partitioned virtual drive is held as a copy. Setting a simple redundancy means that, for each container file, a copy is held on a different workstation PC. The redundancy can be adjusted between 1—no redundancy—and n—n-times redundancy.
In the case of redundant data storage in the container files with a redundancy of at least two, failure safety in the event of a disaster can be achieved. Events which prevent further use of a site are regarded here as disasters against which protection is provided. The prerequisite for this is therefore at least one further site. Groups of workstation PCs can be defined via the administration tool. The redundancy can be set such that a copy of the container file is always held in one group and the second copy in a different group. If the workstation PCs of one site are contained in the first group and the workstation PCs of a different site are contained in the second group, failure safety in the event of a disaster in the sense defined above is achieved.
One prerequisite is that the buildings are sufficiently far from one another such that it can be expected that an event which prevents further use of one site does not simultaneously affect the second site.
The access speed depends on two factors. On the one hand, optimum partitioning of the data in the container files and, on the other hand, the transmission time in the network.
The network structure can be detected via the admin tool and is stored within the partitioned virtual drive.
Data storage within the container files takes place in blocks in a similar manner to data storage on physical drives. A recording takes place of the unique identifier of workstation PCs, which access these blocks, within the container file.
Optimisations are carried out cyclically on the basis of this information. During an optimisation process, a statistical evaluation of the access frequency to each block is carried out. The storage location of the blocks is subsequently adapted with the help of the stored network structure such that an optimum access speed can be expected.
As a result of the stored network structure, the set of workstation PCs can be subdivided into the following subsets:
Therefore, it generally applies for all subsets Yqn for q greater than 0 that they are formed from the workstation PCs of q adjacent network segments with a distance of q−1.
A network segment encompasses all the workstation PCs which can be reached between one another via the network without network traffic having to be conducted via an active network component.
An active network component is e.g. a router or a switch.
Adjacent network segments with a distance n are network segments in which the network traffic between any two workstation PCs must be conducted through a maximum of n active network components.
In order to determine the optimum storage location for each block, the sum of the accesses from the workstation PCs is calculated for each block from each of subsets Tqn. In this case, the value for q will pass from 0 to m. Maximum value m for q can be set via the administration tool since it significantly influences the optimisation period. The number of blocks considered for optimisation and the frequency of optimisation can also be freely adjusted via the administration tool.
Subset Tqn with the highest sum of accesses is subsequently ascertained in accordance with the above measurement instructions. Subset Tq−1r which has the highest sum of accesses to the block is then ascertained again in the next step from all subsets Tq−1r of subset Tqn. This is continued until q=0. In other words, the workstation PC which has the highest access figures of all workstation PCs within T0i to the block is then ascertained in the last step from this last subset T0i.
The block is then physically moved to this workstation PC. If several workstation PCs have the same number of accesses in the last considered subset T0i, the block is thus moved to the workstation PC with the highest free capacity in terms of its share of the partitioned virtual drive.
Should sufficient storage space no longer be present on the selected workstation PC in terms of its share of the partitioned virtual drive, this is excluded from the optimisation process and a new workstation PC is selected in accordance with the above method.
A further element of the invention is the optimisation of power consumption. In the case of power consumption, a differentiation takes place by use of the partitioned virtual drive. If interactive accesses primarily take place, i.e. the users of the workstation PCs use the drive by means of accesses during their working time, additional power consumption is not to be expected (case I).
If the use of the partitioned virtual drive takes place outside the working time of the users of the workstation PCs, we are either dealing with batch operation (case IIa) or a use by users who do not work with the workstation PCs which are used for the partitioned virtual drive, but rather with other workstation PCs (case IIb). In this case, additional power consumption can arise in the case of the workstation PCs of the partitioned virtual drive.
In order to optimise power consumption, the data which is primarily used in cases II can be identified. This is carried out by additional recording of the access time together with recording of the unique identifiers of workstation PCs, which access these blocks, within the container file.
The blocks which are primarily used in cases II are identified on the basis of the access times.
Separate groups can be defined for these blocks by means of the admin tool. These groups form a subset of all the workstation PCs which are used for the partitioned virtual drive. Not all of the workstation PCs thus have to be active in case II. Using the operating system's own power saving functions, it is possible that all other workstation PCs outside the groups which were defined for case II reduce their power consumption to a minimum.
In one possible embodiment, the invention comprises three modules:
A further aspect is versioning. In this case, data storage in the container files can take place with various version statuses. Additional versions with an older date can exist alongside a current version for a block within a container file. Version copies are created on the basis of events or time or interactively. One possible embodiment of the event-based creation of version copies is the creation of a version copy of a block as soon as data is written in the relevant block.
The older version copies can no longer be changed by the user. The user can be provided again with historical statuses via the admin tool and older version copies can again be released for overwriting.
The versioning described here is used to achieve the following functions.
The figures are described briefly below, wherein the following description of the preferred embodiments refers to the figures. The figures and the preferred embodiments do not represent any restriction of the present invention and should only serve the function of possible examples:
a,
6
b, shows the progression of the optimisation process; Description of the preferred embodiments:
The administration software administers, on the one hand, the kernel drivers and, on the other hand, the server software which is installed on the individual workstation PCs. It is defined by means of these which computers are available for the virtual drive and what their capacity is. Moreover, the optimisation processes can be carried out by the administration software.
a shows the progression of the optimisation process in a PC network with a tree structure for a block. In this case, the square boxes represent the PCs which in each case hang in a branch which represents a network segment. In
b shows an alternative configuration in which network segment 1 receives the block with 46 accesses even if PC 6 with 30 accesses has the most hits in network segment 2 in absolute terms. However, 46 is greater than 31, as a result of which segment 1 should be taken into account.
| Number | Date | Country | Kind |
|---|---|---|---|
| 102006033285.7 | Jul 2006 | DE | national |
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/EP2007/054790 | 6/13/2007 | WO | 00 | 2/16/2009 |