Validating credential keys based on combinations of credential value strings and input order strings

Information

  • Patent Grant
  • 12184636
  • Patent Number
    12,184,636
  • Date Filed
    Monday, October 4, 2021
    3 years ago
  • Date Issued
    Tuesday, December 31, 2024
    3 days ago
Abstract
An electronic device includes at least one processor and at least one memory storing instructions executable by the at least one processor. The at least one processor operates to obtain a credential value string indicating a sequence of credential values entered by a user through a user interface as a part of a credential key. The at least one processor operates to obtain an input order string indicating an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key. The at least one processor operates to validate the credential key based on the credential value string and based on the input order string.
Description
TECHNICAL FIELD

The present disclosure relates to electronic devices which validate credential keys for users, software products, and/or hardware devices based on user inputs.


BACKGROUND

A credential key may be used to control access to resources of an electronic device and/or to resources that are accessible through the electronic device. The credential key may be associated with a user, such as by associating unique credential keys to different users, e.g., associating secret passwords with unique user identifiers. The credential keys may be associated with software or hardware, such as by associating a unique activation code or access code with software or hardware which may be a resource of the electronic device or accessible through the electronic device. Examples of credential keys can include, without limitation, a numeric personal identification number (PIN) code, cryptographically encoded software activation key, and account login identifier and password. Examples of electronic devices which can contain resources having user access controlled through a credential key include, without limitation, cellular phones, laptop computers, tablet computers, desktop computers, smart appliances which may communicate via the Internet (e.g., thermostats, televisions, refrigerators, etc.), website servers, application servers, and cloud computing servers.


A credential key may be entered by a user through an interface, such as by touch-typing on a virtual display (e.g., touch sensitive display) or physical keypad or keyboard. An algorithm verifies the entered credential key, such as by comparing the entered credential key to a predefined credential key which has been associated with the user, a software resource, a hardware resource, etc. When the entered credential key is properly validated, the user may be provided access to resources of the electronic device and/or which are accessible through the electronic device.


It is becoming increasingly more difficult to ensure that access to resources of electronic devices access remain secure as approaches for brute force trial-and-error access attempts and other hacking techniques are becoming more sophisticated and readily available for malicious purposes. Countermeasures for increasing security have included requiring use of lengthier and more complex credential keys, and requiring more frequency change of credential keys. These countermeasures are imposing increasingly undesirable burdens on the users who must remember and correctly enter the credential keys through sometimes inconvenient user interfaces, such as small touch displays of cellular phones.


There is therefore a substantial continuing need to provide improved secure access to resources of electronic devices while providing an acceptable process for user entry of credential keys.


SUMMARY

Various embodiments disclosed herein are directed to providing an improved process for user entry of credential keys that may provide increased security for access to resources of electronic devices and/or may provide a more user-acceptable process for entry of credential keys.


Some embodiments are directed to an electronic device that includes at least one processor and at least one memory storing instructions executable by the at least one processor. The at least one processor operates to obtain a credential value string indicating a sequence of credential values entered by a user through a user interface as a part of a credential key. The at least one processor operates to obtain an input order string indicating an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key. The at least one processor operates to validate the credential key based on the credential value string and based on the input order string.


Some other related embodiments are directed to a computer program product that includes a non-transitory computer readable medium storing instructions executable by at least processor of an electronic device. The instructions obtain a credential value string indicating a sequence of credential values entered by a user through a user interface as part of a credential key. The instructions obtain an input order string indicating an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key. The instructions validate the credential key based on the credential value string and based on the input order string.


Using the sequence of credential values entered by a user and the order in which individual ones of the sequence of credential values were separately entered by the user through the user interface, as parts of a credential key enables creation of a stronger credential key that can be much more difficult to overcome using present hacking techniques and/or enables use of a reduced length of credential values (e.g., shorter password) and/or use of less complex credential values (e.g., simpler passwords).


Other electronic devices and computer program products according to embodiments of the inventive subject matter will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional electronic devices and computer program products be included within this description, be within the scope of the present inventive subject matter, and be protected by the accompanying claims. Moreover, it is intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination





BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the present disclosure are illustrated by way of example and are not limited by the accompanying drawings. In the drawings:



FIG. 1 illustrates a system in which a user can enter a credential key through a user interface of a user device for validation by the user device or by a network node to obtain access to resources of the user device and/or the network node in accordance with some embodiments of the present disclosure;



FIG. 2 is a block diagram illustrating components of an electronic device which verifies a credential key to control access to resources of the electronic device in accordance with some embodiments of the present disclosure;



FIG. 3 illustrates alternative sequences in which a user may enter credential values, with operations forming a credential value string indicating a sequence of the credential values entered by the user as one part of the credential key and other operations forming an input order string indicating an order in which individual ones of the sequence of credential values were separately entered by the user as another part of the credential key, in accordance with some embodiments of the present disclosure;



FIG. 4 illustrates a credential value string and an input order string which are generated as two parts of a credential key in accordance with some embodiments of the present disclosure based on a user entering a credential values through a keypad;



FIG. 5 illustrates a credential value string and an input order string which are generated as two parts of a credential key based on a user moving (e.g., dragging on a touch display) and/or selecting symbols arranged in a grid, in accordance with some embodiments of the present disclosure;



FIG. 6 illustrates a credential value string and an input order string which are generated as two parts of a credential key based on a user moving (e.g., dragging on a touch display) symbols arranged in a grid, in accordance with some embodiments of the present disclosure;



FIG. 7 illustrates a credential value string and an input order string which are generated as two parts of a credential key based on a user dragging symbols from a grid to spaced apart locations on a display device to assemble a sequence which forms the credential value string in accordance with some embodiments of the present disclosure;



FIG. 8 illustrates a grid of symbols which are displayed for touch selection by a user to generate a credential value string and an input order string as two parts of a credential key in accordance with some embodiments of the present disclosure;



FIG. 9 illustrates a table which shows the number of permutations provided by different lengths of credential value strings and number of ones in accordance with some embodiments of the present disclosure;



FIGS. 10A, 10B, 10C, and 10D illustrate four alternative patterns of blocks in a grid which have been selected by a user to generate a credential value string as one part of a credential key and further illustrate associated orders in which the user separately selected the blocks to generate the input order string as another part of credential key, in accordance with some embodiments of the present disclosure;



FIGS. 11A, 11B, 11C, and 11D illustrate four alternative patterns of blocks in a grid which have been selected by a user to form a stylized “S” as a credential value string for one part of a credential key and further illustrate associated orders in which the user separately selected the blocks to generate the input order string as another part of credential key, in accordance with some embodiments of the present disclosure;



FIG. 12 illustrates components of a user device which are configured to operate in accordance with some embodiments of the present disclosure;



FIG. 13 illustrates components of a network node which are configured to operate in accordance with some embodiments of the present disclosure; and



FIG. 14 illustrates a flowchart of operations by an electronic device to obtain a credential value string and an input order string as parts of a credential key and to validate the credential key in accordance with some embodiments of the present disclosure.





DETAILED DESCRIPTION

Inventive concepts will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of various present inventive concepts to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present or used in another embodiment.


When validating credential keys, prior devices have only validated a sequence of credential values, such as an authentication code or password, as finally entered by the user as the entirety of the credential key. Embodiments of the present disclosure create another part of a credential key which indicates an order in which individual ones of the sequence of credential values were separately entered by the user through a user interface. The order of entry carries significant information which is also used for the validation. Using the sequence of credential values entered by a user and the order in which individual ones of the sequence of credential values were separately entered by the user through the user interface, as parts of a credential key enables creation of a stronger credential key that can be much more difficult to overcome using present hacking techniques and/or enables use of a reduced length of credential values (e.g., shorter password) and/or use of less complex credential values (e.g., simpler passwords).


Some embodiments of the present disclosure are now described in the context of FIG. 1 which illustrates a system in which a user can enter a credential key through a user interface of a user device 100 for validation by the user device 100 or by a network node 110 to obtain access to resources of the user device 100, the network node 110, and/or another electronic device in accordance with some embodiments of the present disclosure. The credential key can include two parts: 1) a credential value string which indicates a sequence of credential values entered by a user through a user interface; and 2) an input order string which indicates an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as the credential key.


Referring to FIG. 1, the user device 100 communicates through a radio access network 120 and a network 122 (e.g., private network or public network such as Internet) with a network node 110. The user device 100 may include, without limitation, a tablet computer, desktop computer, smartphone, smart appliance such as an Internet thermostat, Internet camera, Internet smart speaker, etc. The network node may include, without limitation, a website server, a client account server, an application data server, a cloud computing server, etc. In an example operation, the network node 110 can operate to validate credential keys entered by the user through the user device 100. The network node 110 may include a credential key validation module 112 which can validate a credential key received for the user device 100, based on predefined credential keys in a repository 113.



FIG. 14 illustrates a flowchart of operations which may be performed by the network node 110 to obtain a credential value string and an input order string as parts of a credential key and to validate the credential key in accordance with some embodiments of the present disclosure.


Referring to FIG. 14, the network node 110 (e.g., via the credential key validation module 112) obtains 1400 a credential value string which indicates a sequence of credential values entered by a user through a user interface as part of a credential key The network node 110 (e.g., via the credential key validation module 112) also obtains 1402 an input order string which indicates an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key. In the example of FIG. 1, the network node obtains 1400 and 1402 the credential value string and the input order string from the user device 100.


The network node 110 (e.g., via the credential key validation module 112) validates 1404 the credential key based on the credential value string and based on the input order string.


In one embodiment, the validation 1404 includes comparing the sequence of credential values indicated by the credential value string to credential values of a predefined credential value string for the user and based on comparing the order indicated by the input order string to a predefined input order of a predefined credential order string for the user.


In another alternative embodiment, the validation 1404 includes comparing a credential key value, which is generated based on an algorithmic combination of the credential value string and the input order string, to a predefined credential key value. For example, the validation 1404 may include combining the credential value string and the input order string to generate a combined value that is hashed to form the credential key value. The credential key value can then be compared to the predefined credential key value which can correspond to a hashed value that was formed from an algorithmic combination of a predefined credential value string (e.g., defined by the user, a software developer, and/or another individual or process) and a predefined input order string (e.g., also defined by the user, the software developer, and/or the other individual or process). Before the respective hashing operations for the credential key value and the predefined credential key value, the inputs to the respective hashing operations may each be combined with a random string in a defined manner to further complicate any hacking attempts. Validation is considered successful when the credential key value matches the predefined credential key value. Comparing hashed-based values is more secure than comparing plain-text strings which may be discoverable through hacking attempts.


In accordance with the alternative embodiments, the repository 113 can store either: 1) pairs of a predefined credential value string and a predefined credential order string which are associated with a user, such as by associating different pairs of a predefined credential value string and a predefined credential order string with different users; or 2) a predefined credential key value which is associated with the user, such as by associating different predefined credential key values with different users. Alternatively or additionally, the repository 113 can associate the pairs of a predefined credential value string and a predefined credential order string or the predefined credential key values with identified software or hardware. For example, the repository 113 may associate different pairs of a predefined credential value string and a predefined credential order string or different predefined credential key values with different software identifiers or hardware identifiers, which may include associating a unique activation code or access code with software or hardware which may be a resource of the electronic device (e.g., 100 or 110) or accessible through the electronic device.


In one embodiment, the credential key validation module 112 operates to access the repository 113 using an identifier of the user to obtain the predefined credential value string and the predefined credential order string or to obtain the predefined credential key value for use in validation. In another embodiment, the credential key validation module 112 operates to access the repository 113 using an identifier of a software resource and/or a hardware resource to obtain the predefined credential value string and the predefined credential order string or to obtain the predefined credential key value for use in validation.


The network node 110 (e.g., via a resource management module 115) may also grant 1406 the user access to resources of the network node 110 based on determining that the sequence of credential values indicated by the credential value string matches the credential values of the predefined credential value string and based on determining that the order indicated by the input order string matches the predefined input order of the predefined credential order string. Alternatively the network node 110 may also grant 1406 the user access to resources of the network node 110 based on determining that the credential key value matches the predefined credential key value. For example, the network node 110 may grant the user access to data resources 118, which may include one or more of user account data, streaming media (e.g., movies, television shows, etc.), application data, website data, software program code, etc., and/or may grant the user access to computing resources 116, which may include one or more of processor resources, volatile and/or non-volatile memory resources, communication resources of a wireless radio access resources of a radio access network, communication resources of a wired network, etc.


In some other embodiments, an electronic device can operate stand-alone to validate a credential key from a user. The term “electronic device” is used more generally to cover any device which is operative to obtain and validate a credential key (i.e., pair of credential value string and input order string), and can include but is not limited to the user device 100 or the network node 110 of FIG. 1. FIG. 2 is a block diagram illustrating components of an electronic device 200 which verifies a credential key to control access to resources of the electronic device 200 in accordance with some embodiments of the present disclosure.


The electronic device 200 (e.g., via the credential key validation module 112) obtains through a user interface 210 a credential value string which indicates a sequence of credential values entered by a user through a user interface as part of a credential key. The user interface 210 may be a physical interface, e.g., keyboard or keypad, or may be virtual such as through a touch display representation. The electronic device 200 (e.g., via the credential key validation module 112) also obtains an input order string which indicates an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key. The electronic device 200 (e.g., via the credential key validation module 112) validates the credential key based on: 1) comparing the sequence of credential values indicated by the credential value string to credential values of a predefined credential value string for the user and based on comparing the order indicated by the input order string to a predefined input order of a predefined credential order string for the user; or 2) comparing the credential key value to the predefined credential key value.


The electronic device 200 (e.g., via a resource management module 115) may also grant 1406 the user access to resources of the network node 110 based on: 1) determining that the sequence of credential values indicated by the credential value string matches the credential values of the predefined credential value string and based on determining that the order indicated by the input order string matches the predefined input order of the predefined credential order string; or 2) determining that the credential key value matches the predefined credential key value. For example, the electronic device 200 may grant the user access to data resources 118 and/or may grant the user access to computing resources 116.


Example operations through which an electronic device can obtain a credential value string and an input order string as parts of a credential key from a user for validation are now described in the context of FIGS. 3 through 8 in accordance with some embodiments of the present disclosure.


In a conventional validation process for an electronic device, when using an English keyboard, values (symbols) of a credential key are entered from left to right as individual symbols with a separate key being used to signal that entry is complete. Some user interfaces allow a user to move to the right or left using arrow keys, mouse selections, and/or by touching different areas of a touch sensitivity display. The conventional electronic device processes the information after all symbol entries are complete, usually signaled by a different key, such as the “Enter” keyboard key. In this situation, the sequence in which the symbols was entered does not matter, since only the final sequence of credential values is used as the credential key to be validated.


In accordance with some embodiments of the present disclosure, an electronic device operates to process the credential values as the user enters each one. A credential key is formed that has two parts: 1) a credential value string indicating a sequence of credential values entered by a user through a user interface as a part of a credential key; and 2) an input order string indicating an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key.



FIG. 3 illustrates alternative sequences in which a user may enter credential values, with operations forming a credential value string indicating a sequence of the credential values entered by the user as one part of the credential key and other operations forming an input order string indicating an order in which individual ones of the sequence of credential values were separately entered by the user as another part of the credential key, in accordance with some embodiments of the present disclosure.


Referring to FIG. 3, a credential value string is formed as a sequence of three credential values. Each credential value can take r possible values which creates r3 possible combinations of credential value strings. For example, a user can enter a three-length credential value string “a, b, c” in six different orders as shown. The first row shows the status at the end of entering one credential value, the second two row at the end of entering the second credential value, and the third row at the end of entering the third credential value. Though the credential value string created by each sequence is the same, the various sequences of entry encode 6 input order strings.


More generally, when entering an n-symbol, each with m bits, credential value string, the place of the first credential value can be chosen in n possible ways. The position of the second credential value can be chosen in n−1 possible ways. Extending this further, the total number of possibilities encoded in the sequence of placement of the credential value is n·(n−1)·(n−2) . . . ·1=n!. If each credential value can take r=2m possible values, the number of possibilities become n!·rn. Thus, the number of bits the credential key can encode is log2(n!·rn)=log2 n!+n log2 r=log2 n!+n m.


When a credential value string has 4 credential values, where each credential value is represented by two values or one bit (i.e., n=4, m=1). The user can select a position with a click of a mouse or display touch and entering a 0 or 1 at a selected sequence position in the credential value string. The user entry may alternatively by performed by dragging a “1” or “0” credential value to the desired sequence position in the credential value string. The amount of information encoded is then log2 4!+1·4=4.6+4=16.6, or 16 bits when rounded below. If the user enters or drags a nibble for each credential value, the amount of information carried will be log2 4!·+4·4=4.6+16=20.6, or 20 bits when rounded below.


The increased number of permutations created for a defined length credential value string when combined with the input order string, increases rapidly as shown in the table below.
















└log2 n! + nm┘













n
log2 n!
m = 1
m = 4
















3
2.6
5
14



4
4.6
8
20



5
6.9
11
26



6
9.5
15
33



9
18.5
27
54



16
44.2
60
108



25
83.7
108
183



36
138.1
174
282



49
208.6
257
404











FIG. 4 illustrates a credential value string and an input order string which are generated as two parts of a credential key in accordance with some embodiments of the present disclosure based on a user entering a credential values through a virtual keypad displayed on a touch sensitive display.


Referring to FIG. 4, when the user inputs are made through a touch sensitive display that provides drag-and-drop operations, as a first input the user touches the number “7” on the displayed keypad and drags 401 the number “7” to the fourth location (furthest right) in the credential value string. As a second input the user similarly drags 402 the number “5” to the second location in the credential value string. As a third input the user similarly drags 403 the number “6” to the third location in the credential value string. As a fourth input the user similarly drags 404 the number “3” to the first location in the credential value string. The operations respond to the user inputs by generating a credential value string of “3567” indicating the sequence of credential values entered by a user through the user interface as a part of a credential key, and further generates an input order string as “4231” indicating an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key.


The electronic device then validates the credential key based on the sequence of credential values “3567” indicated by the credential value string and based on the order “4231” indicated by the input order string



FIG. 5 illustrates a credential value string and an input order string which are generated as two parts of a credential key based on a user moving (e.g., dragging on a touch display) and/or selecting symbols arranged in a grid, in accordance with some embodiments of the present disclosure. From the table above, the same number of bits can be encoded by a sequence of a 25-value (25-symbol) binary message. The 25-value (25-symbol) message can be arranged in a 5×5 grid such as shown in FIG. 5 for intuitive viewing and manipulation by a user. A user can enter a credential key by touch-selecting symbols to turn white or dark (i.e., set value values) and/or dragging white and dark symbols within the 5×5 grid. The final pattern of symbols (e.g., the illustrated locations of the white and dark symbols) within the 5×5 grid becomes the credential value string part of the credential key and the order (e.g., the illustrated numbers within the symbols) in which individual ones of the symbols were selected and/or moved by the user becomes the input order string part of the credential key.


Instead of dragging of a white or dark symbol, a user could also touch-select or mouse-click a symbol once to define a white symbol and touch or click it again to define a dark symbol.


Corresponding operations that can be performed by the electronic device can include to display a plurality of indicia on a display device, where each of the indicia indicates a location where the user can enter one of the credential values. The operations generate the credential value string to indicate credential values entered by the user at the locations indicated by the plurality of indicia, and generate the input order string to indicate an order in which individual ones of the credential values were entered at the locations indicated by the plurality of indicia were selected by the user.


Alternately, the user can drag a hexadecimal symbol in a 4×4 grid in the sequence illustrated in FIG. 6. FIG. 6 illustrates a credential value string and an input order string which are generated as two parts of a credential key based on a user moving (e.g., dragging on a touch display) symbols arranged in a grid, in accordance with some embodiments of the present disclosure. The credential value string part of the credential key, is generated to indicate the sequence of hexadecimal symbols in the 4×4 grid (e.g., the arrangement of hexadecimal symbols in the 4×4 grid). The input order string part of the credential key is generated to indicate an order (illustrated in FIG. 6 by “#” input order numbers) in which individual ones of the sequence of hexadecimal symbols were separately dragged by the user to final locations in the 4×4 grid.


In some other embodiments, a user drags a credential value from a table to a credential string line which is displayed on a display device. FIG. 7 illustrates a credential value string and an input order string which are generated as two parts of a credential key based on a user dragging symbols from a grid to spaced apart locations on a display device to assemble a sequence which forms the credential value string in accordance with some embodiments of the present disclosure.


Referring to FIG. 7, as a first input the user drags 701 the credential symbol (value) “B” from the table to the 11th location in the credential value string. As a second input the user drags 702 the credential symbol (value) “2” from the table to the 4th location in the credential value string. As a third input the user drags 703 the credential symbol (value) “0” from the table to the 1st location in the credential value string. As a fourth input the user drags 704 the credential symbol (value) “3” from the table to the 14th location in the credential value string. Continuing in this manner, the user separately enters the rest of the credential values into the remaining locations in the credential value string. The electronic device also concurrently generates the corresponding input order string, which may or may not be displayed to the user. In the illustrated example of FIG. 7, the input order string has been shown which was generated based on the order of the four user inputs. Thus, the partially completed credential value string includes values “0.0.2 . . . B . . . 3 . . . ” and the partially completed input order string includes values “0.3.2 . . . 1 . . . 4 . . . ”.


Corresponding operations that may be performed by an electronic device can include displaying a plurality of values at spaced apart locations on a display device. The operations assemble a sequence of values which is displayed on the display device responsive to user commands moving individual ones of the plurality of values to locations in the assembled sequence of values. The operations generate the credential value string to indicate the assembled sequence of values responsive to a user entry indicating completion of assembly of the credential value string, and generate the input order string to indicate an order in which individual ones of the plurality of values were moved by the user to the locations in the sequence of values.


When the display device includes a touch sensitive display, the electronic device may operate to assemble the sequence of values which is displayed on the display device responsive to sensing the user drag individual ones of the plurality of values to locations in the assembled sequence of values.


The operations of these embodiments may be used for any type of credential key, including without limitation, passwords, PINs, software activation keys, etc.


Many known validation systems require user to adopt complex passwords which includes using “at least one number, one upper case letter, and one special symbol”, which provides about 70 different possibilities for each symbol. For an 8-symbol sequence, the password strength is log2(8*70)=49.0 bits. An even higher complexity of 54 bits can be obtained by dragging just 9 symbols, where each symbol represents 4 bits (0 through F). Dragging symbols on a touch display may be considered more user-friendly by users than attempting to remember and entering a complex password through, for example, a small cellular phone touch sensitive display.


Some other embodiments are directed to a credential value string being input as a sequence of 1-bit symbols of length n. A user may only enter the logic “1” values in the bit sequence, and not need to enter the logic “0” values, or vice versa. The number of permutations, i.e., the number of sequences now depend on the number of logic “1” values in the sequence. A sequence with s logic “1” values can be arranged in n positions in








s
n

P

=


n
!



(

n
-
s

)

!







ways. Thus, the total number of sequences is











s
=
0

n



n
!



(

n
-
s

)

!



=

[

e
*
n
!

]


,





where e is Euler's number, approximately 2.72. Thus, these sequences can encode log2└e·n!┘ number of bits. The table below illustrates example sample values according to this encoding of a credential value string:
















n
log2└e · n!┘



















3
4



4
6



5
8



6
10



16
45



25
85



36
139



49
210










Continuing with the example with 108 bits, n=30 with log2└e·n!┘=109. In other words, a user can encode a 108-bit message by clicking positions in a 6×5 grid in a defined order. FIG. 8 illustrates a grid of symbols which are displayed for touch selection by a user to generate a credential value string and an input order string as two parts of a credential key in accordance with some embodiments of the present disclosure. In the grid of FIG. 8, a user has selected 10 symbols in the 6×5 grid in the input order indicated by the 1-10 numbers within the selected symbol locations. The credential value string is generated to indicate locations of the sequence of selected symbols, as a part of a credential key. The input order string is generated to indicate an order in which individual ones of the sequence of selected symbols were separately selected by the user, as another part of the credential key.


Entering long sequences one click at a time, may be considered cumbersome by users. Short sequences are easier to compromise and may be unacceptably weak to malicious attack. To address these concerns, some embodiments increase n and limit s in the previous example. For example, to limit the number of ones between u and v, then the number of possibilities become









s
=
u

v




n
!



(

n
-
s

)

!


.





This can be computed using the following Python code:

log2(sum([factorial(n)/factorial(n−s) for s in range(u,v+1)]))



FIG. 9 illustrates a table which shows the number of permutations provided by different lengths of credential value strings and number of ones in accordance with some embodiments of the present disclosure.


The higher values of n can be leveraged to allow users to “draw” patterns instead of selecting (e.g., clicking or touch-selecting) symbols one at a time. FIGS. 10A, 10B, 10C, and 10D illustrate four alternative patterns of blocks in a grid which have been selected by a user to generate a credential value string as one part of a credential key and further illustrate associated orders in which the user separately selected the blocks to generate the input order string as another part of credential key, in accordance with some embodiments of the present disclosure.


In the embodiment of FIG. 10A, the user has drawn a block-S pattern which forms the credential value string part of a credential key. The Figure also illustrates through the numbers within the blocks the order in which individual ones of the sequence of blocks were selected by the user, e.g., by dragging a finger on a touch-screen or mouse cursor, to define the input order string as another part of the credential key.


Each of FIGS. 10B, 10C, and 10D further illustrate that the user has drawn the same block-S pattern as shown in FIG. 10A to form the credential value string, but with different orders in which individual ones of the sequence of blocks were selected by the user to define the input order strings. Thus, although the user input in FIGS. 10A, 10B, 10C, and 10D all result in the same credential value string, each of these figures results in a different input order strings. The resulting credentials keys (combining the credential value string and the input order string) for each of FIGS. 10A, 10B, 10C, and 10D are therefore different.


Some users may prefer to drag a finger on a touch display or mouse cursor on a display to input a credential key but drawing line segments, instead of clicking on individual block or symbol locations on the display.


A credential value string may be generated from a plurality of line segments spanning multiple locations on a display. If the line segments have a minimum length of 2 locations (e.g., two blocks), they can be mirrored to double the number of possible entries. A mirrored segment is one in which the locations get clicked in reverse order (e.g. left to right vs. right to left). For symbols divided into n segments, the possible combinations are n+log2 n!. The number of bits this can encode can become very large (e.g., 40 bits for n=12). Examples of symbols broken into 12 different segments are shown in FIGS. 11A, 11B, 11C, and 11D.



FIGS. 11A, 11B, 11C, and 11D illustrate four alternative patterns of blocks in a grid which have been selected by a user to form a stylized “S” as a credential value string for one part of a credential key and further illustrate by the numbers associated orders in which the user separately selected the blocks to generate the input order string as another part of credential key, in accordance with some embodiments of the present disclosure.


These symbols can be shifted left-to-right or top-to-bottom to encode additional bits. Mirroring asymmetric symbols can also lead to additional 1 bit encoding, to reduce the total number of unique patterns.


Corresponding operations that may be performed by an electronic device can include to display an n by m grid of indicia on a display device which are separately selectable by the user, wherein n and m are positive plural integers. The operations generate the credential value string to indicate which of the indicia of the grid have been selected by the user, and generate the input order string to indicate an order in which individual ones of the indicia of the grid were selected by the user.


The operations may generate the credential value string to further indicate which of the indicia of the grid have not been selected by the user.


The operations may generate of the credential value string by setting a defined binary value for locations in the credential value string corresponding to individual ones of the indicia of the grid that are selected by the user.


The operations may generate of the credential value string by setting each location in the credential value string to a defined binary value, and then toggling a binary value at a location in the credential value string from a current binary value to an opposite new binary value responsive to selection of one of the indicia of the grid by the user corresponding to the location in the credential value string.


The operations may change color, shading, and/or shape of individual ones of the grid of indicia displayed on the display device responsive to user selection of the individual ones of the indicia of the grid.


The operations may generate the input order string to indicate an order in which individual ones of the indicia of the grid were selected by the user dragging a finger across the individual ones of the indicia displayed on a touch sensitive display device or an order in which individual ones of the indicia of the grid were selected by the user dragging a cursor across the individual ones of the indicia while a mouse selection button was actuated.


Various embodiments of the present disclosure may thereby provide one or more of: 1) increased cryptographic strength of a credential key without increasing the required length of the user's inputted credential value string; 2) improved usability from a user's perception by enabling the user to sequentially drag symbols which have been display on a display device to locations on the display to define the sequential value string and input order string parts of a credential key for validation; 3) improved usability from a user's perception by enabling the user to click on locations on the screen to define the sequential value string and input order string parts of a credential key for validation; and 4) improved usability from a user's perception by enabling the user to define the sequential value string and input order string parts of a credential key by dragging a finger or mouse cursor through a sequence of strokes that draws a desired symbol.



FIG. 12 illustrates components of a user device 100 which are configured to operate in accordance with some embodiments of the present disclosure. Referring to FIG. 12, the user device 100 can include a wired and/or wireless network interface circuit 1220, a user interface 1230 (e.g., touch sensitive display, physical keyboard, physical keypad, mouse, etc.), at least one processor circuit 1200 (processor), and at least one memory circuit 1210 (memory). The processor 1200 is connected to communicate with the other components. The memory 1210 stores program code that is executed by the processor 1200 to perform operations disclosed herein. The memory 1210 may also store the credential key repository 113 of FIG. 1. The processor 1200 may include one or more data processing circuits (e.g., microprocessor and/or digital signal processor), which may be collocated or distributed across one or more data networks. The processor 1200 is configured to execute the program code in the memory 1210, described below as a computer readable medium, to perform some or all of the operations and methods for one or more of the embodiments disclosed herein for a user device or other electronic device.



FIG. 13 illustrates components of a network node 110 which are configured to operate in accordance with some embodiments of the present disclosure. Referring to FIG. 13, the network node 110 can include a wired and/or wireless network interface circuit 1320, at least one processor circuit 1300 (processor), and at least one memory circuit 1310 (memory). The network node 110 may include a user interface adapted to receive a credential key from a user. The processor 1300 is connected to communicate with the other components. The memory 1310 stores program code that is executed by the processor 1300 to perform operations disclosed herein for a network node or other electronic device. The memory 1310 may also store the credential key repository 113 of FIG. 1. The processor 1300 may include one or more data processing circuits (e.g., microprocessor and/or digital signal processor), which may be collocated or distributed across one or more data networks.


Further Definitions and Embodiments

In the above-description of various embodiments of present inventive concepts, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of present inventive concepts. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which present inventive concepts belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense expressly so defined herein.


When an element is referred to as being “connected”, “coupled”, “responsive”, or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected”, “directly coupled”, “directly responsive”, or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, “coupled”, “connected”, “responsive”, or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term “and/or” includes any and all combinations of one or more of the associated listed items.


It will be understood that although the terms first, second, third, etc. may be used herein to describe various elements/operations, these elements/operations should not be limited by these terms. These terms are only used to distinguish one element/operation from another element/operation. Thus, a first element/operation in some embodiments could be termed a second element/operation in other embodiments without departing from the teachings of present inventive concepts. The same reference numerals or the same reference designators denote the same or similar elements throughout the specification.


As used herein, the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.


Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).


These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of present inventive concepts may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.


It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Finally, other blocks may be added/inserted between the blocks that are illustrated, and/or blocks/operations may be omitted without departing from the scope of inventive concepts. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.


Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present inventive concepts. All such variations and modifications are intended to be included herein within the scope of present inventive concepts. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended examples of embodiments are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of present inventive concepts. Thus, to the maximum extent allowed by law, the scope of present inventive concepts are to be determined by the broadest permissible interpretation of the present disclosure including the following examples of embodiments and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

Claims
  • 1. An electronic device comprising: a display device;at least one processor coupled to the display device; andat least one memory storing instructions executable by the at least one processor to display on the display device a plurality of spatially separated input locations each configured to receive a credential value;obtain a credential value string indicating a sequence of credential values entered by a user through a user interface as a part of a credential key,obtain an input order string indicating an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key by: storing for each entered credential value the location of the entered credential value among the plurality of spatially separated input locations; andstoring when the each credential value was entered through the user interface relative to the other credential values, andvalidate the credential key based on the obtained credential value string and based on the obtained input order stringwherein the at least one processor is further operative to: display an n by m grid of indicia on the display device which are separately selectable by the user, wherein n and m are positive plural integers;generate the credential value string to indicate which of the indicia of the grid have been selected by the user; andgenerate the input order string to indicate an order in which individual ones of the indicia of the grid were selected by the user;wherein the at least one processor is further operative to generate the credential value string by setting a defined binary value for locations in the credential value string corresponding to individual ones of the indicia of the grid that are selected by the user.
  • 2. The electronic device of claim 1, wherein the at least one processor is further operative to validate the credential key based on: comparing the sequence of credential values indicated by the credential value string to credential values of a predefined credential value string and based on comparing the order indicated by the input order string to a predefined input order of a predefined credential order string.
  • 3. The electronic device of claim 2, wherein the at least one processor is further operative to: access a repository of credential keys using an identifier of the user to obtain the predefined credential value string and the predefined credential order string for the user.
  • 4. The electronic device of claim 1, wherein the at least one processor is further operative to validate the credential key based on: comparing a credential key value generated based on an algorithmic combination of the credential value string and the input order string to a predefined credential key value.
  • 5. The electronic device of claim 1, wherein the at least one processor is further operative to: selectively grant the user access to resources of the electronic device based on an outcome of the validation of the credential key.
  • 6. The electronic device of claim 1, wherein the at least one processor is further operative to: access a repository of credential keys using an identifier of a software or hardware resource or both to obtain the predefined credential value string and the predefined credential order string for the identified software or hardware resource.
  • 7. The electronic device of claim 1, wherein the at least one processor is further operative to: assemble a sequence of values which is displayed on the display device responsive to user commands moving individual ones of the plurality of values to locations in the assembled sequence of values;generate the credential value string to indicate the assembled sequence of values responsive to a user entry indicating completion of assembly of the credential value string; andgenerate the input order string to indicate an order in which individual ones of the plurality of values were moved by the user to the locations in the sequence of values.
  • 8. The electronic device of claim 1, wherein the display device comprises a touch sensitive display, and the at least one processor is further operative to: assemble the sequence of values which is displayed on the display device responsive to sensing the user drag individual ones of the plurality of values to locations in the assembled sequence of values.
  • 9. The electronic device of claim 1, wherein the at least one processor is further operative to generate the credential value string to further indicate which of the indicia of the grid have not been selected by the user.
  • 10. The electronic device of claim 1, wherein the at least one processor is further operative to generate the credential value string by: toggling a binary value at a location in the credential value string from a current binary value to an opposite new binary value responsive to selection of one of the indicia of the grid by the user corresponding to the location in the credential value string.
  • 11. The electronic device of claim 1, wherein the at least one processor is further operative to: change one or more of color, shading, and shape of individual ones of the grid of indicia displayed on the display device responsive to user selection of the individual ones of the indicia of the grid.
  • 12. The electronic device of claim 1, wherein the at least one processor is further operative to: generate the input order string to indicate an order in which individual ones of the indicia of the grid were selected by the user dragging a finger across the individual ones of the indicia displayed on a touch sensitive display device or an order in which individual ones of the indicia of the grid were selected by the user dragging a cursor across the individual ones of the indicia while a mouse selection button was actuated.
  • 13. The electronic device of claim 1, wherein the at least one processor is further operative to generate of the credential value string by: toggling a binary value at a location in the credential value string from a current binary value to an opposite new binary value responsive to selection of one of the indicia of the grid by the user corresponding to the location in the credential value string.
  • 14. An electronic device comprising: a display device;at least one processor coupled to the display device; andat least one memory storing instructions executable by the at least one processor to display on the display device a plurality of spatially separated input locations each configured to receive a credential value;obtain a credential value string indicating a sequence of credential values entered by a user through a user interface as a part of a credential key,obtain an input order string indicating an order in which individual ones of the sequence of credential values were separately entered by the user through the user interface as another part of the credential key by: storing for each entered credential value the location of the entered credential value among the plurality of spatially separated input locations; andstoring when the each credential value was entered through the user interface relative to the other credential values, andvalidate the credential key based on the obtained credential value string and based on the obtained input order stringwherein the at least one processor is further operative to: display an n by m grid of indicia on the display device which are separately selectable by the user, wherein n and m are positive plural integers;generate the credential value string to indicate which of the indicia of the grid have been selected by the user; andgenerate the input order string to indicate an order in which individual ones of the indicia of the grid were selected by the user;wherein the at least one processor is further operative to: change one or more of color, shading, and shape of individual ones of the grid of indicia displayed on the display device responsive to user selection of the individual ones of the indicia of the grid.
US Referenced Citations (692)
Number Name Date Kind
4150293 Franke Apr 1979 A
5246010 Gazzara et al. Sep 1993 A
5354314 Hardy et al. Oct 1994 A
5397323 Taylor et al. Mar 1995 A
5598453 Baba et al. Jan 1997 A
5772594 Barrick Jun 1998 A
5791908 Gillio Aug 1998 A
5820559 Ng et al. Oct 1998 A
5825982 Wright et al. Oct 1998 A
5887121 Funda et al. Mar 1999 A
5911449 Daniele et al. Jun 1999 A
5951475 Gueziec et al. Sep 1999 A
5987960 Messner et al. Nov 1999 A
6012216 Esteves et al. Jan 2000 A
6031888 Ivan et al. Feb 2000 A
6033415 Mittelstadt et al. Mar 2000 A
6080181 Jensen et al. Jun 2000 A
6106511 Jensen Aug 2000 A
6122541 Cosman et al. Sep 2000 A
6144875 Schweikard et al. Nov 2000 A
6157853 Blume et al. Dec 2000 A
6167145 Foley et al. Dec 2000 A
6167292 Badano et al. Dec 2000 A
6201984 Funda et al. Mar 2001 B1
6203196 Meyer et al. Mar 2001 B1
6205411 DiGioia, III et al. Mar 2001 B1
6212419 Blume et al. Apr 2001 B1
6231565 Tovey et al. May 2001 B1
6236875 Bucholz et al. May 2001 B1
6246900 Cosman et al. Jun 2001 B1
6301495 Gueziec et al. Oct 2001 B1
6306126 Montezuma Oct 2001 B1
6312435 Wallace et al. Nov 2001 B1
6314311 Williams et al. Nov 2001 B1
6320929 Von Der Haar Nov 2001 B1
6322567 Mittelstadt et al. Nov 2001 B1
6325808 Bernard et al. Dec 2001 B1
6340363 Bolger et al. Jan 2002 B1
6377011 Ben-Ur Apr 2002 B1
6379302 Kessman et al. Apr 2002 B1
6402762 Hunter et al. Jun 2002 B2
6424885 Niemeyer et al. Jul 2002 B1
6447503 Wynne et al. Sep 2002 B1
6451027 Cooper et al. Sep 2002 B1
6477400 Barrick Nov 2002 B1
6484049 Seeley et al. Nov 2002 B1
6487267 Wolter Nov 2002 B1
6490467 Bucholz et al. Dec 2002 B1
6490475 Seeley et al. Dec 2002 B1
6499488 Hunter et al. Dec 2002 B1
6501981 Schweikard et al. Dec 2002 B1
6507751 Blume et al. Jan 2003 B2
6535756 Simon et al. Mar 2003 B1
6560354 Maurer, Jr. et al. May 2003 B1
6565554 Niemeyer May 2003 B1
6587750 Gerbi et al. Jul 2003 B2
6614453 Suri et al. Sep 2003 B1
6614871 Kobiki et al. Sep 2003 B1
6619840 Rasche et al. Sep 2003 B2
6636757 Jascob et al. Oct 2003 B1
6645196 Nixon et al. Nov 2003 B1
6666579 Jensen Dec 2003 B2
6669635 Kessman et al. Dec 2003 B2
6701173 Nowinski et al. Mar 2004 B2
6757068 Foxlin Jun 2004 B2
6782287 Grzeszczuk et al. Aug 2004 B2
6783524 Anderson et al. Aug 2004 B2
6786896 Madhani et al. Sep 2004 B1
6788018 Blumenkranz Sep 2004 B1
6804581 Wang et al. Oct 2004 B2
6823207 Jensen et al. Nov 2004 B1
6827351 Graziani et al. Dec 2004 B2
6837892 Shoham Jan 2005 B2
6839612 Sanchez et al. Jan 2005 B2
6856826 Seeley et al. Feb 2005 B2
6856827 Seeley et al. Feb 2005 B2
6879880 Nowlin et al. Apr 2005 B2
6892090 Verard et al. May 2005 B2
6920347 Simon et al. Jul 2005 B2
6922632 Foxlin Jul 2005 B2
6968224 Kessman et al. Nov 2005 B2
6978166 Foley et al. Dec 2005 B2
6988009 Grimm et al. Jan 2006 B2
6991627 Madhani et al. Jan 2006 B2
6996487 Jutras et al. Feb 2006 B2
6999852 Green Feb 2006 B2
7007699 Martinelli et al. Mar 2006 B2
7016457 Senzig et al. Mar 2006 B1
7043961 Pandey et al. May 2006 B2
7062006 Pelc et al. Jun 2006 B1
7063705 Young et al. Jun 2006 B2
7072707 Galloway, Jr. et al. Jul 2006 B2
7083615 Peterson et al. Aug 2006 B2
7097640 Wang et al. Aug 2006 B2
7099428 Clinthorne et al. Aug 2006 B2
7108421 Gregerson et al. Sep 2006 B2
7130676 Barrick Oct 2006 B2
7139418 Abovitz et al. Nov 2006 B2
7139601 Bucholz et al. Nov 2006 B2
7155316 Sutherland et al. Dec 2006 B2
7164968 Treat et al. Jan 2007 B2
7167738 Schweikard et al. Jan 2007 B2
7169141 Brock et al. Jan 2007 B2
7172627 Fiere et al. Feb 2007 B2
7194120 Wicker et al. Mar 2007 B2
7197107 Arai et al. Mar 2007 B2
7231014 Levy Jun 2007 B2
7231063 Naimark et al. Jun 2007 B2
7239940 Wang et al. Jul 2007 B2
7248914 Hastings et al. Jul 2007 B2
7301648 Foxlin Nov 2007 B2
7302288 Schellenberg Nov 2007 B1
7313430 Urquhart et al. Dec 2007 B2
7318805 Schweikard et al. Jan 2008 B2
7318827 Leitner et al. Jan 2008 B2
7319897 Leitner et al. Jan 2008 B2
7324623 Heuscher et al. Jan 2008 B2
7327865 Fu et al. Feb 2008 B2
7331967 Lee et al. Feb 2008 B2
7333642 Green Feb 2008 B2
7339341 Oleynikov et al. Mar 2008 B2
7366562 Dukesherer et al. Apr 2008 B2
7379790 Toth et al. May 2008 B2
7386365 Nixon Jun 2008 B2
7422592 Morley et al. Sep 2008 B2
7435216 Kwon et al. Oct 2008 B2
7440793 Chauhan et al. Oct 2008 B2
7460637 Clinthorne et al. Dec 2008 B2
7466303 Yi et al. Dec 2008 B2
7493153 Ahmed et al. Feb 2009 B2
7505617 Fu et al. Mar 2009 B2
7533892 Schena et al. May 2009 B2
7542791 Mire et al. Jun 2009 B2
7555331 Viswanathan Jun 2009 B2
7567834 Clayton et al. Jul 2009 B2
7594912 Cooper et al. Sep 2009 B2
7606613 Simon et al. Oct 2009 B2
7607440 Coste-Maniere et al. Oct 2009 B2
7623902 Pacheco Nov 2009 B2
7630752 Viswanathan Dec 2009 B2
7630753 Simon et al. Dec 2009 B2
7643862 Schoenefeld Jan 2010 B2
7660623 Hunter et al. Feb 2010 B2
7661881 Gregerson et al. Feb 2010 B2
7683331 Chang Mar 2010 B2
7683332 Chang Mar 2010 B2
7689320 Prisco et al. Mar 2010 B2
7691098 Wallace et al. Apr 2010 B2
7702379 Avinash et al. Apr 2010 B2
7702477 Tuemmler et al. Apr 2010 B2
7711083 Heigl et al. May 2010 B2
7711406 Kuhn et al. May 2010 B2
7720523 Omernick et al. May 2010 B2
7725253 Foxlin May 2010 B2
7726171 Langlotz et al. Jun 2010 B2
7742801 Neubauer et al. Jun 2010 B2
7751865 Jascob et al. Jul 2010 B2
7760849 Zhang Jul 2010 B2
7762825 Burbank et al. Jul 2010 B2
7763015 Cooper et al. Jul 2010 B2
7787699 Mahesh et al. Aug 2010 B2
7796728 Bergfjord Sep 2010 B2
7813838 Sommer Oct 2010 B2
7818044 Dukesherer et al. Oct 2010 B2
7819859 Prisco et al. Oct 2010 B2
7824401 Manzo et al. Nov 2010 B2
7831294 Viswanathan Nov 2010 B2
7834484 Sartor Nov 2010 B2
7835557 Kendrick et al. Nov 2010 B2
7835778 Foley et al. Nov 2010 B2
7835784 Mire et al. Nov 2010 B2
7840253 Tremblay et al. Nov 2010 B2
7840256 Lakin et al. Nov 2010 B2
7843158 Prisco Nov 2010 B2
7844320 Shahidi Nov 2010 B2
7853305 Simon et al. Dec 2010 B2
7853313 Thompson Dec 2010 B2
7865269 Prisco et al. Jan 2011 B2
D631966 Perloff et al. Feb 2011 S
7879045 Gielen et al. Feb 2011 B2
7881767 Strommer et al. Feb 2011 B2
7881770 Melkent et al. Feb 2011 B2
7886743 Cooper et al. Feb 2011 B2
RE42194 Foley et al. Mar 2011 E
RE42226 Foley et al. Mar 2011 E
7900524 Calloway et al. Mar 2011 B2
7907166 Lamprecht et al. Mar 2011 B2
7909122 Schena et al. Mar 2011 B2
7925653 Saptharishi Apr 2011 B2
7930065 Larkin et al. Apr 2011 B2
7935130 Williams May 2011 B2
7940999 Liao et al. May 2011 B2
7945012 Ye et al. May 2011 B2
7945021 Shapiro et al. May 2011 B2
7953470 Vetter et al. May 2011 B2
7954397 Choi et al. Jun 2011 B2
7971341 Dukesherer et al. Jul 2011 B2
7974674 Hauck et al. Jul 2011 B2
7974677 Mire et al. Jul 2011 B2
7974681 Wallace et al. Jul 2011 B2
7979157 Anvari Jul 2011 B2
7983733 Viswanathan Jul 2011 B2
7988215 Seibold Aug 2011 B2
7996110 Lipow et al. Aug 2011 B2
8004121 Sartor Aug 2011 B2
8004229 Nowlin et al. Aug 2011 B2
8010177 Csavoy et al. Aug 2011 B2
8019045 Kato Sep 2011 B2
8021310 Sanborn et al. Sep 2011 B2
8035685 Jensen Oct 2011 B2
8046054 Kim et al. Oct 2011 B2
8046057 Clarke Oct 2011 B2
8052688 Wolf, II Nov 2011 B2
8054184 Cline et al. Nov 2011 B2
8054752 Druke et al. Nov 2011 B2
8057397 Li et al. Nov 2011 B2
8057407 Martinelli et al. Nov 2011 B2
8062288 Cooper et al. Nov 2011 B2
8062375 Glerum et al. Nov 2011 B2
8066524 Burbank et al. Nov 2011 B2
8073335 Labonville et al. Dec 2011 B2
8079950 Stern et al. Dec 2011 B2
8086299 Adler et al. Dec 2011 B2
8092370 Roberts et al. Jan 2012 B2
8098914 Liao et al. Jan 2012 B2
8100950 St. Clair et al. Jan 2012 B2
8105320 Manzo Jan 2012 B2
8108025 Csavoy et al. Jan 2012 B2
8109877 Moctezuma de la Barrera et al. Feb 2012 B2
8112292 Simon Feb 2012 B2
8116430 Shapiro et al. Feb 2012 B1
8120301 Goldberg et al. Feb 2012 B2
8121249 Wang et al. Feb 2012 B2
8123675 Funda et al. Feb 2012 B2
8133229 Bonutti Mar 2012 B1
8142420 Schena Mar 2012 B2
8147494 Leitner et al. Apr 2012 B2
8150494 Simon et al. Apr 2012 B2
8150497 Gielen et al. Apr 2012 B2
8150498 Gielen et al. Apr 2012 B2
8165658 Waynik et al. Apr 2012 B2
8170313 Kendrick et al. May 2012 B2
8179073 Farritor et al. May 2012 B2
8182476 Julian et al. May 2012 B2
8184880 Zhao et al. May 2012 B2
8202278 Orban, III et al. Jun 2012 B2
8208708 Homan et al. Jun 2012 B2
8208988 Jensen Jun 2012 B2
8219177 Smith et al. Jul 2012 B2
8219178 Smith et al. Jul 2012 B2
8220468 Cooper et al. Jul 2012 B2
8224024 Foxlin et al. Jul 2012 B2
8224484 Swarup et al. Jul 2012 B2
8225798 Baldwin et al. Jul 2012 B2
8228368 Zhao et al. Jul 2012 B2
8231610 Jo et al. Jul 2012 B2
8263933 Hartmann et al. Jul 2012 B2
8239001 Verard et al. Aug 2012 B2
8241271 Millman et al. Aug 2012 B2
8248413 Gattani et al. Aug 2012 B2
8256319 Cooper et al. Sep 2012 B2
8271069 Jascob et al. Sep 2012 B2
8271130 Hourtash Sep 2012 B2
8281670 Larkin et al. Oct 2012 B2
8282653 Nelson et al. Oct 2012 B2
8301226 Csavoy et al. Oct 2012 B2
8311611 Csavoy et al. Nov 2012 B2
8320991 Jascob et al. Nov 2012 B2
8332012 Kienzle, III Dec 2012 B2
8333755 Cooper et al. Dec 2012 B2
8335552 Stiles Dec 2012 B2
8335557 Maschke Dec 2012 B2
8348931 Cooper et al. Jan 2013 B2
8353963 Glerum Jan 2013 B2
8358818 Miga et al. Jan 2013 B2
8359730 Burg et al. Jan 2013 B2
8374673 Adcox et al. Feb 2013 B2
8374723 Zhao et al. Feb 2013 B2
8379791 Forthmann et al. Feb 2013 B2
8381272 Nelson Feb 2013 B1
8386019 Camus et al. Feb 2013 B2
8392022 Ortmaier et al. Mar 2013 B2
8394099 Patwardhan Mar 2013 B2
8395342 Prisco Mar 2013 B2
8398634 Manzo et al. Mar 2013 B2
8400094 Schena Mar 2013 B2
8414957 Enzerink et al. Apr 2013 B2
8418073 Mohr et al. Apr 2013 B2
8450694 Baviera et al. May 2013 B2
8452447 Nixon May 2013 B2
RE44305 Foley et al. Jun 2013 E
8462911 Vesel et al. Jun 2013 B2
8465476 Rogers et al. Jun 2013 B2
8465771 Wan et al. Jun 2013 B2
8467851 Mire et al. Jun 2013 B2
8467852 Csavoy et al. Jun 2013 B2
8469947 Devengenzo et al. Jun 2013 B2
RE44392 Hynes Jul 2013 E
8483434 Buehner et al. Jul 2013 B2
8483800 Jensen et al. Jul 2013 B2
8486532 Enzerink et al. Jul 2013 B2
8489235 Moll et al. Jul 2013 B2
8500722 Cooper Aug 2013 B2
8500728 Newton et al. Aug 2013 B2
8504201 Moll et al. Aug 2013 B2
8506555 Ruiz Morales Aug 2013 B2
8506556 Schena Aug 2013 B2
8508173 Goldberg et al. Aug 2013 B2
8512318 Tovey et al. Aug 2013 B2
8515576 Lipow et al. Aug 2013 B2
8518120 Glerum et al. Aug 2013 B2
8521331 Itkowitz Aug 2013 B2
8526688 Groszmann et al. Sep 2013 B2
8526700 Issacs Sep 2013 B2
8527094 Kumar et al. Sep 2013 B2
8528440 Morley et al. Sep 2013 B2
8532741 Heruth et al. Sep 2013 B2
8541970 Nowlin et al. Sep 2013 B2
8548563 Simon et al. Oct 2013 B2
8549732 Burg et al. Oct 2013 B2
8551114 Ramos de la Pena Oct 2013 B2
8551116 Julian et al. Oct 2013 B2
8556807 Scott et al. Oct 2013 B2
8556979 Glerum et al. Oct 2013 B2
8560118 Green et al. Oct 2013 B2
8561473 Blumenkranz Oct 2013 B2
8562594 Cooper et al. Oct 2013 B2
8571638 Shoham Oct 2013 B2
8571710 Coste-Maniere et al. Oct 2013 B2
8573465 Shelton, IV Nov 2013 B2
8574303 Sharkey et al. Nov 2013 B2
8585420 Burbank et al. Nov 2013 B2
8594841 Zhao et al. Nov 2013 B2
8597198 Sanborn et al. Dec 2013 B2
8600478 Verard et al. Dec 2013 B2
8603077 Cooper et al. Dec 2013 B2
8611985 Lavallee et al. Dec 2013 B2
8613230 Blumenkranz et al. Dec 2013 B2
8621939 Blumenkranz et al. Jan 2014 B2
8624537 Nowlin et al. Jan 2014 B2
8630389 Kato Jan 2014 B2
8634897 Simon et al. Jan 2014 B2
8634957 Toth et al. Jan 2014 B2
8638056 Goldberg et al. Jan 2014 B2
8638057 Goldberg et al. Jan 2014 B2
8639000 Zhao et al. Jan 2014 B2
8641726 Bonutti Feb 2014 B2
8644907 Hartmann et al. Feb 2014 B2
8657809 Schoepp Feb 2014 B2
8660635 Simon et al. Feb 2014 B2
8666544 Moll et al. Mar 2014 B2
8675939 Moctezuma de la Barrera Mar 2014 B2
8678647 Gregerson et al. Mar 2014 B2
8679125 Smith et al. Mar 2014 B2
8679183 Glerum et al. Mar 2014 B2
8682413 Lloyd Mar 2014 B2
8684253 Giordano et al. Apr 2014 B2
8685098 Glerum et al. Apr 2014 B2
8693730 Umasuthan et al. Apr 2014 B2
8694075 Groszmann et al. Apr 2014 B2
8696458 Foxlin et al. Apr 2014 B2
8700123 Okamura et al. Apr 2014 B2
8706086 Glerum Apr 2014 B2
8706185 Foley et al. Apr 2014 B2
8706301 Zhao et al. Apr 2014 B2
8717430 Simon et al. May 2014 B2
8727618 Maschke et al. May 2014 B2
8734432 Tuma et al. May 2014 B2
8738115 Amberg et al. May 2014 B2
8738181 Greer et al. May 2014 B2
8740882 Jun et al. Jun 2014 B2
8746252 McGrogan et al. Jun 2014 B2
8749189 Nowlin et al. Jun 2014 B2
8749190 Nowlin et al. Jun 2014 B2
8761930 Nixon Jun 2014 B2
8764448 Yang et al. Jul 2014 B2
8771170 Mesallum et al. Jul 2014 B2
8781186 Clements et al. Jul 2014 B2
8781630 Banks et al. Jul 2014 B2
8784385 Boyden et al. Jul 2014 B2
8786241 Nowlin et al. Jul 2014 B2
8787520 Baba Jul 2014 B2
8792704 Isaacs Jul 2014 B2
8798231 Notohara et al. Aug 2014 B2
8800838 Shelton, IV Aug 2014 B2
8808164 Hoffman et al. Aug 2014 B2
8812077 Dempsey Aug 2014 B2
8814793 Brabrand Aug 2014 B2
8816628 Nowlin et al. Aug 2014 B2
8818105 Myronenko et al. Aug 2014 B2
8820605 Shelton, IV Sep 2014 B2
8821511 von Jako et al. Sep 2014 B2
8823308 Nowlin et al. Sep 2014 B2
8827996 Scott et al. Sep 2014 B2
8828024 Farritor et al. Sep 2014 B2
8830224 Zhao et al. Sep 2014 B2
8834489 Cooper et al. Sep 2014 B2
8834490 Bonutti Sep 2014 B2
8838270 Druke et al. Sep 2014 B2
8844789 Shelton, IV et al. Sep 2014 B2
8855822 Bartol et al. Oct 2014 B2
8858598 Seifert et al. Oct 2014 B2
8860753 Bhandarkar et al. Oct 2014 B2
8864751 Prisco et al. Oct 2014 B2
8864798 Weiman et al. Oct 2014 B2
8864833 Glerum et al. Oct 2014 B2
8867703 Shapiro et al. Oct 2014 B2
8870880 Himmelberger et al. Oct 2014 B2
8876866 Zappacosta et al. Nov 2014 B2
8880223 Raj et al. Nov 2014 B2
8882803 Iott et al. Nov 2014 B2
8883210 Truncale et al. Nov 2014 B1
8888821 Rezach et al. Nov 2014 B2
8888853 Glerum et al. Nov 2014 B2
8888854 Glerum et al. Nov 2014 B2
8894652 Seifert et al. Nov 2014 B2
8894688 Suh Nov 2014 B2
8894691 Iott et al. Nov 2014 B2
8906069 Hansell et al. Dec 2014 B2
8964934 Ein-Gal Feb 2015 B2
8992580 Bar et al. Mar 2015 B2
8996169 Lightcap et al. Mar 2015 B2
9001963 Sowards-Emmerd et al. Apr 2015 B2
9002076 Khadem et al. Apr 2015 B2
9044190 Rubner et al. Jun 2015 B2
9107683 Hourtash et al. Aug 2015 B2
9125556 Zehavi et al. Sep 2015 B2
9131986 Greer et al. Sep 2015 B2
9215968 Schostek et al. Dec 2015 B2
9269358 Saylor Feb 2016 B1
9308050 Kostrzewski et al. Apr 2016 B2
9380984 Li et al. Jul 2016 B2
9393039 Lechner et al. Jul 2016 B2
9398886 Gregerson et al. Jul 2016 B2
9398890 Dong et al. Jul 2016 B2
9414859 Ballard et al. Aug 2016 B2
9420975 Gutfleisch et al. Aug 2016 B2
9492235 Hourtash et al. Nov 2016 B2
9592096 Maillet et al. Mar 2017 B2
9640001 Vazquez May 2017 B1
9750465 Engel et al. Sep 2017 B2
9757203 Hourtash et al. Sep 2017 B2
9795354 Menegaz et al. Oct 2017 B2
9814535 Bar et al. Nov 2017 B2
9820783 Donner et al. Nov 2017 B2
9833265 Donner et al. Nov 2017 B2
9848922 Tohmeh et al. Dec 2017 B2
9925011 Gombert et al. Mar 2018 B2
9931025 Graetzel et al. Apr 2018 B1
10034717 Miller et al. Jul 2018 B2
20010036302 Miller Nov 2001 A1
20020035321 Bucholz et al. Mar 2002 A1
20040068172 Nowinski et al. Apr 2004 A1
20040076259 Jensen et al. Apr 2004 A1
20050096502 Khalili May 2005 A1
20050143651 Verard et al. Jun 2005 A1
20050171558 Abovitz et al. Aug 2005 A1
20060100610 Wallace et al. May 2006 A1
20060173329 Marquart et al. Aug 2006 A1
20060184396 Dennis et al. Aug 2006 A1
20060241416 Marquart et al. Oct 2006 A1
20060291612 Nishide et al. Dec 2006 A1
20070015987 Benlloch Baviera et al. Jan 2007 A1
20070021738 Hasser et al. Jan 2007 A1
20070038059 Sheffer et al. Feb 2007 A1
20070073133 Schoenefeld Mar 2007 A1
20070156121 Millman et al. Jul 2007 A1
20070156157 Nahum et al. Jul 2007 A1
20070167712 Keglovich et al. Jul 2007 A1
20070233238 Huynh et al. Oct 2007 A1
20080004523 Jensen Jan 2008 A1
20080013809 Zhu et al. Jan 2008 A1
20080033283 Dellaca et al. Feb 2008 A1
20080046122 Manzo et al. Feb 2008 A1
20080082109 Moll et al. Apr 2008 A1
20080108912 Node-Langlois May 2008 A1
20080108991 von Jako May 2008 A1
20080109012 Falco et al. May 2008 A1
20080144906 Allred et al. Jun 2008 A1
20080161680 von Jako et al. Jul 2008 A1
20080161682 Kendrick et al. Jul 2008 A1
20080177203 von Jako Jul 2008 A1
20080214922 Hartmann et al. Sep 2008 A1
20080228068 Viswanathan et al. Sep 2008 A1
20080228196 Wang et al. Sep 2008 A1
20080235052 Node-Langlois et al. Sep 2008 A1
20080269596 Revie et al. Oct 2008 A1
20080287771 Anderson Nov 2008 A1
20080287781 Revie et al. Nov 2008 A1
20080300477 Lloyd et al. Dec 2008 A1
20080300478 Zuhars et al. Dec 2008 A1
20080302950 Park et al. Dec 2008 A1
20080306490 Lakin et al. Dec 2008 A1
20080319311 Hamadeh Dec 2008 A1
20090012509 Csavoy et al. Jan 2009 A1
20090030428 Omori et al. Jan 2009 A1
20090080737 Battle et al. Mar 2009 A1
20090185655 Koken et al. Jul 2009 A1
20090198121 Hoheisel Aug 2009 A1
20090216113 Meier et al. Aug 2009 A1
20090228019 Gross et al. Sep 2009 A1
20090259123 Navab et al. Oct 2009 A1
20090259230 Khadem et al. Oct 2009 A1
20090264899 Appenrodt et al. Oct 2009 A1
20090281417 Hartmann et al. Nov 2009 A1
20100022874 Wang et al. Jan 2010 A1
20100039506 Sarvestani et al. Feb 2010 A1
20100125286 Wang et al. May 2010 A1
20100130986 Mailloux et al. May 2010 A1
20100228117 Hartmann Sep 2010 A1
20100228265 Prisco Sep 2010 A1
20100249571 Jensen et al. Sep 2010 A1
20100274120 Heuscher Oct 2010 A1
20100280363 Skarda et al. Nov 2010 A1
20100331858 Simaan et al. Dec 2010 A1
20110022229 Jang et al. Jan 2011 A1
20110077504 Fischer et al. Mar 2011 A1
20110098553 Robbins et al. Apr 2011 A1
20110137152 Li Jun 2011 A1
20110213384 Jeong Sep 2011 A1
20110224684 Larkin et al. Sep 2011 A1
20110224685 Larkin et al. Sep 2011 A1
20110224686 Larkin et al. Sep 2011 A1
20110224687 Larkin et al. Sep 2011 A1
20110224688 Larkin et al. Sep 2011 A1
20110224689 Larkin et al. Sep 2011 A1
20110224825 Larkin et al. Sep 2011 A1
20110230967 O'Halloran et al. Sep 2011 A1
20110238080 Ranjit et al. Sep 2011 A1
20110276058 Choi et al. Nov 2011 A1
20110282189 Graumann Nov 2011 A1
20110286573 Schretter et al. Nov 2011 A1
20110295062 Gratacos Solsona et al. Dec 2011 A1
20110295370 Suh et al. Dec 2011 A1
20110306986 Lee et al. Dec 2011 A1
20120035507 George et al. Feb 2012 A1
20120046668 Gantes Feb 2012 A1
20120051498 Koishi Mar 2012 A1
20120053597 Anvari et al. Mar 2012 A1
20120059248 Holsing et al. Mar 2012 A1
20120071753 Hunter et al. Mar 2012 A1
20120108954 Schulhauser et al. May 2012 A1
20120136372 Amat Girbau et al. May 2012 A1
20120143084 Shoham Jun 2012 A1
20120184839 Woerlein Jul 2012 A1
20120197182 Millman et al. Aug 2012 A1
20120226145 Chang et al. Sep 2012 A1
20120235909 Birkenbach et al. Sep 2012 A1
20120245596 Meenink Sep 2012 A1
20120253332 Moll Oct 2012 A1
20120253360 White et al. Oct 2012 A1
20120256092 Zingerman Oct 2012 A1
20120290838 Lee Nov 2012 A1
20120294498 Popovic Nov 2012 A1
20120296203 Hartmann et al. Nov 2012 A1
20130006267 Odermatt et al. Jan 2013 A1
20130016889 Myronenko et al. Jan 2013 A1
20130030571 Ruiz Morales et al. Jan 2013 A1
20130035583 Park et al. Feb 2013 A1
20130060146 Yang et al. Mar 2013 A1
20130060337 Petersheim et al. Mar 2013 A1
20130094742 Feilkas Apr 2013 A1
20130096574 Kang et al. Apr 2013 A1
20130113791 Isaacs et al. May 2013 A1
20130116706 Lee et al. May 2013 A1
20130131695 Scarfogliero et al. May 2013 A1
20130144307 Jeong et al. Jun 2013 A1
20130158542 Manzo et al. Jun 2013 A1
20130165937 Patwardhan Jun 2013 A1
20130178867 Farritor et al. Jul 2013 A1
20130178868 Roh Jul 2013 A1
20130178870 Schena Jul 2013 A1
20130179681 Benson Jul 2013 A1
20130204271 Brisson et al. Aug 2013 A1
20130211419 Jensen Aug 2013 A1
20130211420 Jensen Aug 2013 A1
20130218142 Tuma et al. Aug 2013 A1
20130223702 Holsing et al. Aug 2013 A1
20130225942 Holsing et al. Aug 2013 A1
20130225943 Holsing et al. Aug 2013 A1
20130231556 Holsing et al. Sep 2013 A1
20130237995 Lee et al. Sep 2013 A1
20130245375 DiMaio et al. Sep 2013 A1
20130261640 Kim et al. Oct 2013 A1
20130272488 Bailey et al. Oct 2013 A1
20130272489 Dickman et al. Oct 2013 A1
20130274761 Devengenzo et al. Oct 2013 A1
20130281821 Liu et al. Oct 2013 A1
20130296884 Taylor et al. Nov 2013 A1
20130303887 Holsing et al. Nov 2013 A1
20130305329 Zhang Nov 2013 A1
20130307955 Deitz et al. Nov 2013 A1
20130317521 Choi et al. Nov 2013 A1
20130325033 Schena et al. Dec 2013 A1
20130325035 Hauck et al. Dec 2013 A1
20130331686 Freysinger et al. Dec 2013 A1
20130331858 Devengenzo et al. Dec 2013 A1
20130331861 Yoon Dec 2013 A1
20130342578 Isaacs Dec 2013 A1
20130345717 Markvicka et al. Dec 2013 A1
20130345757 Stad Dec 2013 A1
20140001235 Shelton, IV Jan 2014 A1
20140012131 Heruth et al. Jan 2014 A1
20140031664 Kang et al. Jan 2014 A1
20140046128 Lee et al. Feb 2014 A1
20140046132 Hoeg et al. Feb 2014 A1
20140046340 Wilson et al. Feb 2014 A1
20140049629 Siewerdsen et al. Feb 2014 A1
20140058406 Tsekos Feb 2014 A1
20140073914 Lavallee et al. Mar 2014 A1
20140080086 Chen Mar 2014 A1
20140081128 Verard et al. Mar 2014 A1
20140088612 Bartol et al. Mar 2014 A1
20140094694 Moctezuma de la Barrera Apr 2014 A1
20140094851 Gordon Apr 2014 A1
20140096369 Matsumoto et al. Apr 2014 A1
20140100587 Farritor et al. Apr 2014 A1
20140121676 Kostrzewski et al. May 2014 A1
20140128882 Kwak et al. May 2014 A1
20140135796 Simon et al. May 2014 A1
20140142591 Alvarez et al. May 2014 A1
20140142592 Moon et al. May 2014 A1
20140148692 Hartmann et al. May 2014 A1
20140163581 Devengenzo et al. Jun 2014 A1
20140171781 Stiles Jun 2014 A1
20140171900 Stiles Jun 2014 A1
20140171965 Loh et al. Jun 2014 A1
20140180308 von Grunberg Jun 2014 A1
20140180309 Seeber et al. Jun 2014 A1
20140187915 Yaroshenko et al. Jul 2014 A1
20140188132 Kang Jul 2014 A1
20140194699 Roh et al. Jul 2014 A1
20140130810 Azizian et al. Aug 2014 A1
20140221819 Sarment Aug 2014 A1
20140222023 Kim et al. Aug 2014 A1
20140228631 Kwak et al. Aug 2014 A1
20140234804 Huang et al. Aug 2014 A1
20140257328 Kim et al. Sep 2014 A1
20140257329 Jang et al. Sep 2014 A1
20140257330 Choi et al. Sep 2014 A1
20140275760 Lee et al. Sep 2014 A1
20140275985 Walker et al. Sep 2014 A1
20140276931 Parihar et al. Sep 2014 A1
20140276940 Seo Sep 2014 A1
20140276944 Farritor et al. Sep 2014 A1
20140288413 Hwang et al. Sep 2014 A1
20140299648 Shelton, IV et al. Oct 2014 A1
20140303434 Farritor et al. Oct 2014 A1
20140303643 Ha et al. Oct 2014 A1
20140305995 Shelton, IV et al. Oct 2014 A1
20140309659 Roh et al. Oct 2014 A1
20140316436 Bar et al. Oct 2014 A1
20140323803 Hoffman et al. Oct 2014 A1
20140324070 Min et al. Oct 2014 A1
20140330288 Date et al. Nov 2014 A1
20140364720 Darrow et al. Dec 2014 A1
20140371577 Maillet et al. Dec 2014 A1
20150039034 Frankel et al. Feb 2015 A1
20150085970 Bouhnik et al. Mar 2015 A1
20150134526 Russell May 2015 A1
20150146847 Liu May 2015 A1
20150150524 Yorkston et al. Jun 2015 A1
20150196261 Funk Jul 2015 A1
20150213633 Chang et al. Jul 2015 A1
20150288694 Liebl, III Oct 2015 A1
20150335480 Alvarez et al. Nov 2015 A1
20150342647 Frankel et al. Dec 2015 A1
20160005194 Schretter et al. Jan 2016 A1
20160166329 Langan et al. Jun 2016 A1
20160235480 Scholl et al. Aug 2016 A1
20160249990 Glozman et al. Sep 2016 A1
20160302871 Gregerson et al. Oct 2016 A1
20160320322 Suzuki Nov 2016 A1
20160331335 Gregerson et al. Nov 2016 A1
20170135770 Scholl et al. May 2017 A1
20170143284 Sehnert et al. May 2017 A1
20170143426 Isaacs et al. May 2017 A1
20170156816 Ibrahim Jun 2017 A1
20170202629 Maillet et al. Jul 2017 A1
20170212723 Atarot et al. Jul 2017 A1
20170215825 Johnson et al. Aug 2017 A1
20170215826 Johnson et al. Aug 2017 A1
20170215827 Johnson et al. Aug 2017 A1
20170231710 Scholl et al. Aug 2017 A1
20170258426 Risher-Kelly et al. Sep 2017 A1
20170273748 Hourtash et al. Sep 2017 A1
20170296277 Hourtash et al. Oct 2017 A1
20170360493 Zucher et al. Dec 2017 A1
20180034802 Shelton Feb 2018 A1
20180285549 Sonkar Oct 2018 A1
20190289017 Agarwal Sep 2019 A1
20200295940 Benson Sep 2020 A1
Non-Patent Literature Citations (1)
Entry
US 8,231,638 B2, 07/2012, Swarup et al. (withdrawn)
Related Publications (1)
Number Date Country
20230107843 A1 Apr 2023 US