Search

Clay Gerrard Phones & Addresses

  • Carrollton, TX
  • 4024 Carmichael Dr, Plano, TX 75024 (210) 788-9431
  • San Francisco, CA
  • New Braunfels, TX
  • 4118 Camphor Way, San Antonio, TX 78247
  • Stillwater, OK
  • Marietta, GA

Work

Company: Swift stack Dec 2012 Address: San Francisco Bay Area Position: Sr. software engineer

Education

Degree: Bachelor of Applied Science (BASc) School / High School: Oklahoma State University 1998 to 2003 Specialities: Computer Science

Skills

Python • Declarative • Sqlalchemy • Sqlite • Relation • Pyqt4 • Openstack • Swift • Qstring • One To Many

Industries

Information Technology And Services

Resumes

Resumes

Clay Gerrard Photo 1

Senior System Software Engineer

View page
Location:
4024 Carmichael Dr, Plano, TX 75024
Industry:
Information Technology And Services
Work:
Swift Stack - San Francisco Bay Area since Dec 2012
Sr. Software Engineer

Rackspace - San Antonio, Texas Area Jan 2008 - Dec 2012
Software Developer

Rackspace Managed Hosting Jan 2008 - Mar 2008
Managed Backup Admin

Concept Cellular Int'l Inc Jul 2003 - Jan 2008
Cheif Technical Officer
Education:
Oklahoma State University 1998 - 2003
Bachelor of Applied Science (BASc), Computer Science
Skills:
Python
Declarative
Sqlalchemy
Sqlite
Relation
Pyqt4
Openstack
Swift
Qstring
One To Many

Business Records

Name / Title
Company / Classification
Phones & Addresses
Clay Gerrard
Manager
CONCEPT CELLULAR INTERNATIONAL, INC
Whol Electronic Parts/Equipment Electrical Repair
113 Pkwy, Boerne, TX 78006
(830) 249-8999

Publications

Us Patents

Virtual Multi-Cluster Clouds

View page
US Patent:
20120233251, Sep 13, 2012
Filed:
Oct 21, 2011
Appl. No.:
13/278876
Inventors:
Gregory Lee Holt - Hollywood Park TX, US
Michael Barton - San Antonio TX, US
David Patrick Goetz - San Antonio TX, US
Clay Gerrard - San Antonio TX, US
Assignee:
Rackspace US, Inc. - San Antonio TX
International Classification:
G06F 15/16
US Classification:
709204
Abstract:
An improved scalable object storage system allows multiple clusters to work together. Users working with a first cluster, or with a multi-cluster gateway, can ask for services and have the request or data transparently proxied to a second cluster. This gives transparent cross-cluster replication, as well as multi-cluster compute or storage farms based upon spot availability or various provisioning policies. Vendors providing a cloud storage “frontend” can provide multiple backends simultaneously. In one embodiment, a multi-cluster gateway can have a two, three, or higher-level ring that transparently matches an incoming request with the correct cluster. In the ring, a request is first mapped to an abstract “partition” based on a consistent hash function, and then one or more constrained mappings map the partition number to an actual resource. In another embodiment, the multi-cluster gateway is a dumb gateway, and the rings are located only at the cluster level.

Cluster Federation And Trust

View page
US Patent:
20120233463, Sep 13, 2012
Filed:
Oct 21, 2011
Appl. No.:
13/278807
Inventors:
Gregory Lee Holt - Hollywood Park TX, US
Michael Barton - San Antonio TX, US
David Patrick Goetz - San Antonio TX, US
Clay Gerrard - San Antonio TX, US
Assignee:
Rackspace US, Inc. - San Antonio TX
International Classification:
H04L 9/32
US Classification:
713168
Abstract:
An improved scalable object storage system allows multiple clusters to work together. In one embodiment, a trust and federation relationship is established between a first cluster and a second cluster. This is done by designating a first cluster as a trust root. The trust root receives contact from another cluster, and the two clusters exchange cryptographic credentials. The two clusters mutually authenticate each other based upon the credentials, and optionally relative to a third information service, and establish a service connection. Services from the remote cluster are registered as being available to the cluster designated as the trust root. Multi-cluster gateways can also be designated as the trust root, and joined clusters can be mutually untrusting. Two one-way trust and federation relationships can be set up to form a trusted bidirectional channel.

Multi-Cluster Container Replication

View page
US Patent:
20120233118, Sep 13, 2012
Filed:
Oct 21, 2011
Appl. No.:
13/278985
Inventors:
Gregory Lee Holt - Hollywood Park TX, US
Michael Barton - San Antonio TX, US
David Patrick Goetz - San Antonio TX, US
Clay Gerrard - San Antonio TX, US
Assignee:
Rackspace US, Inc. - San Antonio TX
International Classification:
G06F 17/30
US Classification:
707620, 707E17007
Abstract:
An improved scalable object storage system allows multiple clusters to work together. In one embodiment, a multi-cluster synchronization system synchronizes data between two or more clusters. Each cluster has a cluster-internal network, with object storage services and container services. The container services track and replicate metadata associated with the object storage service. An intercluster network connects the two clusters and performs a one-way synchronization of the objects and metadata associated with a particular container. In a further embodiment, multiple synchronization relationships can be set up, either in a cycle (with two or more participants), in a line, or in a tree. For example, the multi-cluster replication could be used to transparently synchronize objects in a CDN network.

Higher Efficiency Storage Replication Using Compression

View page
US Patent:
20120233117, Sep 13, 2012
Filed:
Oct 21, 2011
Appl. No.:
13/278948
Inventors:
Gregory Lee Holt - Hollywood Park TX, US
Clay Gerrard - San Antonio TX, US
David Patrick Goetz - San Antonio TX, US
Michael Barton - San Antonio TX, US
Assignee:
Rackspace US, Inc. - San Antonio TX
International Classification:
G06F 7/00
US Classification:
707620, 707E1701, 707E17002
Abstract:
An improved scalable object storage system includes methods and systems allowing multiple clusters to work together. In one embodiment, there is a multi-cluster synchronization system between two or more clusters. The multi-cluster synchronization system uses variable compression to optimize the transfer of information between the clusters. Compression is used not only to minimize the total number of bytes sent between the two clusters, but to dynamically vary the size of the objects sent across the wire to optimize for higher throughput after considering packet loss, TCP windows, and block sizes. This includes both the packaging of multiple small files together into one larger compressed file, saving on TCP and header overhead, but also the chunking of large files into multiple smaller files that are less likely to have difficulties due to intermittent network congestion or errors.

Methods And Apparatus To Assign Indices And Relocate Object Fragments In Distributed Storage Systems

View page
US Patent:
20220206896, Jun 30, 2022
Filed:
Oct 4, 2021
Appl. No.:
17/449925
Inventors:
- Santa Clara CA, US
John Dickinson - San Francisco CA, US
Samuel Merritt - Hayward CA, US
Clay Gerrard - San Francisco CA, US
International Classification:
G06F 11/10
G06F 3/06
Abstract:
Methods and apparatus to dynamically assign and relocate object fragments in distributed storage systems are disclosed. In some examples, an apparatus to compile fragments of an object includes a fragment compiler to: compile an object from fragments stored in storage nodes, respective ones of the fragments corresponding to (a) a node index of storage identifiers representative of the storage nodes and (b) a fragment index of fragment identifiers associated with the respective ones of the fragments of the object, respective ones of the fragment identifiers being representative of a sequential order of the fragments of the object, the respective ones of the fragment identifiers to be associated with the respective ones of the storage identifiers to enable verification of storage locations of the respective ones of the fragments of the object relative to respective storage nodes; request a first one of the fragments from a first one of the respective storage nodes; determine if a first fragment index assigned to the first one of the fragments matches a first node index assigned to the first one of the fragments; when the first fragment index matches the first node index, compile the first one of the fragments into the object based on the first node index; and when the first fragment index does not match the first node index, compile the first one of the fragments into the object based on the first fragment index.

Methods And Apparatus To Assign Indices And Relocate Object Fragments In Distributed Storage Systems

View page
US Patent:
20200327011, Oct 15, 2020
Filed:
Mar 26, 2020
Appl. No.:
16/831291
Inventors:
- Santa Clara CA, US
John Dickinson - San Francisco CA, US
Samuel Merritt - Hayward CA, US
Clay Gerrard - San Francisco CA, US
International Classification:
G06F 11/10
G06F 3/06
Abstract:
Methods and apparatus to dynamically assign and relocate object fragments in distributed storage systems are disclosed. In some examples, an apparatus to compile fragments of an object includes a fragment compiler to: compile an object from fragments stored in storage nodes, respective ones of the fragments corresponding to (a) a node index of storage identifiers representative of the storage nodes and (b) a fragment index of fragment identifiers associated with the respective ones of the fragments of the object, respective ones of the fragment identifiers being representative of a sequential order of the fragments of the object, the respective ones of the fragment identifiers to be associated with the respective ones of the storage identifiers to enable verification of storage locations of the respective ones of the fragments of the object relative to respective storage nodes; request a first one of the fragments from a first one of the respective storage nodes; determine if a first fragment index assigned to the first one of the fragments matches a first node index assigned to the first one of the fragments; when the first fragment index matches the first node index, compile the first one of the fragments into the object based on the first node index; and when the first fragment index does not match the first node index, compile the first one of the fragments into the object based on the first fragment index.

Cluster Federation And Trust In A Cloud Environment

View page
US Patent:
20170351436, Dec 7, 2017
Filed:
Jun 19, 2017
Appl. No.:
15/627101
Inventors:
- San Antonio TX, US
Clay Gerrard - San Francisco CA, US
David Patrick Goetz - San Antonio TX, US
Michael Barton - San Antonio TX, US
International Classification:
G06F 3/06
G06F 9/50
G06F 17/30
H04L 12/927
H04L 29/08
Abstract:
An improved scalable object storage system allows multiple clusters to work together. In one embodiment, a trust and federation relationship is established between a first cluster and a second cluster. This is done by designating a first cluster as a trust root. The trust root receives contact from another cluster. and the two clusters exchange cryptographic credentials. The two clusters mutually authenticate each other based upon the credentials, and optionally relative to a third information service, and establish a service connection. Services from the remote cluster are registered as being available to the cluster designated as the trust root. Multi-cluster gateways can also be designated as the trust root, and joined clusters can be mutually untrusting. Two one-way trust and federation relationships can be set up to form a trusted bidirectional channel.

Methods And Apparatus To Assign Indices And Relocate Object Fragments In Distributed Storage Systems

View page
US Patent:
20170277590, Sep 28, 2017
Filed:
Mar 25, 2016
Appl. No.:
15/080843
Inventors:
- Santa Clara CA, US
John Dickinson - San Francisco CA, US
Samuel Merritt - Hayward CA, US
Clay Gerrard - San Francisco CA, US
International Classification:
G06F 11/10
G06F 3/06
Abstract:
Methods and apparatus to dynamically assign and relocate object fragments in distributed storage systems are disclosed. In some examples, the methods and apparatus encode an object with error correction coding to separate the object into fragments, create a first index indicative of storage nodes where the fragments of the object are to be stored, encode a second index into identifiers of the fragments of the object, the second index based on the first index, and store the fragments of the object and the corresponding second index encoded identifiers in the storage nodes based on the first index.
Clay B Gerrard from Carrollton, TX, age ~43 Get Report