World Library  
Flag as Inappropriate
Email this Article
 

EMC Isilon

EMC - Isilon
Subsidiary
Industry Data storage devices / Computer Storage
Founded 2001 (2001)
Headquarters Seattle, Washington, U.S.
Key people
Sujal Patel, former CEO
Slogan Simple is Smart
Website /isilon.com.emcwww

Isilon Systems was a computer hardware and software company headquartered in Seattle. It sold clustered file system hardware and software for digital content and other unstructured data to a variety of industries. Isilon was acquired by EMC Corporation in November 2010.

Contents

  • Business overview 1
  • Financial troubles and executive changes 2
  • Technology and architecture 3
  • Acquisition by EMC 4
  • References 5
  • External links 6

Business overview

In 2002, Isilon received venture capital funding from Sequoia Capital.[1] Isilon's customers include NBC Universal,[2] Cedars-Sinai, Kelman Technologies, and Kodak, among others.[3]

Isilon designed and developed its clustered storage systems specifically to address the needs of storing, managing and accessing digital content and other unstructured data.[4] An Isilon clustered storage system is composed of three or more nodes. Each node is a self-contained, rack-mountable device that contains industry standard hardware, including disk drives, CPU, memory and network interfaces, and is integrated with proprietary operating system software called OneFS (based on FreeBSD[5]), which unifies a cluster of nodes into a single shared resource.[6]

Isilon sells its products indirectly through a channel partner program that includes over 100 resellers and distributors, and directly through a field sales force.[4]

Financial troubles and executive changes

Sujal Patel, who founded Isilon in 2001 and served as its chief technology officer, returned to the company as CEO in October 2007. This followed the resignation of Chief Executive Steve Goldman and Chief Financial Officer Stu Fuhlendorf. In April 2008 Isilon reported questionable revenue recognition events to the SEC under the previous regime.[7] A number of earning reports submitted to the SEC from 2006 and 2007 were revised. Isilon introduced a new revenue recognition policy in order to remedy the previous issues.[8]

Technology and architecture

Isilon clustered storage system architecture consists of independent nodes that are all integrated with the OneFS operating system software.[9] The systems can be installed in standard data center environments and are accessible to users and applications running Windows, Unix/Linux and Mac operating systems using industry standard file sharing protocols over standard Gigabit or 10-Gigabit Ethernet.[4]

Nodes within the clustered storage system communicate with each other over a dedicated Infiniband local area network.[4] The architecture is designed so that each node has full visibility and write/read access to or from a single expandable file system.

The core technology of the Isilon clustered storage consists of OneFS, which provides a single unified operating system and can deliver over 100 GB/s of throughput (depending on cluster size).[10] The OneFS software is designed with file-striping functionality across each node in a cluster, a fully distributed lock manager, caching, fully distributed meta-data, and a remote block manager to maintain global coherency and synchronization across the cluster.[11]

In July 2007, Isilon announced the release of the IQ 9000 and EX 9000 clustered storage products, claiming scalability of up to 1.6 petabytes of capacity in a single file system and single volume.[12] New products were launched in September 2008, raising stated capacity to 2.3 PB[13] and in March 2009, raising stated capacity to 3.4 PB.[14] In May 2011, they raised the stated capacity to 15 PB.[15] As of November 2013, the stated capacity limit is 20.7 PB.[10]As of December 2014, the stated capacity limit is 30.2 PB in the NL400 specifications sheet.

The most common types of nodes [16] are the S-series nodes that deliver high IOPS, the X-series nodes which deliver high throughput, and the NL-series nodes which deliver high-capacity. All three types of nodes can co-exist simultaneously in a single file system on the same cluster. The scale-out architecture can grow up to 144 nodes per cluster and nodes can be added as needed for capacity and/or performance. This allows files to be stored in one container and eliminates islands of storage (a common administrative pain point). Isilon also delivers relatively high storage utilization rates.[17]

Isilon provides multi-protocol access to files using NFS or SMB/CIFS or FTP. In addition, Isilon supports HDFS as a protocol allowing Hadoop analytics [18] to be performed on files resident on the storage. Data can be stored using one protocol and accessed using another protocol. The key building blocks for Isilon include the OneFS operating system, the NAS architecture, the scale-out data lakes, and other enterprise features.

Acquisition by EMC

On November 15, 2010, it was announced that EMC Corporation would acquire Isilon for $2.25 billion.[19] EMC said that with its acquisition of Isilon, it would be better able to provide storage infrastructure for private and public cloud environments, with a focus on so-called big data, like gene sequencing, online streaming, and oil and natural gas seismic studies.

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^
  3. ^ Isilon Systems, Inc. Customer Case Studies.
  4. ^ a b c d Isilon Systems, Inc. Form 10-K. (2007-03-15)
  5. ^ FreeBSD Foundation Newsletter, December 17, 2007
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^ a b
  11. ^ Isilon Systems, Inc. “Clustered Storage Revolution”, White Paper. (2006-09)
  12. ^ Isilon Systems, Inc. “Isilon Releases New Clustered Storage Systems, Delivering Unprecedented Scale, Performance And Value”. Press Release. (2007-7-23)
  13. ^
  14. ^
  15. ^
  16. ^ http://www.emc.com/collateral/hardware/white-papers/h8202-isilon-onefs-wp.pdf "EMC Isilon OneFS Operating System"
  17. ^ http://www.emc.com/collateral/software/data-sheet/h10541-ds-isilon-platform.pdf "EMC Isilon Scale-out Storage Product Family"
  18. ^ http://isilonblog.emc.com/an-interview-with-doug-cutting-the-founder-of-hadoop/ "Interview with Doug Cutting"
  19. ^

External links

  • Official website


This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.