Dropbox Jul 2012 - Aug 2020
Senior Principal Engineer
Massachusetts Institute of Technology (Mit) Sep 2005 - Jun 2012
Phd Candidate and Research Assistant
Massachusetts Institute of Technology (Mit) Nov 2008 - May 2012
Mediator and Peer Counselor
Microsoft Jun 2008 - Aug 2008
Research Intern
Nicta Nov 2004 - Aug 2005
Research Engineer
Education:
Massachusetts Institute of Technology 2007 - 2012
Doctorates, Doctor of Philosophy, Computer Science, Engineering, Computer Science and Engineering
Massachusetts Institute of Technology 2005 - 2007
Master of Science, Masters, Electrical Engineering, Electrical Engineering and Computer Science, Computer Science
University of Sydney 2000 - 2004
Uc San Diego 2002 - 2003
Skills:
Distributed Systems Python Computer Science Algorithms Java Programming C++ Cloud Computing Transaction Processing Matlab Fault Tolerance Research C Mediation
Interests:
Guitar Electronics Woodwork/Metalwork Cycling Student Support Bass
- San Francisco CA, US David Wetterau - San Francisco CA, US Braden Walker - San Francisco CA, US James Cowling - San Francisco CA, US Sujay Jayakar - San Francisco CA, US
International Classification:
G06F 17/30 H04L 29/08 G06F 1/04
Abstract:
A system can serialize moves and mounts across namespaces based on lamport clocks. In some examples, the system obtains a request to move a content item from a source namespace to a destination namespace. The system processes an incoming move at the destination and an outgoing move at the source. The system processes for the content item a delete at the source and an add at the destination. The system assigns a first clock to the incoming move and a second clock to the outgoing move, the first clock being lower than the second clock. The system assigns a third clock to the delete and a fourth clock to the add, the third clock being higher than the second clock and lower than the fourth clock. The system serializes the incoming and outgoing moves, the delete and the add based on the first, second, third and fourth clocks.
Using Colocation Hints To Facilitate Accessing A Distributed Data Storage System
- San Francisco CA, US James Cowling - San Francisco CA, US
Assignee:
Dropbox, Inc. - San Francisco CA
International Classification:
G06F 17/30
Abstract:
The disclosed embodiments relate to a system that uses colocation hints to facilitate storing data blocks in a distributed data storage system, which includes a plurality of data centers. During operation, the system receives a write request from a client to write a data block to the distributed data storage system, wherein the write request includes a colocation hint that identifies a colocation group associated with the data block. In response to the write request, the system uses the colocation hint to identify one or more data centers associated with the colocation group. Next, the system writes copies of the data block to the one or more identified data centers. In this way, the system situates copies of data blocks associated with the colocation group in the same data centers when possible.
Googleplus
James Cowling
Lived:
San Francisco, CA Sydney, Australia Cambridge, MA San Diego, CA Cambridge, UK
James Cowling (1964-1968), Anika Smith (1997-2001), Katherine Allen (1977-1981), Marla Jackson (1980-1984), Corey Clark (1994-1998), Jennifer Howard (1979-1983)