Axcient
Vice President Engineering
Oracle Oct 2013 - Dec 2016
Architect
Nirvanix Jun 2012 - Oct 2013
Engineering Manager
Opelin Aug 2010 - May 2012
Engineering Lead and Architect
Quark Aug 2006 - Aug 2010
Team Lead Manager
Education:
University of Colorado Boulder 2008 - Dec 2012
Master of Science, Masters, Computer Science
Shaheed Udham Singh College of Engineering and Technology Jun 2001
Bachelors
Punjab Technical University, Jalandhar 1997 - 2001
Bachelors, Bachelor of Technology, Electronics
Skills:
Writing Flexible Objective C Windows Server Market Toolkit Test Automation Cli Infrastructure Large Scale Distributed Systems Perl Qps Visual Studio Agile Methodologies Linq Front End San Cost Effective Programming Bsf Apis Hibernate Windows Xp Caching Windows 7 Altova Quarkxpress Replication Virtual Machine Manager Databases Gateway Management Adapter Design Massive Exacttarget Computer Science Science Easymock Security Cim Stl Enterprise Library Xhtml Fonts Integration Dynamic Publishing Ibatis Mapreduce Indesign Pegasus Rules Sdk Data Storage Coordinated Panther Source Linux Workflow Stylecop Execution Maven Data Center Refactoring Web Applications Tomcat High Level Design Languages System Telecommunications Quartz Data Recovery Computer Graphics Layout Tests Publishing Validation Asia Engineering Reports Flat Patterning Map Concept Design Cvs Template Desktop Publishing Apache Hadoop Consolidation Snapshot Postgresql Xml Dita Denver Training Gwt Enterprise Software Virtual Ooad Solution Junit Spring Framework Kinds Streamline Scheduling Documentation Checkstyle Product Development Hyper V Research System Monitoring Rigorous Srm Third Party Applications Ws * Microsoft Mule Esb Vmware R&D Vmware Vsphere Automation Written Print Jboss Application Server Promoting Systems Design .Net Blocks Project Estimation Web Technologies Quarkxpress 8.0 Iscsi C Coordination Operating Systems Applications Unicode Restful Web Services Communication Schedules Modeling Xslt Jaxb Soap Gdi Quality Assurance Xcode Cost Savings Editorial Opengl Dtd Jaxp Html Nunit Attractive T1 Marketing Colorado Big Data Array Wf Scvmm Scalability Sandcastle Tfs Technical Support Project Planning Failover Project Ubuntu Ide House Cocoon Jaguar Dashboard Data Migration Xsl Wpf C# Media Nature Linkedin Rhel Websites Simple Internal Audit Responsibility Japanese Axis User Interface Cloud Storage Entity Framework Subversion Mongodb Xsd Interfaces Software Architecture Ant Boost Microsoft Sql Server Electronics Cassandra Incopy Windows Vista Scrum Iis Visio High Level Architecture Windows Ce Software Amazon Ec2 Asp.net Business Objects Mac Eclipse Sccs Microsoft Servers Spam Jbpm Profiles Java India Web Services Independent Contributor Hive Libraries Stability Javascript Wcf Leopard Mapforce C++ Email Marketing Css Python Rational Xde Wikis Online Help Disaster Marks Architecture Transform Typography Apache Commons Code Coverage Prototype Pdf
Certifications:
Advanced Management Program Mba In A Box: Business Lessons From A Ceo Startup School Venture Deals Product Strategy
Java Linux C# C++ XML Cloud Computing Enterprise Architecture Distributed Systems Product Development Scrum Databases Web Development Integration Web Applications Software Development Spring Software Project Management Software Design Mobile Applications SDLC
Us Patents
Executing A Conditional Command On An Object Stored In A Storage System
- Redwood Shores CA, US Aditya Sawhney - Erie CO, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 16/16 G06F 16/18 G06F 16/23 G06F 16/907
Abstract:
Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
Executing A Conditional Command On An Object Stored In A Storage System
- Redwood Shores CA, US Aditya Sawhney - Erie CO, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 16/16 G06F 16/18 G06F 16/23 G06F 16/907
Abstract:
Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
Data-Packed Storage Containers For Streamlined Access And Migration
- Redwood Shores CA, US Aditya Sawhney - Erie CO, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 3/06
Abstract:
Techniques are described for organizing data within a storage system. In one or more embodiments, a storage system monitors access to a first set of objects comprising (a) a first subset of objects associated with at least a first attributes and (b) a second subset of objects associated with at least a second attribute. Based on the monitoring, the storage system identifies a pattern of accessing objects in the second subset of objects subsequent to accessing objects in the first subset of objects. Responsive to receiving a request to store a second set of objects, the storage system generates a file in which a first object associated with at least the first attribute and a second object associated with at least the second object are stored consecutively.
Executing A Conditional Command On An Object Stored In A Storage System
- Redwood Shores CA, US Aditya Sawhney - Erie CO, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 17/30
Abstract:
Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
Two-Tier Storage Protocol For Committing Changes In A Storage System
- Redwood Shores CA, US Aditya Sawhney - Erie CO, US
Assignee:
Oracle International Corporation - Redwood Shore CA
International Classification:
G06F 17/30
Abstract:
Systems and methods for implementing a two-tier commit protocol are described herein. In one or more embodiments, a storage system is configured to receive a request to store an object within a storage system, the object comprising (a) data and (b) metadata. Responsive to the request, the metadata is transmitted to a metadata tier of the storage system, which generates a first acknowledgment that a metadata record has been created in the metadata tier with a pending status. Responsive to the first acknowledgment, the object data is transmitted to a data tier of the storage system. A second acknowledgment is then generated indicating that a data record has been created with a pending status. Responsive to the second acknowledgement, the metadata record is updated to a committed status. The data record in the data tier is then updated to a committed status.
Maintaining Immutable Data And Mutable Metadata In A Storage System
- Redwood Shores CA, US Aditya Sawhney - Erie CO, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 17/30
Abstract:
Techniques for maintaining immutable data and mutable metadata in a storage system are disclosed. Each object is associated with one or more data records and one or more metadata records. Responsive to a request to modify the data of an object, a new data record and a new metadata record are generated for the object. The new data record stores the new data of the object. The new metadata record stores the new metadata corresponding to the new data of the object. Responsive to a request to modify the metadata of an object, an existing metadata record of the object is identified. The existing metadata record is overwritten with the new metadata of the object. No new data records or metadata records are generated.
Determining A Chronological Order Of Transactions Executed In Relation To An Object Stored In A Storage System
- Redwood Shores CA, US Aditya Sawhney - Erie CO, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 17/30
Abstract:
Techniques for determining a chronological order of transactions executed in relation to an object stored in a storage system are disclosed. A transaction history, stored in association with an object, includes information identifying transactions executed in relation to the object. A transaction history manager obtains information describing a state machine from a data repository. The state machine defines a finite set of states that may be assumed by objects stored in the storage system. The state machine specifies transaction types that may be executed from each state. Based on the state machine, the messaging service determines a sequence of states assumed by the object. The messaging service determines a particular transaction that is executable from each state assumed by the object. Hence, the messaging service determines a chronological order of the transactions stored in the transaction history.