Non-repudiation protocol using time-based one-time password (TOTP)

Information

  • Patent Grant
  • 10756900
  • Patent Number
    10,756,900
  • Date Filed
    Thursday, September 28, 2017
    8 years ago
  • Date Issued
    Tuesday, August 25, 2020
    5 years ago
Abstract
A method to validate delivery of a document using a non-repudiation protocol and a time-based one time password (TOTP) for encryption is described. The method includes a one-time registration of an application with a trusted third party, wherein the trusted third party provides a seed to a first device of a first user. The first user receives and accepts a document from a second user. The first device generates the TOTP based on the seed. Using the TOTP as an encryption key, the first device computes a current hash. The delivery of the document can be validated by a second device of a second user based on a comparison of the current clock time and GPS coordinates (optional) of first device as compared to the associated values of the second device. The second device stores the document, first device's computed hash, and current clock time.
Description
FIELD OF THE INVENTION

The present invention relates to methods to validate delivery of documents between two parties, and more particularly, validating delivery of documents using a non-repudiation protocol and a time-based one-time password for encryption.


BACKGROUND

Generally speaking business records (invoices, etc.) are commonly exchanged as paper artifacts. One example would be a consumer packaged goods vendor route sales-person having a portable computing device and printer. Traditionally, the sales-person would print paper invoices containing a record of the products delivered to a retail store. The retail store receiving clerk may “accept” the invoice by stamping the invoice pages with a unique physical inked stamp (and often signing/initialing the stamped area) so that the delivery person has a stamped/signed copy of the invoice to keep for their records.


Therefore, a need exists whereby the paper and inked stamp are obviated, and the documents can be exchanged digitally. The challenge is to provide a substitute method for the paper/stamp method of validating the delivery of a document.


SUMMARY

Accordingly, in one aspect, the present invention embraces a method to validate delivery of a document using a non-repudiation protocol and a time-based one time password (TOTP) for encryption. The method includes a one-time registration of an application with a trusted third party, wherein the trusted third party provides a seed to a first device of the first user. The first user receives and accepts a document from a second user. The first device generates the TOTP based on the seed. Using the TOTP as an encryption key, the first device computes a current hash. The delivery of the document can be validated by a second device of the second user based on a comparison of the current clock time and GPS coordinates (optional) of first device as compared to the associated values of the second device. The second device stores the document, first device's computed hash, and current clock time. As discussed herein, the term “validation” is equivalent to the term “verification”.


In an exemplary embodiment, a method of implementing a non-repudiation protocol by a first device comprises registering, by the first device, an application associated with the first device at a trusted third party. The application registration is a one-time event. The method further includes receiving, by the first device, a seed that was generated by the trusted third party based in part on a seed time; receiving, by the first device, a document from a second device; displaying, by the first device, the received document to a first user. The first user is associated with the first device. The capabilities of the first device and the second device are equivalent, and the first device and second device utilize the same application.


In response to receiving an input from the first user indicating acceptance of the document: computing, by the first device, a time-based one-time password based in part on a current clock time of the first device and the seed; computing, by the first device, a first hash of the document using the time-based one-time password as an encryption key; and transmitting, by the first device, to the second device the first hash, the current clock time the first hash was computed by the first device, and optionally GPS coordinates of the first device. In response to the second device assuming that the current clock time and optionally the GPS coordinates of the second device are within a threshold of the current clock time and optionally the GPS coordinates of the first device, storing, by the second device, the first hash, the current clock time the first hash was computed by the first device, and optionally the GPS coordinates of the first device.


In response to the second device not assuming that the current clock time and optionally the GPS coordinates of the second device are within the threshold of the current clock time and optionally the GPS coordinates of the first device, measuring, by the second device, to verify that the current clock time and optionally the GPS coordinates of the second device are within the threshold of the current clock time and optionally the GPS coordinates of the first device. In response to the second device failing to verify that the current clock time is within the threshold of the current clock time of the first device, calibrating, by the first device, the device clock time of the first device.


The method further comprises, in response to receiving an input from the first user indicating non-acceptance of the document, transmitting, by the first device, the document to the second device to request a correction. The method further comprises, in response to the current clock time of the first device not being within the threshold of a current clock time of the second device, receiving, by the first device, a rejection from the second device. And, the method further comprises, in response to the GPS coordinates of the first device not being within the threshold of a GPS coordinates of the second device, receiving, by the first device, a rejection from the second device.


The method further comprises: disputing, by the first device, reception of the document or asserting that the document has subsequently been altered; transmitting, by the first device, an indication of the dispute or assertion to the trusted third party via the second device, causing the trusted third party to: (1) receive, from the second device, an identity of the first device, the document, the first hash of the first device, and first device's reported time the first hash was computed; (2) compute another time-based one-time password of the first device based in part on the reported time the first hash was computed using the seed provided to the first device; (3) hash the document with the another time-based one-time password to generate a second hash; (4) compare the first hash to the second hash; and (5) determine that the document provided by the second device is legitimate if the first hash and the second hash are equal.


The method further comprises: transmitting, by the first device, an indication of the dispute or assertion to the trusted third party via the second device, causing the trusted third party to determine that the document provided by the second device is not legitimate if the first hash and the second hash are not equal. And the method comprises generating a digital signature based on the first hash. The document is acceptable when the first user manually determines accuracy of content of the document. After registration neither the first device nor the second device accesses the trusted third party unless and until there is a dispute.


In another exemplary embodiment, a method of implementing a non-repudiation protocol by a first device comprises receiving, by the first device, a document from a second device. In response to receiving an input from a first user indicating acceptance of the document: (1) computing a time-based one-time password based in part on a current clock time and a seed; (2) computing a hash of the document using the time-based one-time password as an encryption key; and (3) transmitting the hash, and the current clock time the hash was computed to the second device, wherein, the second device stores the document, the hash, and the current clock time the hash was computed by the first device.


The method further comprises registering, by the first device, an application at a trusted third party; and receiving, by the first device, the seed that was generated by the trusted third party based in part on a seed time. The application registration is a one-time event. The method further comprises receiving, by the first device, a verification from the second device that the first device's current clock time is within a threshold of the second device's current clock time. Further, the method includes transmitting, by the first device, GPS coordinates to the second device; and receiving, by the first device, a verification from second device that the GPS coordinates of the first device are within a threshold of second device's current GPS coordinates.


The method also comprises, in response to receiving an input from the first user indicating non-acceptance of the document, transmitting, by the first device, the document to second device to request a correction. If the current clock time of the first device is not within a threshold of the current clock time of the second device, not storing the document, the hash, and the current clock time the hash was computed by the first device. The method also includes generating a digital signature based on the first hash. And, the method includes calibrating a clock time of the first device using a phone time/network time protocol. The document is acceptable when the first user manually determines an accuracy of content of the document.


In yet another exemplary embodiment, a method of implementing a non-repudiation protocol by a first device comprises: (1) receiving a request for a document from a second device; (2) transmitting a document to the second device; (3) receiving a hash, and a current clock time the hash was computed by the second device, wherein, the second device computes a time-based one-time password based in part on the current clock time and a seed that was received from a trusted third party, and wherein, the second device computes the hash of the document using the time-based one-time password as an encryption key; (4) verifying that the current clock time of the second device is within a threshold of a current clock time for the first device; and (5) storing the document, the hash, and the current clock time the hash was computed by the second device.


The first device and the second device are both capable of communicating with each other by: utilizing the same application to register and obtain the seed from the trusted third party, and creating a unique ID each time they send a communication to the other party, wherein, the unique ID is based on hash information and current clock time information. If the first device or the second device initiates a dispute, the initiator of the dispute engages the trusted third party to determine whether the document is legitimate.


The foregoing illustrative summary, as well as other exemplary objectives and/or advantages of the invention, and the manner in which the same are accomplished, are further explained within the following detailed description and its accompanying drawings.





BRIEF DESCRIPTION OF THE DRAWINGS

In an exemplary embodiment, FIG. 1 illustrates a document exchange between two trading partners, supported by a trusted third party.


In an exemplary embodiment, FIGS. 2A and 2B illustrate a flowchart for a method of a document exchange and validation based on a non-repudiation protocol and a time-based one time password (TOTP) for encryption.


In an exemplary embodiment, FIG. 3 illustrates a flowchart for a method of dispute resolution between two trading partners.





DETAILED DESCRIPTION

The present invention embraces a method to validate delivery of a document using a non-repudiation protocol and a time-based one time password (TOTP) for encryption.


Business partners exchanging business records (invoices, purchase orders, etc.) digitally/electronically can require a method whereby the transmission/receipt of the document and the integrity of the document can be provably verified by a third-party (usually a judge or arbitrator), and neither trading partner can falsely claim non-receipt/non-transmission or tampering after the document has been exchanged and accepted. This barrier to false claims is commonly referred to as “non-repudiation”.


Current non-repudiation protocols can require extensive event logging, time synchronization, public/private key management, and real-time interaction with a trusted third-party. For business document exchanges involving lesser monetary (or other) values, a lighter-weight non-repudiation method may be desirable to better match the security requirements with the business need.


The present invention can reduce the infrastructure and management burden of implementing a non-repudiation protocol. Unlike prior art, the present invention can offer the following benefits: 1) there is no need for an on-line connection to a trusted third-party (TTP) during document exchange, 2) there is no need to distribute (and manage) private encryption keys to trading partner devices, and 3) there is no need for sophisticated/secure time/clock synchronization. Current art can require an on-line interaction with a TTP for each document exchange. The present invention may only require a one-time setup interaction with the TTP to configure each trading partner. Thereafter, interaction with the TTP may not be required during document exchange, and may only be required in the event of a trading partner dispute (i.e. if one of the trading partners claims non-receipt/non-transmission or document tampering).


Instead of static private encryption keys, a time-based password algorithm may be used to generate temporal encryption keys to be used during each document exchange. The present invention describes the novel use of TOTP algorithms as the private key generation mechanism in the general non-repudiation process.


Non-repudiation protocols aim at preventing parties in a communication from falsely denying having taken part in that communication; for example, a non-repudiation protocol for digital certified mail can ensure that neither the sender can deny sending or transmitting the message, nor the receiver can deny receiving it. Some aspects of Non-repudiation protocols are disclosed in the following paragraphs.


Non-repudiation of Origin (NRO) or Evidence of Origin is supplied by the originator. NRO provides the recipient with proof of origin and guards against the originator of a message falsely denying having sent the message.


Non-repudiation of Receipt (NRR) or Evidence of Receipt (EOR)—supplied by the recipient, which guards against the recipient of a message falsely denying having received the message.


Non-repudiation of Delivery (NRD)—supplied by the delivery agent, this provides the originator of the message with evidence that the message has been delivered to the recipient.


Non-repudiation of submission (NRS)—supplied by the delivery agent, which provides the originator of the message with evidence that the message has been submitted for delivery to the recipient:

    • NRO=sSA(fNRO; B; L; C)
    • NRR=sSB(fNRR; A; L; C)
    • sub K=sSA(fSUB; B; L; K)
    • con K=sST (fCON; A; B; L; K)
    • 1: A ! B: fNRO; B; L; C; NRO
    • 2: B ! A: fNRR; A; L; NRR
    • 3: A ! TTP: fSUB; B; L; K; sub K
    • 4: B $ TTP: fCON; A; B; L; K; con K
    • 5: A $ TTP: fCON; A; B; L; K; con K


In step 1, A contacts B and sends the encrypted message. In step 2, B confirms receipt, but cannot read the message. In step 3, A submits the message key to a trusted third party; sub K is the proof of submission of K. The trusted third party stores the tuple (A; B; L; K; con K) in some read-only directory accessible to the public; con K is the confirmation of K issued by the TTP. Then, in step 4, B gets the key while, in step 5, principal A confirms that B can indeed get the key. The last two steps can be performed in any order.


TOTP is a time-based one time password, a temporary passcode, generated by an algorithm from a secret key (e.g. a seed provided by TTP) and current time. The algorithm that generates this passcode uses the current time of a day as one of its factors ensuring that each passcode is unique. Algorithm combines secret key with current timestamp using cryptographic hash function to generate one-time password. TOTP are commonly used for two-factor authentication like Google Authenticator Application, Amazon web services (AWS Virtual MFA) etc.


A hash of the document can be utilized to generate a digital signature. Digital signatures can provide the added assurances of evidence to origin, identity, and status of an electronic document, transaction or message, as well as acknowledging informed consent by the signer. Digital signatures are based on public key cryptography, also known as asymmetric cryptography. Using a public key algorithm such as RSA, one can generate two keys that are mathematically linked: one private and one public. To create a digital signature, signing software (such as an email program) creates a one-way hash of the electronic data to be signed. The private key is then used to encrypt the hash. The encrypted hash—along with other information, such as the hashing algorithm—is the digital signature.


For the present invention, the validation process can be described with the following elements: TOTP=Time-based One-time Password, TTP=Impartial Trusted Third-Party, TPA=Trading Partner A, the originator of the document (second user), TPB=Trading Partner B, the receiver of the document (first user). As used herein, TPA is a device that is associated with a user, e.g., second user. TPB is a device that is associated with a user, e.g., first user. Also, as used herein, the term validation” is equivalent to the term “verification”.


Both TPA and TPB can be using computer applications (usually on mobile devices) that contain the document review, exchange, and acceptance logic. The communication between the devices can be accomplished using a variety of industry standard file transfer or other data communication protocols. The present invention may not require any special cryptographic hardware—it can use only general computing hardware.


The validation method can include a one-time application registration with TTP system being initiated by TPB: a) TPB uses the application to log into the TTP-provided server application using pre-arranged credentials. b) The TTP notes the current time and creates an initial encryption “seed” for TPB (known only to TTP and TPB) and sends the seed value to TPB to be securely stored on the computing device used by TPB; c) This operation can be performed only one time as an initial setup step, and may not be required for any subsequent document exchange.


After the one-time initial set-up, the validation method can include the TPA electronically sending or transmitting a document to TPB: a) a user of TPB reviews the document for accuracy and, if OK, the user of TPB proceeds to digitally accept the document; b) TPB computes the current TOTP based in part on the current time and the initial seed; c) TPB computes a cryptographic hash of the document using the TOTP as the encryption key; d) TPB sends the computed hash and its current clock time (and optionally, TPB's current GPS coordinates) back to TPA; e) TPA can optionally validate that TPB's current time and GPS coordinates are within a reasonable threshold of TPA's current time and GPS location and reject the validation. If they are not validated, TPB can calibrate its device time using the Phone time/NTP (Network Time Protocol) and ensure GPS location services are turned on. TPB also can use Assisted GPS (AGPS) for better accuracy; f) TPA stores the original document, TPB's computed hash, and TPB's reported clock time and GPS coordinates.


In the case where the user of TPB later claims to not have received the document or that the document has subsequently been altered (or as a periodic audit), the following method can be used to resolve the dispute between the user of TPB and the user of TPA: 1) TPA sends TPB's identity, the original document, TPB's computed hash, and TPB's reported time to the TTP. In a more formal legal setting, this information may be provided to a judge or arbitrator for transmission to the TTP; 2) The TTP attempts to validate the document 2a) The TTP computes the TOTP for TPB as of the reported time of the document exchange; 2b) The TTP hashes the supplied document with the computed TOTP; 2c) The TTP compares the computed hash to the hash supplied by TPA (as originally supplied to TPA by TPB during the original document exchange; 3) The TTP reports the results of the hash comparison to all parties.


If the hashes match, then depending upon the length of the TOTP (the length having been configured to match the desired level of cryptographic strength), it can be cryptographically infeasible (a term in the art) for TPA to have forged a document having the same cryptographic hash as the original document.


In an exemplary embodiment 100, FIG. 1 illustrates a document exchange between trading partner A 104 (TPA 104) and trading partner B 106 (TPB 106), supported by a trusted third party 102 (TTP 102). TPB 106 communicates with TTP 102 during a one-time registration and obtains an initial “seed” to support the calculation of a time-based one-time password (TOTP). (FIG. 1, 110) After the one-time registration, TPA 104 transfers a document to TPB 106 in document exchange 112. TPB 106 computes a current TOTP based on the “initial seed” and a current time. Then, TPB 106 computes a hash of the document using TOTP as the encryption key, and transmits to TPA 104 the hash, current clock time and GPS coordinates.


TTP 102 communicates with TPA 104 only during a dispute resolution. (FIG. 1, 108). TTP 102 does not communicate with TPA 104 during the document exchange 112 and validation. TTP 102 communicates with TPB 106 during a one-time registration and a dispute resolution. (FIG. 1, 110) Relative to document exchange 112, TPA 104 and TPB 106 can utilize the same application and can have a unique identity and unique login.


In an exemplary embodiment 200 and 250, FIGS. 2A and 2B illustrate a flowchart for a method of a document exchange and validation based on a non-repudiation protocol and a time-based one time password (TOTP) for encryption. The method comprises the following steps:


TPB 106 registers an application (App) with TTP 102 (step 202)


TTP 102 generates an initial “seed” based in part on a current time & sends initial “seed” to TPB 106 (step 204).


Steps 202 and 204 are only needed during one time registration.


TPA 104 sends a document to TPB 106. (step 206)


The user of TPB 106 reviews document (step 208)


Is the document acceptable to the user of TPB 106? (step 210). If yes, TPB 106 computes the current TOTP based on the current time and initial “seed” (step 213)


Subsequently, TPB 106 computes hash of the document using TOTP as encryption key. (step 214), and TPB 106 sends hash, current clock time, and GPS coordinates (may be optional) to TPA 104. (step 216)


If TPA 104 assumes that the current clock time and GPS coordinates (optional) of TPB 106 are within a threshold of the values for TPA 104, then TPA 104 stores the original document, hash, reported the hash was calculated, and the GPS coordinates (optional) (steps 217, 220).


If TPA 104 does not assumes that the current clock time and GPS coordinates (optional) of TPB 106 are within a threshold of the values for TPA 104, then TPA 104, then TPA 104 attempts to verify that TPB 106's current clock time and GPS coordinates (optional) are within a threshold of the values for TPA 104. (step 218)


If TPA 104 verifies that TPB 106's current clock time and GPS coordinates (optional) are within a threshold of the values for TPA 104, then TPA 104 stores the original document, hash, reported the hash was calculated, and the GPS coordinates (optional) (steps 218, 220)


If TPA 104 cannot verify that TPB 106's current clock time and GPS coordinates (optional) are within a threshold of the values for TPA 104, then TPA 104 sends a message to TPB 106, and TPB 106 proceeds to calibrate its device clock time. (step 224)


If after calibration, TPA 104 can verify that TPB 106's current clock time and GPS coordinates (optional) are within a threshold of the values for TPA 104, TPA 104 proceeds to store the original document, hash, reported the hash was calculated, and the GPS coordinates (optional) (steps 224, 220)


If after calibration, TPA 104 can not verify that TPB 106's current clock time and GPS coordinates (optional) are within a threshold of the values for TPA 104, the response from TPB 106 is rejected and the method ends. (step 222)


If the document is not acceptable in step 210, TPB 106 sends document to TPA 104 for correction. (step 212) The user of TPA 104 can modify the document using the computing device and regenerate the document to match the details of the actual event, e.g. the goods delivered.


The acceptability of a document is equivalent to a manual determination that the user of TPB 106 (e.g. first user) is ready to sign and accept a document. The user of TPB 106 verifies that the invoice states that all the products on the invoice were received by the user of TPB 106. The user of TPB 106 then proceeds and signs and accepts the document. That is, the entries in the document are correct and are acceptable to the user of TPB 106. For example: if the document is an invoice of the all the products that have been delivered by the user of TPA 104 to the user of TPB 106, then the user of TPB 106 verifies that fact before accepting the document.


In an exemplary embodiment 300, FIG. 3 illustrates a flowchart for a method of dispute resolution between two trading partners, such as the user of TPA 104 and the user of TPB 106. The method comprises the steps of:


The user of TPB 106 disputes reception or asserts document has subsequently been altered. (step 301)


TPA 104 transmits TPB 106's identity, original document, computed hash & hash's time to TTP 102. (step 302)


TTP 102 computes TOTP of TPB 106 at the reported time using “seed” for TPB 106. (step 304)


TTP 102 hashes supplied document with computed TOTP. (step 306)


TTP 102 compares computed hash to hash supplied by TPA 104 (originally from TPB 106). (step 308)


Are the hashes equal? (step 310) If yes, the document is legitimate. (step 312) If no, the document is not legitimate. (step 314)


In another exemplary embodiment, a method for a third party to verify a communication transmitted from a second device to a first device without the communication being transmitted via the third party comprises the steps of: (1) in response to receiving a registration request from the first device, sending a unique seed to the first device; and (2) in response to receiving a dispute request from the first device comprising a communication transmitted to the first device by the second device and a first hash and a time transmitted to the second device from the first device in response to the communication: (i) creating a time-based one time password (TOTP) using the time and unique seed (ii) creating a second hash of the communication using the TOTP; (iii) comparing the first and second hashes; and (iv) verifying the communication was received by the second device if the first and second hashed are equal. Additionally, transmitting, with the first device to the second device the GPS coordinates of the first device; and receiving, with the first device, a verification from the second device that the GPS coordinates of the first device are within a threshold of the second device's current GPS coordinates. Alternatively, receiving, with the first device, a rejection from the second device indicating that the GPS coordinates of the first device are not within a threshold of GPS coordinates of the second device. Additionally, the digital signature comprises one or more of the following: evidence, identify, document status, acknowledgement of informed consent by signer.


To supplement the present disclosure, this application incorporates entirely by reference the following commonly assigned patents, patent application publications, and patent applications:

  • U.S. Pat. Nos. 6,832,725; 7,128,266;
  • U.S. Pat. Nos. 7,159,783; 7,413,127;
  • U.S. Pat. Nos. 7,726,575; 8,294,969;
  • U.S. Pat. Nos. 8,317,105; 8,322,622;
  • U.S. Pat. Nos. 8,366,005; 8,371,507;
  • U.S. Pat. Nos. 8,376,233; 8,381,979;
  • U.S. Pat. Nos. 8,390,909; 8,408,464;
  • U.S. Pat. Nos. 8,408,468; 8,408,469;
  • U.S. Pat. Nos. 8,424,768; 8,448,863;
  • U.S. Pat. Nos. 8,457,013; 8,459,557;
  • U.S. Pat. Nos. 8,469,272; 8,474,712;
  • U.S. Pat. Nos. 8,479,992; 8,490,877;
  • U.S. Pat. Nos. 8,517,271; 8,523,076;
  • U.S. Pat. Nos. 8,528,818; 8,544,737;
  • U.S. Pat. Nos. 8,548,242; 8,548,420;
  • U.S. Pat. Nos. 8,550,335; 8,550,354;
  • U.S. Pat. Nos. 8,550,357; 8,556,174;
  • U.S. Pat. Nos. 8,556,176; 8,556,177;
  • U.S. Pat. Nos. 8,559,767; 8,599,957;
  • U.S. Pat. Nos. 8,561,895; 8,561,903;
  • U.S. Pat. Nos. 8,561,905; 8,565,107;
  • U.S. Pat. Nos. 8,571,307; 8,579,200;
  • U.S. Pat. Nos. 8,583,924; 8,584,945;
  • U.S. Pat. Nos. 8,587,595; 8,587,697;
  • U.S. Pat. Nos. 8,588,869; 8,590,789;
  • U.S. Pat. Nos. 8,596,539; 8,596,542;
  • U.S. Pat. Nos. 8,596,543; 8,599,271;
  • U.S. Pat. Nos. 8,599,957; 8,600,158;
  • U.S. Pat. Nos. 8,600,167; 8,602,309;
  • U.S. Pat. Nos. 8,608,053; 8,608,071;
  • U.S. Pat. Nos. 8,611,309; 8,615,487;
  • U.S. Pat. Nos. 8,616,454; 8,621,123;
  • U.S. Pat. Nos. 8,622,303; 8,628,013;
  • U.S. Pat. Nos. 8,628,015; 8,628,016;
  • U.S. Pat. Nos. 8,629,926; 8,630,491;
  • U.S. Pat. Nos. 8,635,309; 8,636,200;
  • U.S. Pat. Nos. 8,636,212; 8,636,215;
  • U.S. Pat. Nos. 8,636,224; 8,638,806;
  • U.S. Pat. Nos. 8,640,958; 8,640,960;
  • U.S. Pat. Nos. 8,643,717; 8,646,692;
  • U.S. Pat. Nos. 8,646,694; 8,657,200;
  • U.S. Pat. Nos. 8,659,397; 8,668,149;
  • U.S. Pat. Nos. 8,678,285; 8,678,286;
  • U.S. Pat. Nos. 8,682,077; 8,687,282;
  • U.S. Pat. Nos. 8,692,927; 8,695,880;
  • U.S. Pat. Nos. 8,698,949; 8,717,494;
  • U.S. Pat. Nos. 8,717,494; 8,720,783;
  • U.S. Pat. Nos. 8,723,804; 8,723,904;
  • U.S. Pat. Nos. 8,727,223; 8,740,082;
  • U.S. Pat. Nos. 8,740,085; 8,746,563;
  • U.S. Pat. Nos. 8,750,445; 8,752,766;
  • U.S. Pat. Nos. 8,756,059; 8,757,495;
  • U.S. Pat. Nos. 8,760,563; 8,763,909;
  • U.S. Pat. Nos. 8,777,108; 8,777,109;
  • U.S. Pat. Nos. 8,779,898; 8,781,520;
  • U.S. Pat. Nos. 8,783,573; 8,789,757;
  • U.S. Pat. Nos. 8,789,758; 8,789,759;
  • U.S. Pat. Nos. 8,794,520; 8,794,522;
  • U.S. Pat. Nos. 8,794,525; 8,794,526;
  • U.S. Pat. Nos. 8,798,367; 8,807,431;
  • U.S. Pat. Nos. 8,807,432; 8,820,630;
  • U.S. Pat. Nos. 8,822,848; 8,824,692;
  • U.S. Pat. Nos. 8,824,696; 8,842,849;
  • U.S. Pat. Nos. 8,844,822; 8,844,823;
  • U.S. Pat. Nos. 8,849,019; 8,851,383;
  • U.S. Pat. Nos. 8,854,633; 8,866,963;
  • U.S. Pat. Nos. 8,868,421; 8,868,519;
  • U.S. Pat. Nos. 8,868,802; 8,868,803;
  • U.S. Pat. Nos. 8,870,074; 8,879,639;
  • U.S. Pat. Nos. 8,880,426; 8,881,983;
  • U.S. Pat. Nos. 8,881,987; 8,903,172;
  • U.S. Pat. Nos. 8,908,995; 8,910,870;
  • U.S. Pat. Nos. 8,910,875; 8,914,290;
  • U.S. Pat. Nos. 8,914,788; 8,915,439;
  • U.S. Pat. Nos. 8,915,444; 8,916,789;
  • U.S. Pat. Nos. 8,918,250; 8,918,564;
  • U.S. Pat. Nos. 8,925,818; 8,939,374;
  • U.S. Pat. Nos. 8,942,480; 8,944,313;
  • U.S. Pat. Nos. 8,944,327; 8,944,332;
  • U.S. Pat. Nos. 8,950,678; 8,967,468;
  • U.S. Pat. Nos. 8,971,346; 8,976,030;
  • U.S. Pat. Nos. 8,976,368; 8,978,981;
  • U.S. Pat. Nos. 8,978,983; 8,978,984;
  • U.S. Pat. Nos. 8,985,456; 8,985,457;
  • U.S. Pat. Nos. 8,985,459; 8,985,461;
  • U.S. Pat. Nos. 8,988,578; 8,988,590;
  • U.S. Pat. Nos. 8,991,704; 8,996,194;
  • U.S. Pat. Nos. 8,996,384; 9,002,641;
  • U.S. Pat. Nos. 9,007,368; 9,010,641;
  • U.S. Pat. Nos. 9,015,513; 9,016,576;
  • U.S. Pat. Nos. 9,022,288; 9,030,964;
  • U.S. Pat. Nos. 9,033,240; 9,033,242;
  • U.S. Pat. Nos. 9,036,054; 9,037,344;
  • U.S. Pat. Nos. 9,038,911; 9,038,915;
  • U.S. Pat. Nos. 9,047,098; 9,047,359;
  • U.S. Pat. Nos. 9,047,420; 9,047,525;
  • U.S. Pat. Nos. 9,047,531; 9,053,055;
  • U.S. Pat. Nos. 9,053,378; 9,053,380;
  • U.S. Pat. Nos. 9,058,526; 9,064,165;
  • U.S. Pat. Nos. 9,064,165; 9,064,167;
  • U.S. Pat. Nos. 9,064,168; 9,064,254;
  • U.S. Pat. Nos. 9,066,032; 9,070,032;
  • U.S. Pat. Nos. 9,076,459; 9,079,423;
  • U.S. Pat. Nos. 9,080,856; 9,082,023;
  • U.S. Pat. Nos. 9,082,031; 9,084,032;
  • U.S. Pat. Nos. 9,087,250; 9,092,681;
  • U.S. Pat. Nos. 9,092,682; 9,092,683;
  • U.S. Pat. Nos. 9,093,141; 9,098,763;
  • U.S. Pat. Nos. 9,104,929; 9,104,934;
  • U.S. Pat. Nos. 9,107,484; 9,111,159;
  • U.S. Pat. Nos. 9,111,166; 9,135,483;
  • U.S. Pat. Nos. 9,137,009; 9,141,839;
  • U.S. Pat. Nos. 9,147,096; 9,148,474;
  • U.S. Pat. Nos. 9,158,000; 9,158,340;
  • U.S. Pat. Nos. 9,158,953; 9,159,059;
  • U.S. Pat. Nos. 9,165,174; 9,171,543;
  • U.S. Pat. Nos. 9,183,425; 9,189,669;
  • U.S. Pat. Nos. 9,195,844; 9,202,458;
  • U.S. Pat. Nos. 9,208,366; 9,208,367;
  • U.S. Pat. Nos. 9,219,836; 9,224,024;
  • U.S. Pat. Nos. 9,224,027; 9,230,140;
  • U.S. Pat. Nos. 9,235,553; 9,239,950;
  • U.S. Pat. Nos. 9,245,492; 9,248,640;
  • U.S. Pat. Nos. 9,250,652; 9,250,712;
  • U.S. Pat. Nos. 9,251,411; 9,258,033;
  • U.S. Pat. Nos. 9,262,633; 9,262,660;
  • U.S. Pat. Nos. 9,262,662; 9,269,036;
  • U.S. Pat. Nos. 9,270,782; 9,274,812;
  • U.S. Pat. Nos. 9,275,388; 9,277,668;
  • U.S. Pat. Nos. 9,280,693; 9,286,496;
  • U.S. Pat. Nos. 9,298,964; 9,301,427;
  • U.S. Pat. Nos. 9,313,377; 9,317,037;
  • U.S. Pat. Nos. 9,319,548; 9,342,723;
  • U.S. Pat. Nos. 9,361,882; 9,365,381;
  • U.S. Pat. Nos. 9,373,018; 9,375,945;
  • U.S. Pat. Nos. 9,378,403; 9,383,848;
  • U.S. Pat. Nos. 9,384,374; 9,390,304;
  • U.S. Pat. Nos. 9,390,596; 9,411,386;
  • U.S. Pat. Nos. 9,412,242; 9,418,269;
  • U.S. Pat. Nos. 9,418,270; 9,465,967;
  • U.S. Pat. Nos. 9,423,318; 9,424,454;
  • U.S. Pat. Nos. 9,436,860; 9,443,123;
  • U.S. Pat. Nos. 9,443,222; 9,454,689;
  • U.S. Pat. Nos. 9,464,885; 9,465,967;
  • U.S. Pat. Nos. 9,478,983; 9,481,186;
  • U.S. Pat. Nos. 9,487,113; 9,488,986;
  • U.S. Pat. Nos. 9,489,782; 9,490,540;
  • U.S. Pat. Nos. 9,491,729; 9,497,092;
  • U.S. Pat. Nos. 9,507,974; 9,519,814;
  • U.S. Pat. Nos. 9,521,331; 9,530,038;
  • U.S. Pat. Nos. 9,572,901; 9,558,386;
  • U.S. Pat. Nos. 9,606,581; 9,646,189;
  • U.S. Pat. Nos. 9,646,191; 9,652,648;
  • U.S. Pat. Nos. 9,652,653; 9,656,487;
  • U.S. Pat. Nos. 9,659,198; 9,680,282;
  • U.S. Pat. Nos. 9,697,401; 9,701,140;
  • U.S. Design Pat. No. D702,237;
  • U.S. Design Pat. No. D716,285;
  • U.S. Design Pat. No. D723,560;
  • U.S. Design Pat. No. D730,357;
  • U.S. Design Pat. No. D730,901;
  • U.S. Design Pat. No. D730,902;
  • U.S. Design Pat. No. D734,339;
  • U.S. Design Pat. No. D737,321;
  • U.S. Design Pat. No. D754,205;
  • U.S. Design Pat. No. D754,206;
  • U.S. Design Pat. No. D757,009;
  • U.S. Design Pat. No. D760,719;
  • U.S. Design Pat. No. D762,604;
  • U.S. Design Pat. No. D766,244;
  • U.S. Design Pat. No. D777,166;
  • U.S. Design Pat. No. D771,631;
  • U.S. Design Pat. No. D783,601;
  • U.S. Design Pat. No. D785,617;
  • U.S. Design Pat. No. D785,636;
  • U.S. Design Pat. No. D790,505;
  • U.S. Design Pat. No. D790,546;
  • International Publication No. 2013/163789;
  • U.S. Patent Application Publication No. 2008/0185432;
  • U.S. Patent Application Publication No. 2009/0134221;
  • U.S. Patent Application Publication No. 2010/0177080;
  • U.S. Patent Application Publication No. 2010/0177076;
  • U.S. Patent Application Publication No. 2010/0177707;
  • U.S. Patent Application Publication No. 2010/0177749;
  • U.S. Patent Application Publication No. 2010/0265880;
  • U.S. Patent Application Publication No. 2011/0202554;
  • U.S. Patent Application Publication No. 2012/0111946;
  • U.S. Patent Application Publication No. 2012/0168511;
  • U.S. Patent Application Publication No. 2012/0168512;
  • U.S. Patent Application Publication No. 2012/0193423;
  • U.S. Patent Application Publication No. 2012/0194692;
  • U.S. Patent Application Publication No. 2012/0203647;
  • U.S. Patent Application Publication No. 2012/0223141;
  • U.S. Patent Application Publication No. 2012/0228382;
  • U.S. Patent Application Publication No. 2012/0248188;
  • U.S. Patent Application Publication No. 2013/0043312;
  • U.S. Patent Application Publication No. 2013/0082104;
  • U.S. Patent Application Publication No. 2013/0175341;
  • U.S. Patent Application Publication No. 2013/0175343;
  • U.S. Patent Application Publication No. 2013/0257744;
  • U.S. Patent Application Publication No. 2013/0257759;
  • U.S. Patent Application Publication No. 2013/0270346;
  • U.S. Patent Application Publication No. 2013/0292475;
  • U.S. Patent Application Publication No. 2013/0292477;
  • U.S. Patent Application Publication No. 2013/0293539;
  • U.S. Patent Application Publication No. 2013/0293540;
  • U.S. Patent Application Publication No. 2013/0306728;
  • U.S. Patent Application Publication No. 2013/0306731;
  • U.S. Patent Application Publication No. 2013/0307964;
  • U.S. Patent Application Publication No. 2013/0308625;
  • U.S. Patent Application Publication No. 2013/0313324;
  • U.S. Patent Application Publication No. 2013/0332996;
  • U.S. Patent Application Publication No. 2014/0001267;
  • U.S. Patent Application Publication No. 2014/0025584;
  • U.S. Patent Application Publication No. 2014/0034734;
  • U.S. Patent Application Publication No. 2014/0036848;
  • U.S. Patent Application Publication No. 2014/0039693;
  • U.S. Patent Application Publication No. 2014/0049120;
  • U.S. Patent Application Publication No. 2014/0049635;
  • U.S. Patent Application Publication No. 2014/0061306;
  • U.S. Patent Application Publication No. 2014/0063289;
  • U.S. Patent Application Publication No. 2014/0066136;
  • U.S. Patent Application Publication No. 2014/0067692;
  • U.S. Patent Application Publication No. 2014/0070005;
  • U.S. Patent Application Publication No. 2014/0071840;
  • U.S. Patent Application Publication No. 2014/0074746;
  • U.S. Patent Application Publication No. 2014/0076974;
  • U.S. Patent Application Publication No. 2014/0097249;
  • U.S. Patent Application Publication No. 2014/0098792;
  • U.S. Patent Application Publication No. 2014/0100813;
  • U.S. Patent Application Publication No. 2014/0103115;
  • U.S. Patent Application Publication No. 2014/0104413;
  • U.S. Patent Application Publication No. 2014/0104414;
  • U.S. Patent Application Publication No. 2014/0104416;
  • U.S. Patent Application Publication No. 2014/0106725;
  • U.S. Patent Application Publication No. 2014/0108010;
  • U.S. Patent Application Publication No. 2014/0108402;
  • U.S. Patent Application Publication No. 2014/0110485;
  • U.S. Patent Application Publication No. 2014/0125853;
  • U.S. Patent Application Publication No. 2014/0125999;
  • U.S. Patent Application Publication No. 2014/0129378;
  • U.S. Patent Application Publication No. 2014/0131443;
  • U.S. Patent Application Publication No. 2014/0133379;
  • U.S. Patent Application Publication No. 2014/0136208;
  • U.S. Patent Application Publication No. 2014/0140585;
  • U.S. Patent Application Publication No. 2014/0152882;
  • U.S. Patent Application Publication No. 2014/0158770;
  • U.S. Patent Application Publication No. 2014/0159869;
  • U.S. Patent Application Publication No. 2014/0166759;
  • U.S. Patent Application Publication No. 2014/0168787;
  • U.S. Patent Application Publication No. 2014/0175165;
  • U.S. Patent Application Publication No. 2014/0191684;
  • U.S. Patent Application Publication No. 2014/0191913;
  • U.S. Patent Application Publication No. 2014/0197304;
  • U.S. Patent Application Publication No. 2014/0214631;
  • U.S. Patent Application Publication No. 2014/0217166;
  • U.S. Patent Application Publication No. 2014/0231500;
  • U.S. Patent Application Publication No. 2014/0247315;
  • U.S. Patent Application Publication No. 2014/0263493;
  • U.S. Patent Application Publication No. 2014/0263645;
  • U.S. Patent Application Publication No. 2014/0270196;
  • U.S. Patent Application Publication No. 2014/0270229;
  • U.S. Patent Application Publication No. 2014/0278387;
  • U.S. Patent Application Publication No. 2014/0288933;
  • U.S. Patent Application Publication No. 2014/0297058;
  • U.S. Patent Application Publication No. 2014/0299665;
  • U.S. Patent Application Publication No. 2014/0332590;
  • U.S. Patent Application Publication No. 2014/0351317;
  • U.S. Patent Application Publication No. 2014/0362184;
  • U.S. Patent Application Publication No. 2014/0363015;
  • U.S. Patent Application Publication No. 2014/0369511;
  • U.S. Patent Application Publication No. 2014/0374483;
  • U.S. Patent Application Publication No. 2014/0374485;
  • U.S. Patent Application Publication No. 2015/0001301;
  • U.S. Patent Application Publication No. 2015/0001304;
  • U.S. Patent Application Publication No. 2015/0009338;
  • U.S. Patent Application Publication No. 2015/0014416;
  • U.S. Patent Application Publication No. 2015/0021397;
  • U.S. Patent Application Publication No. 2015/0028104;
  • U.S. Patent Application Publication No. 2015/0029002;
  • U.S. Patent Application Publication No. 2015/0032709;
  • U.S. Patent Application Publication No. 2015/0039309;
  • U.S. Patent Application Publication No. 2015/0039878;
  • U.S. Patent Application Publication No. 2015/0040378;
  • U.S. Patent Application Publication No. 2015/0049347;
  • U.S. Patent Application Publication No. 2015/0051992;
  • U.S. Patent Application Publication No. 2015/0053769;
  • U.S. Patent Application Publication No. 2015/0062366;
  • U.S. Patent Application Publication No. 2015/0063215;
  • U.S. Patent Application Publication No. 2015/0088522;
  • U.S. Patent Application Publication No. 2015/0096872;
  • U.S. Patent Application Publication No. 2015/0100196;
  • U.S. Patent Application Publication No. 2015/0102109;
  • U.S. Patent Application Publication No. 2015/0115035;
  • U.S. Patent Application Publication No. 2015/0127791;
  • U.S. Patent Application Publication No. 2015/0128116;
  • U.S. Patent Application Publication No. 2015/0133047;
  • U.S. Patent Application Publication No. 2015/0134470;
  • U.S. Patent Application Publication No. 2015/0136851;
  • U.S. Patent Application Publication No. 2015/0142492;
  • U.S. Patent Application Publication No. 2015/0144692;
  • U.S. Patent Application Publication No. 2015/0144698;
  • U.S. Patent Application Publication No. 2015/0149946;
  • U.S. Patent Application Publication No. 2015/0161429;
  • U.S. Patent Application Publication No. 2015/0178523;
  • U.S. Patent Application Publication No. 2015/0178537;
  • U.S. Patent Application Publication No. 2015/0178685;
  • U.S. Patent Application Publication No. 2015/0181109;
  • U.S. Patent Application Publication No. 2015/0199957;
  • U.S. Patent Application Publication No. 2015/0210199;
  • U.S. Patent Application Publication No. 2015/0212565;
  • U.S. Patent Application Publication No. 2015/0213647;
  • U.S. Patent Application Publication No. 2015/0220753;
  • U.S. Patent Application Publication No. 2015/0220901;
  • U.S. Patent Application Publication No. 2015/0227189;
  • U.S. Patent Application Publication No. 2015/0236984;
  • U.S. Patent Application Publication No. 2015/0239348;
  • U.S. Patent Application Publication No. 2015/0242658;
  • U.S. Patent Application Publication No. 2015/0248572;
  • U.S. Patent Application Publication No. 2015/0254485;
  • U.S. Patent Application Publication No. 2015/0261643;
  • U.S. Patent Application Publication No. 2015/0264624;
  • U.S. Patent Application Publication No. 2015/0268971;
  • U.S. Patent Application Publication No. 2015/0269402;
  • U.S. Patent Application Publication No. 2015/0288689;
  • U.S. Patent Application Publication No. 2015/0288896;
  • U.S. Patent Application Publication No. 2015/0310243;
  • U.S. Patent Application Publication No. 2015/0310244;
  • U.S. Patent Application Publication No. 2015/0310389;
  • U.S. Patent Application Publication No. 2015/0312780;
  • U.S. Patent Application Publication No. 2015/0327012;
  • U.S. Patent Application Publication No. 2016/0014251;
  • U.S. Patent Application Publication No. 2016/0025697;
  • U.S. Patent Application Publication No. 2016/0026838;
  • U.S. Patent Application Publication No. 2016/0026839;
  • U.S. Patent Application Publication No. 2016/0040982;
  • U.S. Patent Application Publication No. 2016/0042241;
  • U.S. Patent Application Publication No. 2016/0057230;
  • U.S. Patent Application Publication No. 2016/0062473;
  • U.S. Patent Application Publication No. 2016/0070944;
  • U.S. Patent Application Publication No. 2016/0092805;
  • U.S. Patent Application Publication No. 2016/0101936;
  • U.S. Patent Application Publication No. 2016/0104019;
  • U.S. Patent Application Publication No. 2016/0104274;
  • U.S. Patent Application Publication No. 2016/0109219;
  • U.S. Patent Application Publication No. 2016/0109220;
  • U.S. Patent Application Publication No. 2016/0109224;
  • U.S. Patent Application Publication No. 2016/0112631;
  • U.S. Patent Application Publication No. 2016/0112643;
  • U.S. Patent Application Publication No. 2016/0117627;
  • U.S. Patent Application Publication No. 2016/0124516;
  • U.S. Patent Application Publication No. 2016/0125217;
  • U.S. Patent Application Publication No. 2016/0125342;
  • U.S. Patent Application Publication No. 2016/0125873;
  • U.S. Patent Application Publication No. 2016/0133253;
  • U.S. Patent Application Publication No. 2016/0171597;
  • U.S. Patent Application Publication No. 2016/0171666;
  • U.S. Patent Application Publication No. 2016/0171720;
  • U.S. Patent Application Publication No. 2016/0171775;
  • U.S. Patent Application Publication No. 2016/0171777;
  • U.S. Patent Application Publication No. 2016/0174674;
  • U.S. Patent Application Publication No. 2016/0178479;
  • U.S. Patent Application Publication No. 2016/0178685;
  • U.S. Patent Application Publication No. 2016/0178707;
  • U.S. Patent Application Publication No. 2016/0179132;
  • U.S. Patent Application Publication No. 2016/0179143;
  • U.S. Patent Application Publication No. 2016/0179368;
  • U.S. Patent Application Publication No. 2016/0179378;
  • U.S. Patent Application Publication No. 2016/0180130;
  • U.S. Patent Application Publication No. 2016/0180133;
  • U.S. Patent Application Publication No. 2016/0180136;
  • U.S. Patent Application Publication No. 2016/0180594;
  • U.S. Patent Application Publication No. 2016/0180663;
  • U.S. Patent Application Publication No. 2016/0180678;
  • U.S. Patent Application Publication No. 2016/0180713;
  • U.S. Patent Application Publication No. 2016/0185136;
  • U.S. Patent Application Publication No. 2016/0185291;
  • U.S. Patent Application Publication No. 2016/0186926;
  • U.S. Patent Application Publication No. 2016/0188861;
  • U.S. Patent Application Publication No. 2016/0188939;
  • U.S. Patent Application Publication No. 2016/0188940;
  • U.S. Patent Application Publication No. 2016/0188941;
  • U.S. Patent Application Publication No. 2016/0188942;
  • U.S. Patent Application Publication No. 2016/0188943;
  • U.S. Patent Application Publication No. 2016/0188944;
  • U.S. Patent Application Publication No. 2016/0189076;
  • U.S. Patent Application Publication No. 2016/0189087;
  • U.S. Patent Application Publication No. 2016/0189088;
  • U.S. Patent Application Publication No. 2016/0189092;
  • U.S. Patent Application Publication No. 2016/0189284;
  • U.S. Patent Application Publication No. 2016/0189288;
  • U.S. Patent Application Publication No. 2016/0189366;
  • U.S. Patent Application Publication No. 2016/0189443;
  • U.S. Patent Application Publication No. 2016/0189447;
  • U.S. Patent Application Publication No. 2016/0189489;
  • U.S. Patent Application Publication No. 2016/0192051;
  • U.S. Patent Application Publication No. 2016/0202951;
  • U.S. Patent Application Publication No. 2016/0202958;
  • U.S. Patent Application Publication No. 2016/0202959;
  • U.S. Patent Application Publication No. 2016/0203021;
  • U.S. Patent Application Publication No. 2016/0203429;
  • U.S. Patent Application Publication No. 2016/0203797;
  • U.S. Patent Application Publication No. 2016/0203820;
  • U.S. Patent Application Publication No. 2016/0204623;
  • U.S. Patent Application Publication No. 2016/0204636;
  • U.S. Patent Application Publication No. 2016/0204638;
  • U.S. Patent Application Publication No. 2016/0227912;
  • U.S. Patent Application Publication No. 2016/0232891;
  • U.S. Patent Application Publication No. 2016/0292477;
  • U.S. Patent Application Publication No. 2016/0294779;
  • U.S. Patent Application Publication No. 2016/0306769;
  • U.S. Patent Application Publication No. 2016/0314276;
  • U.S. Patent Application Publication No. 2016/0314294;
  • U.S. Patent Application Publication No. 2016/0316190;
  • U.S. Patent Application Publication No. 2016/0323310;
  • U.S. Patent Application Publication No. 2016/0325677;
  • U.S. Patent Application Publication No. 2016/0327614;
  • U.S. Patent Application Publication No. 2016/0327930;
  • U.S. Patent Application Publication No. 2016/0328762;
  • U.S. Patent Application Publication No. 2016/0330218;
  • U.S. Patent Application Publication No. 2016/0343163;
  • U.S. Patent Application Publication No. 2016/0343176;
  • U.S. Patent Application Publication No. 2016/0364914;
  • U.S. Patent Application Publication No. 2016/0370220;
  • U.S. Patent Application Publication No. 2016/0372282;
  • U.S. Patent Application Publication No. 2016/0373847;
  • U.S. Patent Application Publication No. 2016/0377414;
  • U.S. Patent Application Publication No. 2016/0377417;
  • U.S. Patent Application Publication No. 2017/0010141;
  • U.S. Patent Application Publication No. 2017/0010328;
  • U.S. Patent Application Publication No. 2017/0010780;
  • U.S. Patent Application Publication No. 2017/0016714;
  • U.S. Patent Application Publication No. 2017/0018094;
  • U.S. Patent Application Publication No. 2017/0046603;
  • U.S. Patent Application Publication No. 2017/0047864;
  • U.S. Patent Application Publication No. 2017/0053146;
  • U.S. Patent Application Publication No. 2017/0053147;
  • U.S. Patent Application Publication No. 2017/0053647;
  • U.S. Patent Application Publication No. 2017/0055606;
  • U.S. Patent Application Publication No. 2017/0060316;
  • U.S. Patent Application Publication No. 2017/0061961;
  • U.S. Patent Application Publication No. 2017/0064634;
  • U.S. Patent Application Publication No. 2017/0083730;
  • U.S. Patent Application Publication No. 2017/0091502;
  • U.S. Patent Application Publication No. 2017/0091706;
  • U.S. Patent Application Publication No. 2017/0091741;
  • U.S. Patent Application Publication No. 2017/0091904;
  • U.S. Patent Application Publication No. 2017/0092908;
  • U.S. Patent Application Publication No. 2017/0094238;
  • U.S. Patent Application Publication No. 2017/0098947;
  • U.S. Patent Application Publication No. 2017/0100949;
  • U.S. Patent Application Publication No. 2017/0108838;
  • U.S. Patent Application Publication No. 2017/0108895;
  • U.S. Patent Application Publication No. 2017/0118355;
  • U.S. Patent Application Publication No. 2017/0123598;
  • U.S. Patent Application Publication No. 2017/0124369;
  • U.S. Patent Application Publication No. 2017/0124396;
  • U.S. Patent Application Publication No. 2017/0124687;
  • U.S. Patent Application Publication No. 2017/0126873;
  • U.S. Patent Application Publication No. 2017/0126904;
  • U.S. Patent Application Publication No. 2017/0139012;
  • U.S. Patent Application Publication No. 2017/0140329;
  • U.S. Patent Application Publication No. 2017/0140731;
  • U.S. Patent Application Publication No. 2017/0147847;
  • U.S. Patent Application Publication No. 2017/0150124;
  • U.S. Patent Application Publication No. 2017/0169198;
  • U.S. Patent Application Publication No. 2017/0171035;
  • U.S. Patent Application Publication No. 2017/0171703;
  • U.S. Patent Application Publication No. 2017/0171803;
  • U.S. Patent Application Publication No. 2017/0180359;
  • U.S. Patent Application Publication No. 2017/0180577;
  • U.S. Patent Application Publication No. 2017/0181299;
  • U.S. Patent Application Publication No. 2017/0190192;
  • U.S. Patent Application Publication No. 2017/0193432;
  • U.S. Patent Application Publication No. 2017/0193461;
  • U.S. Patent Application Publication No. 2017/0193727;
  • U.S. Patent Application Publication No. 2017/0199266;
  • U.S. Patent Application Publication No. 2017/0200108; and
  • U.S. Patent Application Publication No. 2017/0200275.


In the specification and/or figures, typical embodiments of the invention have been disclosed. The present invention is not limited to such exemplary embodiments. The use of the term “and/or” includes any and all combinations of one or more of the associated listed items. The figures are schematic representations and so are not necessarily drawn to scale. Unless otherwise noted, specific terms have been used in a generic and descriptive sense and not for purposes of limitation.

Claims
  • 1. A method for a third party device to verify a communication transmitted from a second device to a first device without the communication being transmitted via the third party device, the method comprising the steps of: in response to receiving a registration request from the first device, sending, by the third party device, a unique seed to the first device;receiving, by the third party device, (i) a dispute request from the first device, the dispute request comprising the communication transmitted to the first device by the second device, (ii) a clock time of the first device when the first device transmitted the dispute request in response to the communication, and (iii) a first hash of the communication computed using a first time-based one time password (TOTP) that is created, by the first device, based on a current clock time of the first device and the unique seed; andin response to receiving the dispute request: creating, by the third party device, a second TOTP using the current clock time and the unique seed;creating, by the third party device, a second hash of the communication using the second TOTP;comparing, by the third party device, the first hash and the second hash; andverifying, by the third party device, the communication is received from the second device if the first hash and the second hash are equal.
  • 2. The method according to claim 1, wherein: transmitting, by the first device, to the second device GPS coordinates of the first device; andreceiving, by the first device, a verification from the second device that the GPS coordinates of the first device are within a threshold of second device's current GPS coordinates.
  • 3. The method according to claim 1, wherein: capabilities of the first device and the second device are equivalent, and the first device and the second device utilize the same application, andafter application registration neither the first device nor the second device access the third party device unless and until they have a dispute.
  • 4. The method according to claim 1, wherein: if the first hash and the second hash are equal, transmitting, by the third party device, an indication to the first device and the second device that the communication provided by the second device is legitimate.
  • 5. The method according to claim 1, wherein a digital signature is generated based on the first hash.
  • 6. The method according to claim 5, wherein the digital signature comprises one or more of the following: an evidence of origin, an identity, a document status, an acknowledgement of informed consent by a signer.
  • 7. The method according to claim 5, wherein the digital signature utilizes asymmetric cryptography.
  • 8. The method according to claim 1, wherein the clock time of the first device is calibrated using a phone time/network time protocol.
  • 9. The method according to claim 1, wherein the communication is acceptable when a first user manually determines an accuracy of content of a document associated with the communication.
  • 10. A method of implementing a non-repudiation protocol, the method comprising: registering, by a first device, an application associated with the first device at a third party device, wherein the application registration is a one-time event;receiving, by the first device, a seed generated by the third party device based in part on a seed time;receiving, by the first device, a document from a second device;displaying, by the first device, the received document to a first user;in response to receiving a first input from the first user indicating acceptance of the document, performing: computing, by the first device, a first time-based one-time password based in part on a current clock time of the first device and the seed;computing, by the first device, a first hash of the document using the first time-based one-time password as an encryption key;transmitting, by the first device, to the second device the first hash and the current clock time when the first hash is computed by the first device, wherein the second device transmits the first hash and the current clock time to the third party device for computation of a second time-based one-time password; andreceiving an indication from the third party device indicating one of: the document is legitimate, wherein the third party device determines that the document is legitimate when the first hash is equal to a second hash of the document that is computed using the second time-based one-time password; andthe document is not legitimate, wherein the third party device determines that the document is not legitimate when the first hash is not equal to the second hash; andin response to receiving a second input from the first user indicating non-acceptance of the document: transmitting, by the first device, the document to the second device for correction.
  • 11. The method according to claim 10, further comprising: transmitting, by the first device, to the second device GPS coordinates of the first device; andreceiving, by the first device, a rejection from the second device indicating that the GPS coordinates of the first device are not within a threshold of GPS coordinates of the second device.
  • 12. The method according to claim 10, further comprising: in response to the second device determining that the current clock time of the first device is within a threshold of a current clock time of the second device, storing, by the second device, the first hash and the current clock time when the first hash is computed by the first device, andin response to the second device determining that the current clock time of the first device is not within the threshold of the current clock time of the second device, measuring, by the second device, to verify that the current clock time of the first device is within the threshold of the current clock time of the second device.
  • 13. The method according to claim 12, further comprising, in response to the second device failing to verify that the current clock time of the first device is within the threshold of the current clock time of the second device, calibrating, by the first device, the current clock time of the first device.
  • 14. The method according to claim 12, further comprising, in response to the current clock time of the first device not being within the threshold of the current clock time of the second device, receiving, by the first device, a rejection from the second device.
  • 15. The method according to claim 10, further comprising: receiving, by the third party device, from the second device an indication of a dispute, an identity of the first device, the document, the first hash, and the current clock time when the first hash is computed by the first device;computing, by the third party device, the second time-based one-time password based in part on the received current clock time when the first hash is computed by the first device;computing, by the third party device, the second hash of the document with the second time-based one-time password;comparing the first hash to the second hash; andif the first hash and the second hash are equal, transmitting, by the third party device, an indication to the first device and the second device that the document provided by the second device is legitimate.
  • 16. The method according to claim 10, further comprising: receiving, by the trusted third party device, from the first device an indication of a dispute, a second document asserted by the second device as legitimate, the first hash, and the current clock time when the first hash is computed by the first device;computing, by the third party device, the second time-based one-time password based in part on the received current clock time when the first hash is computed by the first device;computing, by the third party device, the second hash of the second document with the second time-based one-time password;comparing the first hash to the second hash; andif the first hash and the second hash are equal, transmitting, by the third party device, an indication to the first device and the second device that the document provided by the second device is legitimate.
  • 17. The method according to claim 10, further comprising, generating a digital signature based on the first hash.
  • 18. The method according to claim 10, wherein the document is acceptable when the first user manually determines an accuracy of content of the document.
  • 19. A method of implementing a non-repudiation protocol, the method comprising: receiving, by a first device, a request for a document from a second device;transmitting, by the first device, the document to the second device;receiving, by the first device, a hash and a current clock time when the hash is computed by the second device, wherein the second device computes a time-based one-time password based in part on the current clock time and a seed that is received from a third party device, and wherein the second device computes the hash of the document using the time-based one-time password as an encryption key;verifying, by the first device, whether the current clock time of the second device is within a threshold of a current clock time of the first device;in response to verifying that the current clock time of the second device is within the threshold of the current clock time of the first device, storing, by the first device, the document, the hash, and the current clock time when the hash is computed by the second device; andin response to failing to verify that the current clock time of the second device is within the threshold of the current clock time of the first device, calibrating, by the second device, the current clock time of the second device.
  • 20. The method according to claim 19, further comprising receiving, by the second device, a rejection from the first device, in response to the current clock time of the second device not being within the threshold of the current clock time of the first device, post calibration.
US Referenced Citations (656)
Number Name Date Kind
6832725 Gardiner et al. Dec 2004 B2
7128266 Zhu et al. Oct 2006 B2
7159783 Walczyk et al. Jan 2007 B2
7413127 Ehrhart et al. Aug 2008 B2
7726575 Wang et al. Jun 2010 B2
8294969 Plesko Oct 2012 B2
8317105 Kotlarsky et al. Nov 2012 B2
8322622 Liu Dec 2012 B2
8366005 Kotlarsky et al. Feb 2013 B2
8371507 Haggerty et al. Feb 2013 B2
8376233 Van Horn et al. Feb 2013 B2
8381979 Franz Feb 2013 B2
8390909 Plesko Mar 2013 B2
8408464 Zhu et al. Apr 2013 B2
8408468 Horn et al. Apr 2013 B2
8408469 Good Apr 2013 B2
8424768 Rueblinger et al. Apr 2013 B2
8448863 Xian et al. May 2013 B2
8457013 Essinger et al. Jun 2013 B2
8459557 Havens et al. Jun 2013 B2
8469272 Kearney Jun 2013 B2
8474712 Kearney et al. Jul 2013 B2
8479992 Kotlarsky et al. Jul 2013 B2
8490877 Kearney Jul 2013 B2
8517271 Kotlarsky et al. Aug 2013 B2
8523076 Good Sep 2013 B2
8528818 Ehrhart et al. Sep 2013 B2
8544737 Gomez et al. Oct 2013 B2
8548420 Grunow et al. Oct 2013 B2
8550335 Samek et al. Oct 2013 B2
8550354 Gannon et al. Oct 2013 B2
8550357 Kearney Oct 2013 B2
8556174 Kosecki et al. Oct 2013 B2
8556176 Van Horn et al. Oct 2013 B2
8556177 Hussey et al. Oct 2013 B2
8559767 Barber et al. Oct 2013 B2
8561895 Gomez et al. Oct 2013 B2
8561903 Sauerwein Oct 2013 B2
8561905 Edmonds et al. Oct 2013 B2
8565107 Pease et al. Oct 2013 B2
8571307 Li et al. Oct 2013 B2
8579200 Samek et al. Nov 2013 B2
8583924 Caballero et al. Nov 2013 B2
8584945 Wang et al. Nov 2013 B2
8587595 Wang Nov 2013 B2
8587697 Hussey et al. Nov 2013 B2
8588869 Sauerwein et al. Nov 2013 B2
8590789 Nahill et al. Nov 2013 B2
8596539 Havens et al. Dec 2013 B2
8596542 Havens et al. Dec 2013 B2
8596543 Havens et al. Dec 2013 B2
8599271 Havens et al. Dec 2013 B2
8599957 Peake et al. Dec 2013 B2
8600158 Li et al. Dec 2013 B2
8600167 Showering Dec 2013 B2
8602309 Longacre et al. Dec 2013 B2
8608053 Meier et al. Dec 2013 B2
8608071 Liu et al. Dec 2013 B2
8611309 Wang et al. Dec 2013 B2
8615487 Gomez et al. Dec 2013 B2
8621123 Caballero Dec 2013 B2
8622303 Meier et al. Jan 2014 B2
8628013 Ding Jan 2014 B2
8628015 Wang et al. Jan 2014 B2
8628016 Winegar Jan 2014 B2
8629926 Wang Jan 2014 B2
8630491 Longacre et al. Jan 2014 B2
8635309 Berthiaume et al. Jan 2014 B2
8636200 Kearney Jan 2014 B2
8636212 Nahill et al. Jan 2014 B2
8636215 Ding et al. Jan 2014 B2
8636224 Wang Jan 2014 B2
8638806 Wang et al. Jan 2014 B2
8640958 Lu et al. Feb 2014 B2
8640960 Wang et al. Feb 2014 B2
8643717 Li et al. Feb 2014 B2
8646692 Meier et al. Feb 2014 B2
8646694 Wang et al. Feb 2014 B2
8657200 Ren et al. Feb 2014 B2
8659397 Vargo et al. Feb 2014 B2
8668149 Good Mar 2014 B2
8678285 Kearney Mar 2014 B2
8678286 Smith et al. Mar 2014 B2
8682077 Longacre Mar 2014 B1
D702237 Oberpriller et al. Apr 2014 S
8687282 Feng et al. Apr 2014 B2
8692927 Pease et al. Apr 2014 B2
8695880 Bremer et al. Apr 2014 B2
8698949 Grunow et al. Apr 2014 B2
8702000 Barber et al. Apr 2014 B2
8717494 Gannon May 2014 B2
8720783 Biss et al. May 2014 B2
8723804 Fletcher et al. May 2014 B2
8723904 Marty et al. May 2014 B2
8727223 Wang May 2014 B2
8740082 Wilz Jun 2014 B2
8740085 Furlong et al. Jun 2014 B2
8746563 Hennick et al. Jun 2014 B2
8750445 Peake et al. Jun 2014 B2
8752766 Xian et al. Jun 2014 B2
8756059 Braho et al. Jun 2014 B2
8757495 Qu et al. Jun 2014 B2
8760563 Koziol et al. Jun 2014 B2
8763909 Reed et al. Jul 2014 B2
8777108 Coyle Jul 2014 B2
8777109 Oberpriller et al. Jul 2014 B2
8779898 Havens et al. Jul 2014 B2
8781520 Payne et al. Jul 2014 B2
8783573 Havens et al. Jul 2014 B2
8789757 Barten Jul 2014 B2
8789758 Hawley et al. Jul 2014 B2
8789759 Xian et al. Jul 2014 B2
8794520 Wang et al. Aug 2014 B2
8794522 Ehrhart Aug 2014 B2
8794525 Amundsen et al. Aug 2014 B2
8794526 Wang et al. Aug 2014 B2
8798367 Ellis Aug 2014 B2
8807431 Wang et al. Aug 2014 B2
8807432 Van Horn et al. Aug 2014 B2
8820630 Qu et al. Sep 2014 B2
8822848 Meagher Sep 2014 B2
8824692 Sheerin et al. Sep 2014 B2
8824696 Braho Sep 2014 B2
8842849 Wahl et al. Sep 2014 B2
8844822 Kotlarsky et al. Sep 2014 B2
8844823 Fritz et al. Sep 2014 B2
8849019 Li et al. Sep 2014 B2
D716285 Chaney et al. Oct 2014 S
8851383 Yeakley et al. Oct 2014 B2
8854633 Laffargue Oct 2014 B2
8866963 Grunow et al. Oct 2014 B2
8868421 Braho et al. Oct 2014 B2
8868519 Maloy et al. Oct 2014 B2
8868802 Barten Oct 2014 B2
8868803 Caballero Oct 2014 B2
8870074 Gannon Oct 2014 B1
8879639 Sauerwein Nov 2014 B2
8880426 Smith Nov 2014 B2
8881983 Havens et al. Nov 2014 B2
8881987 Wang Nov 2014 B2
8903172 Smith Dec 2014 B2
8908995 Benos et al. Dec 2014 B2
8910870 Li et al. Dec 2014 B2
8910875 Ren et al. Dec 2014 B2
8914290 Hendrickson et al. Dec 2014 B2
8914788 Pettinelli et al. Dec 2014 B2
8915439 Feng et al. Dec 2014 B2
8915444 Havens et al. Dec 2014 B2
8916789 Woodburn Dec 2014 B2
8918250 Hollifield Dec 2014 B2
8918564 Caballero Dec 2014 B2
8925818 Kosecki et al. Jan 2015 B2
8939374 Jovanovski et al. Jan 2015 B2
8942480 Ellis Jan 2015 B2
8944313 Williams et al. Feb 2015 B2
8944327 Meier et al. Feb 2015 B2
8944332 Harding et al. Feb 2015 B2
8950678 Germaine et al. Feb 2015 B2
D723560 Zhou et al. Mar 2015 S
8967468 Gomez et al. Mar 2015 B2
8971346 Sevier Mar 2015 B2
8976030 Cunningham et al. Mar 2015 B2
8976368 Akel et al. Mar 2015 B2
8978981 Guan Mar 2015 B2
8978983 Bremer et al. Mar 2015 B2
8978984 Hennick et al. Mar 2015 B2
8985456 Zhu et al. Mar 2015 B2
8985457 Soule et al. Mar 2015 B2
8985459 Kearney et al. Mar 2015 B2
8985461 Gelay et al. Mar 2015 B2
8988578 Showering Mar 2015 B2
8988590 Gillet et al. Mar 2015 B2
8991704 Hopper et al. Mar 2015 B2
8996194 Davis et al. Mar 2015 B2
8996384 Funyak et al. Mar 2015 B2
8998091 Edmonds et al. Apr 2015 B2
9002641 Showering Apr 2015 B2
9007368 Laffargue et al. Apr 2015 B2
9010641 Qu et al. Apr 2015 B2
9015513 Murawski et al. Apr 2015 B2
9016576 Brady et al. Apr 2015 B2
D730357 Fitch et al. May 2015 S
9022288 Nahill et al. May 2015 B2
9030964 Essinger et al. May 2015 B2
9033240 Smith et al. May 2015 B2
9033242 Gillet et al. May 2015 B2
9036054 Koziol et al. May 2015 B2
9037344 Chamberlin May 2015 B2
9038911 Xian et al. May 2015 B2
9038915 Smith May 2015 B2
D730901 Oberpriller et al. Jun 2015 S
D730902 Fitch et al. Jun 2015 S
9047098 Barten Jun 2015 B2
9047359 Caballero et al. Jun 2015 B2
9047420 Caballero Jun 2015 B2
9047525 Barber Jun 2015 B2
9047531 Showering et al. Jun 2015 B2
9049640 Wang et al. Jun 2015 B2
9053055 Caballero Jun 2015 B2
9053378 Hou et al. Jun 2015 B1
9053380 Xian et al. Jun 2015 B2
9057641 Amundsen et al. Jun 2015 B2
9058526 Powilleit Jun 2015 B2
9061527 Tobin et al. Jun 2015 B2
9064165 Havens et al. Jun 2015 B2
9064167 Xian et al. Jun 2015 B2
9064168 Todeschini et al. Jun 2015 B2
9064254 Todeschini et al. Jun 2015 B2
9066032 Wang Jun 2015 B2
9070032 Corcoran Jun 2015 B2
D734339 Zhou et al. Jul 2015 S
D734751 Oberpriller et al. Jul 2015 S
9076459 Braho et al. Jul 2015 B2
9079423 Bouverie et al. Jul 2015 B2
9080856 Laffargue Jul 2015 B2
9082023 Feng et al. Jul 2015 B2
9084032 Rautiola et al. Jul 2015 B2
9087250 Coyle Jul 2015 B2
9092681 Havens et al. Jul 2015 B2
9092682 Wilz et al. Jul 2015 B2
9092683 Koziol et al. Jul 2015 B2
9093141 Liu Jul 2015 B2
D737321 Lee Aug 2015 S
9098763 Lu et al. Aug 2015 B2
9104929 Todeschini Aug 2015 B2
9104934 Li et al. Aug 2015 B2
9107484 Chaney Aug 2015 B2
9111159 Liu et al. Aug 2015 B2
9111166 Cunningham Aug 2015 B2
9135483 Liu et al. Sep 2015 B2
9137009 Gardiner Sep 2015 B1
9141839 Xian et al. Sep 2015 B2
9147096 Wang Sep 2015 B2
9148474 Skvoretz Sep 2015 B2
9158000 Sauerwein Oct 2015 B2
9158340 Reed et al. Oct 2015 B2
9158953 Gillet et al. Oct 2015 B2
9159059 Daddabbo et al. Oct 2015 B2
9165174 Huck Oct 2015 B2
9171543 Emerick et al. Oct 2015 B2
9183425 Wang Nov 2015 B2
9183552 Kauniskangas et al. Nov 2015 B2
9189669 Zhu et al. Nov 2015 B2
9195844 Todeschini et al. Nov 2015 B2
9202458 Braho et al. Dec 2015 B2
9208366 Liu Dec 2015 B2
9208367 Wang Dec 2015 B2
9219836 Bouverie et al. Dec 2015 B2
9224022 Ackley et al. Dec 2015 B2
9224024 Bremer et al. Dec 2015 B2
9224027 Van Horn et al. Dec 2015 B2
D747321 London et al. Jan 2016 S
9230140 Ackley Jan 2016 B1
9235553 Fitch et al. Jan 2016 B2
9239950 Fletcher Jan 2016 B2
9245492 Ackley et al. Jan 2016 B2
9443123 Hejl Jan 2016 B2
9248640 Heng Feb 2016 B2
9250652 London et al. Feb 2016 B2
9250712 Todeschini Feb 2016 B1
9251411 Todeschini Feb 2016 B2
9258033 Showering Feb 2016 B2
9262633 Todeschini et al. Feb 2016 B1
9262660 Lu et al. Feb 2016 B2
9262662 Chen et al. Feb 2016 B2
9269036 Bremer Feb 2016 B2
9270782 Hala et al. Feb 2016 B2
9274812 Doren et al. Mar 2016 B2
9275388 Havens et al. Mar 2016 B2
9277668 Feng et al. Mar 2016 B2
9280693 Feng et al. Mar 2016 B2
9286496 Smith Mar 2016 B2
9297900 Jiang Mar 2016 B2
9298964 Li et al. Mar 2016 B2
9301427 Feng et al. Mar 2016 B2
D754205 Nguyen et al. Apr 2016 S
D754206 Nguyen et al. Apr 2016 S
9304376 Anderson Apr 2016 B2
9310609 Rueblinger et al. Apr 2016 B2
9313377 Todeschini et al. Apr 2016 B2
9317037 Byford et al. Apr 2016 B2
9319548 Showering et al. Apr 2016 B2
D757009 Oberpriller et al. May 2016 S
9342723 Liu et al. May 2016 B2
9342724 McCloskey May 2016 B2
9361882 Ressler et al. Jun 2016 B2
9365381 Colonel et al. Jun 2016 B2
9373018 Colavito et al. Jun 2016 B2
9375945 Bowles Jun 2016 B1
9378403 Wang et al. Jun 2016 B2
D760719 Zhou et al. Jul 2016 S
9360304 Chang et al. Jul 2016 B2
9383848 Daghigh Jul 2016 B2
9384374 Bianconi Jul 2016 B2
9390304 Chang et al. Jul 2016 B2
9390596 Todeschini Jul 2016 B1
D762604 Fitch et al. Aug 2016 S
9411386 Sauerwein Aug 2016 B2
9412242 Van Horn et al. Aug 2016 B2
9418269 Havens et al. Aug 2016 B2
9418270 Van Volkinburg et al. Aug 2016 B2
9423318 Lui et al. Aug 2016 B2
D766244 Zhou et al. Sep 2016 S
9443222 Singel et al. Sep 2016 B2
9454689 McCloskey et al. Sep 2016 B2
9464885 Lloyd et al. Oct 2016 B2
9465967 Xian et al. Oct 2016 B2
9478113 Xie et al. Oct 2016 B2
9478983 Kather et al. Oct 2016 B2
D771631 Fitch et al. Nov 2016 S
9481186 Bouverie et al. Nov 2016 B2
9487113 Schukalski Nov 2016 B2
9488986 Solanki Nov 2016 B1
9489782 Payne et al. Nov 2016 B2
9490540 Davies et al. Nov 2016 B1
9491729 Rautiola et al. Nov 2016 B2
9497092 Gomez et al. Nov 2016 B2
9507974 Todeschini Nov 2016 B1
9519814 Cudzilo Dec 2016 B2
9521331 Bessettes et al. Dec 2016 B2
9530038 Xian et al. Dec 2016 B2
D777166 Bidwell et al. Jan 2017 S
9558386 Yeakley Jan 2017 B2
9572901 Todeschini Feb 2017 B2
9606581 Howe et al. Mar 2017 B1
D783601 Schulte et al. Apr 2017 S
D785617 Bidwell et al. May 2017 S
D785636 Oberpriller et al. May 2017 S
9646189 Lu et al. May 2017 B2
9646191 Unemyr et al. May 2017 B2
9652648 Ackley et al. May 2017 B2
9652653 Todeschini et al. May 2017 B2
9656487 Ho et al. May 2017 B2
9659198 Giordano et al. May 2017 B2
D790505 Vargo et al. Jun 2017 S
D790546 Zhou et al. Jun 2017 S
9680282 Hanenburg Jun 2017 B2
9697401 Feng et al. Jul 2017 B2
9701140 Alaganchetty et al. Jul 2017 B1
10402797 Efroni Sep 2019 B2
10469262 Schroeder Nov 2019 B1
20070063048 Havens et al. Mar 2007 A1
20070067634 Siegler Mar 2007 A1
20090134221 Zhu et al. May 2009 A1
20100177076 Essinger et al. Jul 2010 A1
20100177080 Essinger et al. Jul 2010 A1
20100177707 Essinger et al. Jul 2010 A1
20100177749 Essinger et al. Jul 2010 A1
20110169999 Grunow et al. Jul 2011 A1
20110202554 Powilleit et al. Aug 2011 A1
20120036019 Broumand Feb 2012 A1
20120111946 Golant May 2012 A1
20120168512 Kotlarsky et al. Jul 2012 A1
20120193423 Samek Aug 2012 A1
20120194692 Mers et al. Aug 2012 A1
20120203647 Smith Aug 2012 A1
20120223141 Good et al. Sep 2012 A1
20130043312 Van Horn Feb 2013 A1
20130075168 Amundsen et al. Mar 2013 A1
20130175341 Kearney et al. Jul 2013 A1
20130175343 Good Jul 2013 A1
20130257744 Daghigh et al. Oct 2013 A1
20130257759 Daghigh Oct 2013 A1
20130270346 Xian et al. Oct 2013 A1
20130292475 Kotlarsky et al. Nov 2013 A1
20130292477 Hennick et al. Nov 2013 A1
20130293539 Hunt et al. Nov 2013 A1
20130293540 Laffargue et al. Nov 2013 A1
20130306728 Thuries et al. Nov 2013 A1
20130306731 Pedraro Nov 2013 A1
20130307964 Bremer et al. Nov 2013 A1
20130308625 Park et al. Nov 2013 A1
20130313324 Koziol et al. Nov 2013 A1
20130332524 Fiala et al. Dec 2013 A1
20130332996 Fiala et al. Dec 2013 A1
20140001267 Giordano et al. Jan 2014 A1
20140002828 Laffargue et al. Jan 2014 A1
20140025584 Liu et al. Jan 2014 A1
20140100813 Showering Jan 2014 A1
20140034734 Sauerwein Feb 2014 A1
20140036848 Pease et al. Feb 2014 A1
20140039693 Havens et al. Feb 2014 A1
20140049120 Kohtz et al. Feb 2014 A1
20140049635 Laffargue et al. Feb 2014 A1
20140061306 Wu et al. Mar 2014 A1
20140063289 Hussey et al. Mar 2014 A1
20140066136 Sauerwein et al. Mar 2014 A1
20140067692 Ye et al. Mar 2014 A1
20140070005 Nahill et al. Mar 2014 A1
20140071840 Venancio Mar 2014 A1
20140074746 Wang Mar 2014 A1
20140076974 Havens et al. Mar 2014 A1
20140078342 Li et al. Mar 2014 A1
20140098792 Wang et al. Apr 2014 A1
20140100774 Showering Apr 2014 A1
20140103115 Meier et al. Apr 2014 A1
20140104413 McCloskey et al. Apr 2014 A1
20140104414 McCloskey et al. Apr 2014 A1
20140104416 Giordano et al. Apr 2014 A1
20140106725 Sauerwein Apr 2014 A1
20140108010 Maltseff et al. Apr 2014 A1
20140108402 Gomez et al. Apr 2014 A1
20140108682 Caballero Apr 2014 A1
20140110485 Toa et al. Apr 2014 A1
20140114530 Fitch et al. Apr 2014 A1
20140125853 Wang May 2014 A1
20140125999 Longacre et al. May 2014 A1
20140129378 Richardson May 2014 A1
20140131443 Smith May 2014 A1
20140131444 Wang May 2014 A1
20140133379 Wang et al. May 2014 A1
20140136208 Maltseff et al. May 2014 A1
20140140585 Wang May 2014 A1
20140152882 Samek et al. Jun 2014 A1
20140158770 Sevier et al. Jun 2014 A1
20140159869 Zumsteg et al. Jun 2014 A1
20140166755 Liu et al. Jun 2014 A1
20140166757 Smith Jun 2014 A1
20140166759 Liu et al. Jun 2014 A1
20140168787 Wang et al. Jun 2014 A1
20140175165 Havens et al. Jun 2014 A1
20140191684 Valois Jul 2014 A1
20140191913 Ge et al. Jul 2014 A1
20140197239 Havens et al. Jul 2014 A1
20140197304 Feng et al. Jul 2014 A1
20140204268 Grunow et al. Jul 2014 A1
20140214631 Hansen Jul 2014 A1
20140217166 Berthiaume et al. Aug 2014 A1
20140217180 Liu Aug 2014 A1
20140231500 Ehrhart et al. Aug 2014 A1
20140247315 Marty et al. Sep 2014 A1
20140263493 Amurgis et al. Sep 2014 A1
20140263645 Smith et al. Sep 2014 A1
20140270196 Braho et al. Sep 2014 A1
20140270229 Braho Sep 2014 A1
20140278387 DiGregorio Sep 2014 A1
20140282210 Bianconi Sep 2014 A1
20140288933 Braho et al. Sep 2014 A1
20140297058 Barker et al. Oct 2014 A1
20140299665 Barber et al. Oct 2014 A1
20140332590 Wang et al. Nov 2014 A1
20140351317 Smith et al. Nov 2014 A1
20140362184 Jovanovski et al. Dec 2014 A1
20140363015 Braho Dec 2014 A1
20140369511 Sheerin et al. Dec 2014 A1
20140374483 Lu Dec 2014 A1
20140374485 Xian et al. Dec 2014 A1
20150001301 Ouyang Jan 2015 A1
20150009338 Laffargue et al. Jan 2015 A1
20150014416 Kotlarsky et al. Jan 2015 A1
20150021397 Rueblinger et al. Jan 2015 A1
20150028104 Ma et al. Jan 2015 A1
20150029002 Yeakley et al. Jan 2015 A1
20150032709 Maloy et al. Jan 2015 A1
20150039309 Braho et al. Feb 2015 A1
20150040378 Saber et al. Feb 2015 A1
20150049347 Laffargue et al. Feb 2015 A1
20150051992 Smith Feb 2015 A1
20150053769 Thuries et al. Feb 2015 A1
20150062366 Liu et al. Mar 2015 A1
20150063215 Wang Mar 2015 A1
20150088522 Hendrickson et al. Mar 2015 A1
20150096872 Woodburn Apr 2015 A1
20150100196 Hollifield Apr 2015 A1
20150115035 Meier et al. Apr 2015 A1
20150127791 Kosecki et al. May 2015 A1
20150128116 Chen et al. May 2015 A1
20150133047 Smith et al. May 2015 A1
20150134470 Hejl et al. May 2015 A1
20150136851 Harding et al. May 2015 A1
20150142492 Kumar May 2015 A1
20150144692 Hejl May 2015 A1
20150144698 Teng et al. May 2015 A1
20150149946 Benos et al. May 2015 A1
20150161429 Xian Jun 2015 A1
20150178523 Gelay et al. Jun 2015 A1
20150178537 El et al. Jun 2015 A1
20150178685 Krumel et al. Jun 2015 A1
20150181109 Gillet et al. Jun 2015 A1
20150186703 Chen et al. Jul 2015 A1
20150199957 Funyak et al. Jul 2015 A1
20150210199 Payne Jul 2015 A1
20150212565 Murawski et al. Jul 2015 A1
20150213647 Laffargue et al. Jul 2015 A1
20150220753 Zhu et al. Aug 2015 A1
20150220901 Gomez et al. Aug 2015 A1
20150227189 Davis et al. Aug 2015 A1
20150236984 Sevier Aug 2015 A1
20150239348 Chamberlin Aug 2015 A1
20150242658 Nahill et al. Aug 2015 A1
20150248572 Soule et al. Sep 2015 A1
20150254485 Feng et al. Sep 2015 A1
20150261643 Caballero et al. Sep 2015 A1
20150264624 Wang et al. Sep 2015 A1
20150268971 Barten Sep 2015 A1
20150269402 Barber et al. Sep 2015 A1
20150288689 Todeschini et al. Oct 2015 A1
20150288896 Wang Oct 2015 A1
20150310243 Ackley Oct 2015 A1
20150310244 Xian et al. Oct 2015 A1
20150310389 Crimm et al. Oct 2015 A1
20150312780 Wang et al. Oct 2015 A1
20150326395 Lemke et al. Nov 2015 A1
20150327012 Bian et al. Nov 2015 A1
20160014251 Hejl Jan 2016 A1
20160025697 Alt et al. Jan 2016 A1
20160026838 Gillet et al. Jan 2016 A1
20160026839 Qu et al. Jan 2016 A1
20160040982 Li et al. Feb 2016 A1
20160042241 Todeschini Feb 2016 A1
20160057230 Todeschini et al. Feb 2016 A1
20160062473 Bouchat et al. Mar 2016 A1
20160092805 Geisler et al. Mar 2016 A1
20160101936 Chamberlin Apr 2016 A1
20160102975 McCloskey et al. Apr 2016 A1
20160104019 Todeschini et al. Apr 2016 A1
20160104274 Jovanovski et al. Apr 2016 A1
20160109219 Ackley et al. Apr 2016 A1
20160109220 Laffargue Apr 2016 A1
20160109224 Thuries et al. Apr 2016 A1
20160112631 Ackley et al. Apr 2016 A1
20160112643 Laffargue et al. Apr 2016 A1
20160117627 Raj et al. Apr 2016 A1
20160124516 Schoon et al. May 2016 A1
20160125217 Todeschini May 2016 A1
20160125342 Miller et al. May 2016 A1
20160133253 Braho et al. May 2016 A1
20160171597 Todeschini Jun 2016 A1
20160171666 McCloskey Jun 2016 A1
20160171720 Todeschini Jun 2016 A1
20160171775 Todeschini et al. Jun 2016 A1
20160171777 Todeschini et al. Jun 2016 A1
20160174674 Oberpriller et al. Jun 2016 A1
20160178479 Goldsmith Jun 2016 A1
20160178685 Young et al. Jun 2016 A1
20160178707 Young et al. Jun 2016 A1
20160179132 Harr et al. Jun 2016 A1
20160179143 Bidwell et al. Jun 2016 A1
20160179368 Roeder Jun 2016 A1
20160179378 Kent et al. Jun 2016 A1
20160180130 Bremer Jun 2016 A1
20160180133 Oberpriller et al. Jun 2016 A1
20160180136 Meier et al. Jun 2016 A1
20160180594 Todeschini Jun 2016 A1
20160180663 McMahan et al. Jun 2016 A1
20160180678 Ackley et al. Jun 2016 A1
20160180713 Bernhardt et al. Jun 2016 A1
20160185136 Ng et al. Jun 2016 A1
20160185291 Chamberlin Jun 2016 A1
20160186926 Oberpriller et al. Jun 2016 A1
20160188861 Todeschini Jun 2016 A1
20160188939 Sailors et al. Jun 2016 A1
20160188940 Lu et al. Jun 2016 A1
20160188941 Todeschini et al. Jun 2016 A1
20160188942 Good et al. Jun 2016 A1
20160188943 Linwood Jun 2016 A1
20160188944 Wilz et al. Jun 2016 A1
20160189076 Mellott et al. Jun 2016 A1
20160189087 Morton et al. Jun 2016 A1
20160189088 Pecorari et al. Jun 2016 A1
20160189092 George et al. Jun 2016 A1
20160189284 Mellott et al. Jun 2016 A1
20160189288 Todeschini Jun 2016 A1
20160189366 Chamberlin et al. Jun 2016 A1
20160189443 Smith Jun 2016 A1
20160189447 Valenzuela Jun 2016 A1
20160189489 Au et al. Jun 2016 A1
20160191684 DiPiazza et al. Jun 2016 A1
20160192051 DiPiazza et al. Jun 2016 A1
20160125873 Braho et al. Jul 2016 A1
20160202951 Pike et al. Jul 2016 A1
20160202958 Zabel et al. Jul 2016 A1
20160202959 Doubleday et al. Jul 2016 A1
20160203021 Pike et al. Jul 2016 A1
20160203429 Mellott et al. Jul 2016 A1
20160203797 Pike et al. Jul 2016 A1
20160203820 Zabel et al. Jul 2016 A1
20160204623 Haggert et al. Jul 2016 A1
20160204636 Allen et al. Jul 2016 A1
20160204638 Miraglia et al. Jul 2016 A1
20160316190 McCloskey et al. Jul 2016 A1
20160227912 Oberpriller et al. Aug 2016 A1
20160232891 Pecorari Aug 2016 A1
20160292477 Bidwell Oct 2016 A1
20160294779 Yeakley et al. Oct 2016 A1
20160306769 Kohtz et al. Oct 2016 A1
20160314276 Sewell et al. Oct 2016 A1
20160314294 Kubler et al. Oct 2016 A1
20160323310 Todeschini et al. Nov 2016 A1
20160325677 Fitch et al. Nov 2016 A1
20160327614 Young et al. Nov 2016 A1
20160327930 Charpentier et al. Nov 2016 A1
20160328762 Pape Nov 2016 A1
20160330218 Hussey et al. Nov 2016 A1
20160343163 Venkatesha et al. Nov 2016 A1
20160343176 Ackley Nov 2016 A1
20160364914 Todeschini Dec 2016 A1
20160370220 Ackley et al. Dec 2016 A1
20160372282 Bandringa Dec 2016 A1
20160373847 Vargo et al. Dec 2016 A1
20160377414 Thuries et al. Dec 2016 A1
20160377417 Jovanovski et al. Dec 2016 A1
20170010141 Ackley Jan 2017 A1
20170010328 Mullen et al. Jan 2017 A1
20170010780 Waldron et al. Jan 2017 A1
20170016714 Laffargue et al. Jan 2017 A1
20170018094 Todeschini Jan 2017 A1
20170046603 Lee et al. Feb 2017 A1
20170047864 Stang et al. Feb 2017 A1
20170053146 Liu et al. Feb 2017 A1
20170053147 Geramine et al. Feb 2017 A1
20170053647 Nichols et al. Feb 2017 A1
20170055606 Xu et al. Mar 2017 A1
20170060316 Larson Mar 2017 A1
20170061961 Nichols et al. Mar 2017 A1
20170064634 Van Horn et al. Mar 2017 A1
20170083730 Feng et al. Mar 2017 A1
20170091502 Furlong et al. Mar 2017 A1
20170091706 Lloyd et al. Mar 2017 A1
20170091741 Todeschini Mar 2017 A1
20170091904 Ventress Mar 2017 A1
20170092908 Chaney Mar 2017 A1
20170094238 Germaine et al. Mar 2017 A1
20170098947 Wolski Apr 2017 A1
20170100949 Celinder et al. Apr 2017 A1
20170108838 Todeschini et al. Apr 2017 A1
20170108895 Chamberlin et al. Apr 2017 A1
20170118355 Wong et al. Apr 2017 A1
20170123598 Phan et al. May 2017 A1
20170124369 Rueblinger et al. May 2017 A1
20170124396 Todeschini et al. May 2017 A1
20170124687 McCloskey et al. May 2017 A1
20170126873 McGary et al. May 2017 A1
20170126904 d'Armancourt et al. May 2017 A1
20170139012 Smith May 2017 A1
20170140329 Bernhardt et al. May 2017 A1
20170140731 Smith May 2017 A1
20170147847 Berggren et al. May 2017 A1
20170150124 Thuries May 2017 A1
20170169198 Nichols Jun 2017 A1
20170171035 Lu et al. Jun 2017 A1
20170171703 Maheswaranathan Jun 2017 A1
20170171803 Maheswaranathan Jun 2017 A1
20170180359 Wolski et al. Jun 2017 A1
20170180577 Nguon et al. Jun 2017 A1
20170181299 Shi et al. Jun 2017 A1
20170190192 Delario et al. Jul 2017 A1
20170193432 Bernhardt Jul 2017 A1
20170193461 Jonas et al. Jul 2017 A1
20170193727 Van Horn et al. Jul 2017 A1
20170199266 Rice et al. Jul 2017 A1
20170200108 Au et al. Jul 2017 A1
20170200275 McCloskey et al. Jul 2017 A1
20180097758 Benson Apr 2018 A1
20190057209 Dyer Feb 2019 A1
20190058459 Khan Feb 2019 A1
Foreign Referenced Citations (2)
Number Date Country
2013163789 Nov 2013 WO
2013190169 Dec 2013 WO
Related Publications (1)
Number Date Country
20190097804 A1 Mar 2019 US