John Miller

John Miller

Greater Seattle Area
2K followers 491 connections

About

See my Youtube channel https://youtube.com/c/TheDeliberateEngineer

30+ years…

Articles by John

See all articles

Activity

Join now to see all activity

Experience

  • ThoughtSpot Graphic

    ThoughtSpot

    Bellevue, Washington, United States

  • -

    Redmond, WA

  • -

    Greater Seattle Area

  • -

    Kirkland, WA

  • -

    Seattle, WA

  • -

    Bellevue, WA

  • -

    Cambridge, UK

  • -

    Redmond, WA

  • -

    Redmond, WA

  • -

    Redmond, WA

  • -

    Redmond, WA

  • -

    Pittsburgh, PA

  • -

    Pittsburgh, PA

  • -

    Redmond, WA

  • -

    Redmond, WA

Education

  • University of Cambridge Graphic

    University of Cambridge

    -

    Specializing in distributed systems and distributed systems security, especially distributed virtual environments. Degree obtained while working full-time at Microsoft Research Cambridge. Officially conferred Nov 2013.

  • -

    Thesis advisor Caroline Hayes.
    Attended 1990-1991, left before completing. Finished up degree remotely while working at Microsoft and later at Carnegie Mellon University.

  • -

Publications

Patents

  • Prediction-based touch contact tracking

    Issued US 9,542,092

    In embodiments of prediction-based touch contact tracking, touch input sensor data is recognized as a series of components of a contact on a touch-screen display. A first component of the contact can be identified, and a second component can be determined to correlate to the contact. The first component and the second component can then be associated to represent a tracking of the contact. Subsequent components of the contact can be determined and associated with the previous components of the…

    In embodiments of prediction-based touch contact tracking, touch input sensor data is recognized as a series of components of a contact on a touch-screen display. A first component of the contact can be identified, and a second component can be determined to correlate to the contact. The first component and the second component can then be associated to represent a tracking of the contact. Subsequent components of the contact can be determined and associated with the previous components of the contact to further represent the tracking of the contact.

    Other inventors
  • Secure Device Configuration

    Issued US 9,154,483

    Described herein are systems and methods for secure configuration provisioning of network credentials to configure a device to join one or more networks. One implementation provides for distribution of network credentials to associated devices without user intervention while maintaining security and avoiding distribution of the network credentials to external devices, such as a third-party server. Devices may be associated by purchase from a common merchant, registration to a common account…

    Described herein are systems and methods for secure configuration provisioning of network credentials to configure a device to join one or more networks. One implementation provides for distribution of network credentials to associated devices without user intervention while maintaining security and avoiding distribution of the network credentials to external devices, such as a third-party server. Devices may be associated by purchase from a common merchant, registration to a common account, and so forth.

    Other inventors
    See patent
  • Disambiguating Intentional and Incidental Contact and Motion in Multi-Touch Pointing Devices

    Issued US 8.786,561

    An input device has both a touch sensor and a position sensor. A computer using data from the input device uses the relative motion of a contact on a touch sensor with respect to motion from a position detector to disambiguate intentional from incidental motion. The input device provides synchronized position sensor and touch sensor data to the computer to permit processing the relative motion and performing other computations on both position sensor and touch sensor data. The input device can…

    An input device has both a touch sensor and a position sensor. A computer using data from the input device uses the relative motion of a contact on a touch sensor with respect to motion from a position detector to disambiguate intentional from incidental motion. The input device provides synchronized position sensor and touch sensor data to the computer to permit processing the relative motion and performing other computations on both position sensor and touch sensor data. The input device can encode the magnitude and direction of motion of the position sensor and combines it with the touch sensor data from the same time frame, and output the synchronized data to the computer.

    Other inventors
    See patent
  • Topology management in peer-to-peer content distribution clouds (US)

    Issued US 8,364,758

    A topology management process is implemented in peer-to-peer content distribution clouds using tracker nodes. Tracker nodes have information about available peers and assist peers in finding other peers to connect to. Various algorithms for use at the tracker nodes are described for selecting which peers to return as potentials for forming connections to. In addition, architectures and algorithms to allow efficient scaling of tracker nodes in peer-to-peer clouds are described.

    Other inventors
  • System and method for implementing PNRP locality

    Issued US 8,310,956

    A method is provided for a host node in a computer network to determine its coordinates in a d-dimensional network space, comprising discovering an address of a peer node in the network, measuring network latency between the host node and the peer node, determining whether network latency has been measured for at least d+1 peer nodes, where, if network latency has not been measured for at least d+1 peer nodes, estimating the network coordinates of the host node, and where, if network latency…

    A method is provided for a host node in a computer network to determine its coordinates in a d-dimensional network space, comprising discovering an address of a peer node in the network, measuring network latency between the host node and the peer node, determining whether network latency has been measured for at least d+1 peer nodes, where, if network latency has not been measured for at least d+1 peer nodes, estimating the network coordinates of the host node, and where, if network latency has been measured for at least d+1 peer nodes, calculating the network coordinates of the host node using d+1 measured latencie

    Other inventors
    See patent
  • Secure Content Descriptions

    Issued US 8,108,362

    The invention describes a control node for a content distribution network and a method of automatically verifying content distributed over a network at a node in the network. In the method, a content description is received which comprises a content identifier, a publisher identifier, publisher authorization information and content checking information. The integrity and validity of this information are checked and if both the checks are passed, the content description is stored.

    Other inventors
    See patent
  • Content Management in Peer-to-Peer Content Distribution Clouds (US)

    Issued US 8,090,861

    Managing content by influencing its distribution in the form of blocks or other units is crucial to the performance of a peer-to-peer content distribution system. We provide a content management module at each peer node to achieve this. The content management module implements a content request/response cycle in order to negotiate about blocks of content with other peer nodes. This cycle comprises an offer request, offer reply and a block request. These steps are preferably followed by data…

    Managing content by influencing its distribution in the form of blocks or other units is crucial to the performance of a peer-to-peer content distribution system. We provide a content management module at each peer node to achieve this. The content management module implements a content request/response cycle in order to negotiate about blocks of content with other peer nodes. This cycle comprises an offer request, offer reply and a block request. These steps are preferably followed by data exchange and verification. The negotiation protocol used by our content management module provides a generic method that is advantageously used in conjunction with different encoding schemes such as full network coding and group network coding. In one embodiment we use group network coding and add information to the offer request and offer reply to facilitate efficient content distribution. Block request messages are selected to promote the use of on-the-fly decoding where possible.

    Other inventors
    See patent
  • Group shared spaces

    Issued EU EP 1 526 470 B1

    File sharing scheme built in one instantiation on P2P infrastructure

    Other inventors
    • Brian R. Lieuallen
    • Michael E. Shappell
    • Ravi T. Rao
    • Scott A. Senkeresty
    See patent
  • Connection management in peer-to-peer content distribution clouds

    Issued US 7,849,196

    A topology management process is implemented which involves removing or "tearing down" connections between nodes in certain situations in order to try to replace those connections with more optimal ones. Idle connections are torn down unless those are in a "notify" state; a notify state being one in which a request for content has been made to a neighbour but that neighbour has no available content as yet. Idle connections in a notify state are torn down only if they remain idle for a longer…

    A topology management process is implemented which involves removing or "tearing down" connections between nodes in certain situations in order to try to replace those connections with more optimal ones. Idle connections are torn down unless those are in a "notify" state; a notify state being one in which a request for content has been made to a neighbour but that neighbour has no available content as yet. Idle connections in a notify state are torn down only if they remain idle for a longer time than that required before an idle connection is torn down. To avoid problems caused by clusters of node forming and of loners being unable to join the cloud, network churn algorithms are taught. These involve requiring nodes to drop connections when specified conditions are met. Relative content distribution between connections is monitored and this information used to influence selection of those connections to drop.

    Other inventors
    See patent
  • Peer-to-peer network information storage (US)

    Issued US 7,849,303

    Secure storage of DHT keys and other information in a peer network

    See patent
  • System and method for implementing PNRP locality

    Issued US 7,826,396

    A method is provided for a host node in a computer network to determine its coordinates in a d-dimensional network space, comprising discovering an address of a peer node in the network, measuring network latency between the host node and the peer node, determining whether network latency has been measured for at least d+1 peer nodes, where, if network latency has not been measured for at least d+1 peer nodes, estimating the network coordinates of the host node, and where, if network latency…

    A method is provided for a host node in a computer network to determine its coordinates in a d-dimensional network space, comprising discovering an address of a peer node in the network, measuring network latency between the host node and the peer node, determining whether network latency has been measured for at least d+1 peer nodes, where, if network latency has not been measured for at least d+1 peer nodes, estimating the network coordinates of the host node, and where, if network latency has been measured for at least d+1 peer nodes, calculating the network coordinates of the host node using d+1 measured latencies.

    Other inventors
    See patent
  • Routing cache for distributed hash tables

    Issued US 7,808,971

    DHT routing based on a random replacement strategy maintaining an unstructured cache

    See patent
  • Content management in peer-to-peer content distribution clouds (EU)

    Issued EU EP 1 858 226 B1

    Avalanche file swarming related patent

    Other inventors
    See patent
  • Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith (EU)

    Issued EU EP 1 248 441 B1

    PNRP overall protocol and algorithm

    Other inventors
    • Christian Huitema
    See patent
  • Encoding and decoding optimisations for network coding

    Issued EU EP 1 801 979 B1

    Avalanche optimizations for network coding of blocks for exchange

    See patent
  • Peer-to-peer message format (EU)

    Issued EU EP 1 802 072 B1

    Avalanche file swarming protocol

    Other inventors
    See patent
  • Topology management in peer-to-peer content distribution clouds (EU)

    Issued EU EP 1 821 487 B1

    Avalanche file swarming cloud topology management, for example through the matchmaking 'registrar' server

    Other inventors
    See patent
  • Connection management in peer-to-peer content distribution clouds

    Issued EU EP 1 802 079

    Avalanche topology and connection management

    Other inventors
    See patent
  • Content Publication

    Issued US 7,680,937

    Publishing content using a peer-to-peer content distribution system is described. A publisher is required to request authorization to publish from an authorization body. Resources such as tracker and seed nodes are allocated in a peer-to-peer content distribution system and pre-processing of content to be published is carried out. For example, a content description is generated for each item of content as well as a set of checksums or other items for validating blocks of content. Publication…

    Publishing content using a peer-to-peer content distribution system is described. A publisher is required to request authorization to publish from an authorization body. Resources such as tracker and seed nodes are allocated in a peer-to-peer content distribution system and pre-processing of content to be published is carried out. For example, a content description is generated for each item of content as well as a set of checksums or other items for validating blocks of content. Publication can be terminated in a variety of different ways. For example, by using expiry methods, by active revocation of publishers, authorization bodies, or individual items of content.

    Other inventors
    See patent
  • File sharing in P2P group shared spaces

    Issued US 7,567,987

    file sharing in one instantiation based upon P2P grouping

    Other inventors
    • Michael Shappell
    • Ravi T. Rao
    • Scott Senkeresty
    • Brian Lieuallen
    See patent
  • Peer-to-peer name resolution wire protocol and message format data structure for use therein

    Issued US 7,533,184

    An extensible data structure for messages in a peer to peer name resolution protocol is presented. This message data structure utilizes a number of fields, each containing a message element. Preferably, the first field is the message header that includes protocol information and identifies the type of message. Each message element contains a number of fields. These message element fields include a type field, a length field, and the content or payload of the message element. In one embodiment…

    An extensible data structure for messages in a peer to peer name resolution protocol is presented. This message data structure utilizes a number of fields, each containing a message element. Preferably, the first field is the message header that includes protocol information and identifies the type of message. Each message element contains a number of fields. These message element fields include a type field, a length field, and the content or payload of the message element. In one embodiment, at least ten messages are formed for proper operation of a Peer To Peer Name Resolution Protocol (PNRP), including RESOLVE, RESPONSE, SOLICIT, ADVERTISE, REQUEST, FLOOD, INQUIRE, AUTHORITY, ACK, and REPAIR messages.

    Other inventors
    See patent
  • Peer-to-peer message format data structure

    Filed US 7,912,948; 7,533,184

    Wire protocols for information exchange in avalanche file swarming

    Other inventors
    See patent
  • Peer-to-peer network information (EU)

    Issued EU EP 1 694 027 B1

    Storage and retrieval of secured keys in a p2p cloud

    See patent
  • Group Security

    Issued US 7,397,922

    A system and method for providing security to a graph of interconnected nodes includes a grouping multiplexing layer configured to monitor calls to the system, a graphing dynamic link layer configured to transmit and receive data to and from the graph, and a group security manager coupled to the grouping multiplexing layer and coupled to the graphing dynamic link layer; the group security manager is configured to perform security-related acts via interacting with a group database to propagate…

    A system and method for providing security to a graph of interconnected nodes includes a grouping multiplexing layer configured to monitor calls to the system, a graphing dynamic link layer configured to transmit and receive data to and from the graph, and a group security manager coupled to the grouping multiplexing layer and coupled to the graphing dynamic link layer; the group security manager is configured to perform security-related acts via interacting with a group database to propagate security-related information to members of a group within the graph. The group security manager is configured to provide role-based authorization on publication of one or more records and provide membership control for admission to a graph of interconnected nodes. The group security manager provides membership control by providing credentials to potential members of the graph to enable a connection and by providing a governed system for renewal and revocation of members.

    Other inventors
    See patent
  • Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith (US)

    Filed US 7,962,651; 7,565,432; 7,065,587

    PNRP core algorithm / protocol

    Other inventors
    • Chrisitan Huitema
    See patent
  • Peer-to-peer name resolution protocol (PNRP) security infrastructure and method

    Issued US 7,725,567 + 6 more

    A security infrastructure and methods are presented that inhibit the ability of a malicious node from disrupting the normal operations of a peer-to-peer network. The methods of the invention allow both secure and insecure identities to be used by nodes by making them self-verifying. When necessary or opportunistic, ID ownership is validated by piggybacking the validation on existing messages. The probability of connecting initially to a malicious node is reduced by randomly selecting to which…

    A security infrastructure and methods are presented that inhibit the ability of a malicious node from disrupting the normal operations of a peer-to-peer network. The methods of the invention allow both secure and insecure identities to be used by nodes by making them self-verifying. When necessary or opportunistic, ID ownership is validated by piggybacking the validation on existing messages. The probability of connecting initially to a malicious node is reduced by randomly selecting to which node to connect. Further, information from malicious nodes is identified and can be disregarded by maintaining information about prior communications that will require a future response. Denial of service attacks are inhibited by allowing the node to disregard requests when its resource utilization exceeds a predetermined limit. The ability for a malicious node to remove a valid node is reduced by requiring that revocation certificates be signed by the node to be removed.

    Other inventors
    See patent
  • Multi-level cache architecture and cache management method for peer-to-peer name resolution protocol (US)

    Issued US 6,912,622

    A peer-to-peer cache architecture stores peer address certificates in different cache segments according to the number of IDs being stored and their relative distance in the peer name space. The cache instantiates regions of decreased range and increased granularity as additional information from close peers is learned. In a large peer cloud where the number of instantiated IDs is not known, each succeeding cache region covers one tenth of the preceding cache region. For peers with multiple IDs…

    A peer-to-peer cache architecture stores peer address certificates in different cache segments according to the number of IDs being stored and their relative distance in the peer name space. The cache instantiates regions of decreased range and increased granularity as additional information from close peers is learned. In a large peer cloud where the number of instantiated IDs is not known, each succeeding cache region covers one tenth of the preceding cache region. For peers with multiple IDs registered locally, the segmented cache of the present invention combines overlapping segments of the same granularity to eliminate the duplication of information that would otherwise occur. A cache tree, an instantiated segment tree, and an uninstantiated segment tree are arranged in red-black trees to simplify the search and proper placement and instantiation of information.

    See patent
  • System and method of generating computer system performance reports

    Issued US 6,892,236

    A system and method for automated reporting of performance of computer system components uses a plurality of reporting clients for tracking system performance data and one or more reporting servers for automatically generating performance reports based on the performance data collected by the reporting clients. To provide extensibility, a plug-in module is provided for each of the reporting clients. The plug-in module registers performance metrics for a system component with the reporting…

    A system and method for automated reporting of performance of computer system components uses a plurality of reporting clients for tracking system performance data and one or more reporting servers for automatically generating performance reports based on the performance data collected by the reporting clients. To provide extensibility, a plug-in module is provided for each of the reporting clients. The plug-in module registers performance metrics for a system component with the reporting client, tracks the performance metrics, and passes data on the performance metrics to the reporting client for reporting to the reporting server.

    Other inventors
    • Michael J. Conrad
    • Diana A. Carutasu
    • Sarat C. Manni
    See patent
  • Method and system for performing parametric testing of a functional programming interface

    Issued US 5,495,571

    The present invention provides a method and system for performing parametric testing of a functional programming interface. Parametric testing of a function verifies that the function performs as expected when a valid or an invalid parameter is passed to the function. To perform parameter testing on a function, the present invention receives as input prototype information for the function, and then formulates a testing plan. The invention tests the function according to the testing plan. The…

    The present invention provides a method and system for performing parametric testing of a functional programming interface. Parametric testing of a function verifies that the function performs as expected when a valid or an invalid parameter is passed to the function. To perform parameter testing on a function, the present invention receives as input prototype information for the function, and then formulates a testing plan. The invention tests the function according to the testing plan. The testing plan specifies a list of invalid and valid values for each parameter of the function. The invention repeatedly invokes the function, each time passing the function various combinations of invalid and valid values. The function passes the test when (1) the function does not return an error code for any combination of valid parameter values and (2) the function returns an error for any combination of parameter values that include an invalid parameter value.

    Other inventors
    See patent

Courses

  • Abstract Algebra

    -

  • Artificial Intelligence

    -

  • Differential Equations

    -

  • Discrete Mathematics

    -

  • Formal Languages and Finite Automata

    -

  • Real Analysis

    -

Organizations

  • YouTube

    Content Creator

    - Present

    Properietor of "The Deliberate Engineer" youtube channel, primarily career advice for software engineers, but also some engineering topics. https://www.youtube.com/c/TheDeliberateEngineer

  • Quora

    Top Writer 2016-2018. Published writer

    - Present

    Awarded 'Top Writer' in 2016-2018, 100+ answers republished in sites such as Forbes, Time, and Slate. 33.6m content views on Quora site as of 12/2019. 47k followers.

  • ACM

    -

Recommendations received

More activity by John

View John’s full profile

  • See who you know in common
  • Get introduced
  • Contact John directly
Join to view full profile

People also viewed

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Others named John Miller in United States

Add new skills with these courses