Back

DSN and Computing Core


Drawings

Brief Description:

is a schematic block diagram of an embodiment of a dispersed or distributed storagenetwork (DSN) in accordance with the present invention; 

Detailed Description:

Figure 1 is a schematic block diagram of an embodiment of a dispersed, or distributed, storagenetwork DSN 100 that includes a plurality of computing devices 102, a managing unit 122, an integrity processing unit 114, and a DSN memory 116. The components of the DSN 100 are coupled to a network112, which may include one or more wireless and/or wire lined communication systems; one or more non-public intranet systems and/or public internet systems; and/or one or more local area networks (LAN) and/or wide area networks (WAN). 

The DSN memory 116 includes a plurality of storage units 118 that may be located at geographically different sites (e.g., one in chicago, one in milwaukee, etc.), at a common site, or a combination thereof. For example, if the DSN memory 116 includes eight storage units 118, each storage unit is located at a different site. As another example, if the DSN memory 116 includes eight storage units 118, all eight storage units are located at the same site. As yet another example, if the DSN memory 116 includes eight storage units 118, a first pair of storage units are at a first common site, a second pair of storage units are at a second common site, a third pair of storage units are at a third common site, and a fourth pair of storage units are at a fourth common site. Note that a DSN memory 116 may include more or less than eight storage units 118. Further note that each storage unit 118 includes a computing core (as shown in Figure 2, or components thereof) and a plurality of memory devices for storing dispersed error encoded data

Each of the computing devices 102, the managing unit 122, and the integrity processing unit 114 include a computing core 104, which includes network interfaces 108. Computing devices 102 may each be a portable computing device and/or a fixed computing device. A portable computing device may be a social networking device, a gaming device, a cell phone, a smart phone, a digital assistant, a digital music player, a digital video player, a laptop computer, a handheld computer, a tablet, a video game controller, and/or any other portable device that includes a computing core. A fixed computing device may be a computer (PC), a computer server, a cable set-top box, a satellite receiver, a television set, a printer, a fax machine, home entertainment equipment, a video game console, and/or any type of home or office computing equipment. Note that each of the managing unit 122 and the integrity processing unit 114 may be separate computing devices, may be a common computing device, and/or may be integrated into one or more of the computing devices 102 and/or into one or more of the storage units 118

Each interface 108, 108, and 108 includes software and hardware to support one or more communication links via the network112 indirectly and/or directly. For example, interface 108 supports a communication link (e.g., wired, wireless, direct, via a LAN, via the network112, etc.) between computing devices 14 and 102. As another example, interface 108 supports communication links (e.g., a wired connection, a wireless connection, a LAN connection, and/or any other type of connection to/from the network112) between computing devices 102 and 102 and the DSN memory 116. As yet another example, interface 108 supports a communication link for each of the managing unit 122 and the integrity processing unit 114 to the network112

Computing devices 102 and 102 include a dispersed storage (DS) client module 106, which enables the computing device to dispersed storage error encode and decode data (e.g., data 110) as subsequently described. In this example embodiment, computing device 102 functions as a dispersed storage processing agent for computing device 14. In this role, computing device 102 dispersed storage error encodes and decodes data on behalf of computing device 14. With the use of dispersed storage error encoding and decoding, the DSN 100 is tolerant of a significant number of storage unit failures (the number of failures is based on parameters of the dispersed storage error encoding function) without loss of data and without the need for a redundant or backup copies of the data. Further, the DSN 100 storesdata for an indefinite period of time without data loss and in a secure manner (e.g., the system is very resistant to unauthorized attempts at accessing the data). 

In operation, the managing unit 122 performs DS management services. For example, the managing unit 122 establishes distributed data storage parameters (e.g., vault creation, distributed storage parameters, security parameters, billing information, user profile information, etc.) for computing devices 102 individually or as part of a group of user devices. As a specific example, the managing unit 122 coordinates creation of a vault (e.g., a virtual memory block associated with a portion of an overall namespace of the DSN) within the DSN memory 116 for a user device, a group of devices, or for public access and establishes per vault dispersed storage (DS) error encoding parameters for a vault. The managing unit 122 facilitates storage of DS error encoding parameters for each vault by updating registry information of the DSN 100, where the registry information may be stored in the DSN memory 116, a computing device 102, the managing unit 122, and/or the integrity processing unit 114

The managing unit 122 creates and stores user profile information (e.g., an access control list (ACL)) in local memory and/or within memory of the DSN memory 116. The user profile information includes authentication information, permissions, and/or the security parameters. The security parameters may include encryption/decryption scheme, one or more encryption keys, key generation scheme, and/or data encoding/decoding scheme

The managing unit 122 creates billing information for a particular user, a user group, a vault access, public vault access, etc. For instance, the managing unit 122 tracks the number of times a user accesses a non-public vault and/or public vaults, which can be used to generate a per-access billing information. In another instance, the managing unit 122 tracks the amount of data stored and/or retrieved by a user device and/or a user group, which can be used to generate a per-data-amount billing information

As another example, the managing unit 122 performs network operations, network administration, and/or network maintenance. Network operations includes authenticating user data allocation requests (e.g., read and/or write requests), managing creation of vaults, establishing authentication credentials for user devices, adding/deleting components (e.g., user devices, storage units, and/or computing devices with a DS client module 106) to/from the DSN 100, and/or establishing authentication credentials for the storage units 118. Network administration includes monitoring devices and/or units for failures, maintaining vault information, determining device and/or unit activation status, determining device and/or unit loading, and/or determining any other system level operation that affects the performance level of the DSN 100. Network maintenance includes facilitating replacing, upgrading, repairing, and/or expanding a device and/or unit of the DSN 100. 

The integrity processing unit 114 performs rebuilding of `bad` or missing encoded data slices. At a high level, the integrity processing unit 114 performs rebuilding by periodically attempting to retrieve/list encoded data slices, and/or slice names of the encoded data slices, from the DSN memory 116. For retrieved encoded slices, they are checked for errors due to data corruption, outdated version, etc. If a slice includes an error, it is flagged as a `bad` slice. For encoded data slices that were not received and/or not listed, they are flagged as missing slices. Bad and/or missing slices are subsequently rebuilt using other retrieved encoded data slices that are deemed to be good slices to produce rebuilt slices. The rebuilt slices are stored in the DSN memory 116

Brief Description:

is a schematic block diagram of an embodiment of a computing core in accordance with the present invention; 

Detailed Description:

Figure 2 is a schematic block diagram of an embodiment of a computing core 104 that includes a processing module 208, a memory controller 204, main memory 206, a video graphics processing unit 202, an input/output (TO) i/o controller 210, a peripheral component interconnect (PCI) interface 218, an IO interface module 212, at least one IO device interface module 214, a Read only memory (ROM) basic input output system (BIOS) 216, and one or more memory interface modules. The one or more memory interface module(s) includes one or more of a universal serial bus (USB) interface module 220, a host bus adapter (HBA) interface module 222, a network interface module 224, a flash interface module 226, a hard drive interface module 228, and a DSN interface module 230

The DSN interface module 230 functions to mimic a conventional operating system (OS) file system interface (e.g., network file system (NFS), flash file system (FFS), disk file system (DFS), file transfer protocol (FTP), web-based distributed authoring and versioning (WebDAV), etc.) and/or a block memory interface (e.g., small computer system interface (SCSI), internet small computer system interface (iSCSI), etc.). The DSN interface module 230 and/or the network interface module 224 may function as one or more of the interface 108 of Figure 1. Note that the IO device interface module 214 and/or the memory interface modules 220-230 may be collectively or individually referred to as IO ports


Parts List

100

distributed, storage network (DSN)

102

computing device

104

computing core

106

ds dispersed storage (DS) client module

108

interface

110

data

112

114

integrity processing unit

116

DSN memory

118

storage units

120

managing unit

202

video graphics processing unit

204

memory controller

206

main memory

208

processing module

210

io controller

212

IO interface module

214

IO device interface module

216

Read only memory (ROM) basic input output system (BIOS)

218

peripheral component interconnect (PCI) interface

220

universal serial bus (USB) interface module

222

host bus adapter (HBA) interface module

224

network interface module

226

flash interface module

228

hard drive interface module

230

DSN interface module


Terms/Definitions

common computing device

universal serial bus

interface 30

other portable device

access control list

decodes data

DS error encoding parameters

good slices

internet small computer system interface

different site

storage unit

times

amount

system

devices

network

key generation scheme

non-public vault

peripheral component interconnect

encryption/decryption scheme

vault access

part

missing slices

slices

memory devices

further note

encoded data slices

bad and/or missing slices

parameters

stores

operation

WebDAV

peripheral component interconnect (PCI) interface

file transfer protocol

unauthorized attempts

connection

indefinite period

handheld computer

host bus adapter

milwaukee

user profile information

one or more communication links

error

second pair

data corruption

fourth pair

role

computer

digital assistant

IO device interface module

network interface module

data slices

network maintenance

printer

network operations

per-data-amount billing information

home

first common site

wide area networks

devices 12

public internet systems

portable computing device

network interfaces

error encoded data

unit

storage

slice

storage unit failures

`bad` slice

chicago

one or more encryption keys

video graphics processing unit

other type

smart phone

DSN memory

main memory

cable set-top box

backup copies

video game controller

outdated version

data loss

slice names

tablet

computing devices

behalf

DS management services

one or more wireless and/or wire

computer server

memory interface modules

portion

file system interface

rebuilt slices

data

dispersed storage (DS) client module

network administration

social networking device

creates and stores user profile information

television set

type

per-access billing information

wireless connection

dispersed storage processing agent

LAN connection

eight storage units

user

satellite receiver

one or more local area networks

iSCSI

tolerant

vault information

at least one IO device interface module

performance level

FIGS

communication systems

vault creation

fax machine

user device

permissions

one or more memory interface modules

module

universal serial bus (USB) interface module

requests

high level

memory controller

need

public access and establishes

user devices

wired connection

flash file system

local memory

fixed computing device

office computing equipment

computing core

read only memory

input/output

devices and/or units

one or more non-public intranet systems

same site

particular user

example embodiment

secure manner

gaming device

first pair

decode data

storage error encodes

replacing

authentication credentials

embodiment

device and/or unit

managing creation

network file system

storage (DS) error encoding parameters

registry information

loss

managing unit

dispersed storage error encoding function

interface

significant number

fourth common site

information

Read only memory (ROM) basic input output system (BIOS)

small computer system interface

video game console

example

vault

communication links

disk file system

group

time

second common site

separate computing devices

communication link

public vault access

schematic block diagram

memory

failures

digital video player

IO interface module

creation

plurality

integrity

cell phone

security parameters

reference

vaults

yet another example

third common site

geographically different sites

storage units

specific example

authentication information

storage parameters

data encoding/decoding scheme

components

io controller

computing device

home entertainment equipment

overall namespace

number

integrity processing unit

block memory interface

third pair

host bus adapter (HBA) interface module

errors

conventional operating system

user data allocation requests

DSN interface module

web-based distributed authoring and versioning

IO ports

one or more memory interface module(s)

data storage parameters

other system level operation

common site

public vaults

virtual memory block

dispersed storage error encoding and decoding

device and/or unit activation status

dispersed storage error encode

user group

instance

processing module

digital music player

laptop computer

device and/or unit loading

flash interface module

combination

software and hardware

redundant

distributed, storage network (DSN)

hard drive interface module