System and method for authorizing financial transactions with online merchants

Information

  • Patent Grant
  • 10803692
  • Patent Number
    10,803,692
  • Date Filed
    Wednesday, May 30, 2018
    6 years ago
  • Date Issued
    Tuesday, October 13, 2020
    4 years ago
Abstract
A system for authorizing a financial transaction of a financial presentation device such as a credit or debit card being presented from a customer to an online merchant. The system includes a peripheral device having a processor configured to generate a dynamic verification value for the card which changes for each financial transaction, and to transmit the dynamic verification value to a user computer via an I/O interface during an online transaction. The system also includes an authentication computer having a memory for storing information used to generate a comparison verification value, a communication device for receiving the dynamic verification value originating from the peripheral device, a processor and an authentication module executable by the processor adapted to generate the comparison verification value using information stored in memory. The authentication computer determines whether to authorize the financial transaction based on whether the comparison verification value matches the received dynamic verification value.
Description
FIELD OF THE INVENTION

The present invention relates to data processing, and more particularly relates to a system and method for authorizing financial transactions of online merchants.


BACKGROUND OF THE INVENTION

The ability to conduct financial and commercial transactions online via the World Wide Web has proven to be a great convenience and a boost to economic activity. Since payments to online merchants generally cannot be done with cash or checks, most online merchants accept payments from their customers via payment accounts such as credit or debit card accounts. However, when using such payment accounts in online transactions, there is an associated risk of counterfeit and fraud because such payment account information can be discovered and pirated by unauthorized parties. For example, if a customer uses a financial presentation device such as a credit card or debit card to make a purchase online, the name of the customer, the credit card number and expiration date, and other sensitive information is entered through the online merchant's web page and passed electronically through a communication channel that may be compromised.


One way to prevent the unauthorized third party use of a financial presentation device is to require the use of dynamic verification data each time a transaction takes place. Dynamic verification data is data that is uniquely associated with a specific financial presentation device, wherein the verification data dynamically changes from transaction to transaction. Therefore, even if a third party was able to steal the account information including the verification data used during a transaction, such information would be insufficient for subsequent unauthorized transactions because they would require different verification data.


Commonly assigned U.S. patent application Ser. No. 12/032,095 entitled “DYNAMIC PAYMENT DEVICE CHARACTERISTICS”, which is incorporated by reference herein, describes a system and method in which a credit card is embedded with a display and a processor that is adapted to generate a number shown on the display. This number is dynamically generated for each transaction and can be used as a card verification value (CVV). Accordingly, this dynamically generated CVV can be entered as verification data (e.g., via a keyboard) onto a web page provided by a merchant web site during check out.


However, it has been found that providing a financial presentation device with a processor and display is not cost-effective and requires a significant change in the manufacturing process of financial presentation devices. It would be desirable to find an equally secure, convenient and cost-effective system and method for generating dynamic verification data for financial presentation devices.


SUMMARY OF THE DISCLOSURE

The present invention provides a system for authorizing a financial transaction of a financial presentation device that is presentable to online merchants. The system comprises a peripheral device that includes: 1) a memory for storing information used to generate a dynamic verification value for the financial presentation device, 2) an I/O interface adapted to be coupled to a user computer; and 3) a processor configured to generate a dynamic verification value for the financial transaction using the information stored in memory and to transmit the dynamic verification value to the user computer via the I/O interface. The system also comprises an authentication computer that includes: 1) a memory for storing information used to generate a comparison verification value, 2) a communication device adapted to receive the dynamic verification value generated by the peripheral device, 3) a processor coupled to the memory and the communication device, and 4) an authentication module executable by the processor and adapted to generate the comparison verification value using the information stored in memory and to determine whether to authorize the financial transaction based on a comparison between the comparison verification value and the dynamic verification value.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of a system for dynamically authenticating a financial presentation device presentable to merchants according to an embodiment of the present invention.



FIG. 2 is a block diagram of an exemplary peripheral device for generating dynamic verification values according to an embodiment of the present invention.



FIG. 3 shows a portion of a table of preset dynamic verification values for a financial presentation device according to an embodiment of the present invention.



FIG. 4 is a block diagram of an exemplary computer implemented by an authorizing entity that performs authentication of dynamic verification values according to an embodiment of the present invention.



FIG. 5 is a flow chart of a method of dynamically authorizing a financial transaction of a financial presentation device that is presentable to merchants according to the present invention.





DETAILED DESCRIPTION OF THE INVENTION

For purposes of illustration and clarity, the present invention will be discussed in the context of using a credit card. However, persons of ordinary skill in the art will appreciate that the novel features disclosed herein apply to all types of portable financial presentation devices including, but not limited to, credit cards, debit cards, prepaid cards, electronic benefit cards, charge cards, smart cards, virtual cards, key chain devices, personal digital assistants, cell phones, stored value devices or the like so long as the device can be presented to a seller of goods or services for payment.


According to the present invention, an electronic peripheral device having an I/O interface for insertion into a port of a computer, such as a universal serial bus (USB) connector, is adapted to store either a series of verification values (e.g., a table of values) or an algorithm that dynamically generates verification values for authorizing a financial presentation device, such as a credit or debit card. During an online transaction, the peripheral device may be used by a customer during checkout to verify that the financial presentation device is being presented by an authorized user. When a customer enters information onto a web form of an online merchant site via a browser program, the peripheral device can generate the dynamic verification data associated with the customer's financial presentation device account and deliver the verification data to the browser program, i.e., by automatically filling in data into a web form of the online merchant site during checkout. During authorization of the transaction, a financial transaction facilitator, such as VISANET™, or the issuer of the financial presentation device, receives the dynamic verification value and compares the verification value against a comparison verification value. The comparison verification value is generated using a series of data that corresponds to the series of dynamic verification values stored in the peripheral device, or by using an algorithm that corresponds to an algorithm stored on the peripheral device. When the dynamic verification value and the comparison verification value match, the customer's financial presentation device is authenticated and the financial transaction facilitator or issuer authorizes the online transaction.



FIG. 1 illustrates a block diagram of an exemplary system 100 for dynamically authenticating a financial presentation device according to an embodiment of the present invention. A customer computer 102 is coupled to a merchant server computer 104 that hosts an online merchant site over a public network 106 such as the Internet. Computer 102 includes, among other components, an input device such as a keyboard 108, one or more universal serial bus (USB) ports 110, and a display 112. Computer 102 executes a browser program for viewing HTML, XML documents on display 112. Computer 102 also includes an operating system (not shown) having commonly included device drivers including a HID (Human Interface Device) class driver and related specific device drivers.


The online merchant web site hosted by server 104 may display details of goods and services which the customer may select to purchase. The merchant web site will typically include a payment details screen (not shown) during “checkout” into which the customer may enter payment details via an input device 108 coupled to computer 102. The customer typically enters name, address and payment instrument information such as the account number and expiration date of a financial presentation device in the payment details screen.


According to the present invention, a peripheral device 114, which in some embodiments may be a USB peripheral device, is insertable into USB port 110 of computer 102 during checkout. The peripheral device 114 is initially configured by a financial presentation device authorizing entity 116 such as VISANET™ or the issuer of the financial presentation device. The peripheral device 114 includes functionality to generate a dynamic verification value (such as a three-digit number) based on stored values and/or an algorithm, and to emulate a keyboard so as to automatically input the generated dynamic verification value into an appropriate field of the payment details screen during checkout. As discussed below, computer 102 includes software (possibly downloaded as an applet from the merchant server 104) which is adapted to monitor for the presence of peripheral device 114 and includes a driver for converting signals received from the peripheral device into keyboard input information.


More specifically, peripheral device 114 is configured to include dynamic verification data that uniquely corresponds with a particular financial presentation device before the financial presentation device is assigned to a particular customer. The peripheral device 114 is then given to the customer along with the financial presentation device when it is issued. The peripheral device 114 is then used by the customer when performing online transactions with the financial presentation device to generate dynamic verification values, as described below. The authorizing entity 116 accordingly stores comparison verification values and/or algorithms corresponding to those stored on peripheral device 114, so that the values generated by peripheral device 114 can be verified by the authorizing entity 116. After verifying that the value generated by the peripheral device 114 matches the value stored by the authorizing entity 116, the associated financial presentation device is authorized by the authorizing entity 116 for that particular transaction.


After the customer has entered all of the requested information including the dynamic verification value into the payment details screen during checkout, the information is transmitted to server 104, which in turn sends the payment information to authorizing entity 116 over a secure private network 118. As discussed above, the authorizing entity 116 may be a financial transaction facilitator, such as VISANET™, which determines whether the dynamic verification value received from server 104 has been generated by an authorized peripheral device 114.



FIG. 2 is a block diagram of an exemplary peripheral device 114 for generating dynamic verification values according to an embodiment of the present invention. Peripheral device 114 includes a processor 202, which may be an inexpensive microprocessor chip or wired logic, and non-volatile memory 204 such as flash memory coupled to processor 202. Processor 202 is coupled to a I/O connector 206 via a switch 208, which may be manually activated by the customer through an activation mechanism 210 such as a button. Connector 206 is preferably a standard USB connector, which is generally available on any personal computer. In one embodiment, peripheral device 114 does not include a power source of its own and only receives power when connected to computer 102 via connector 206. Once the peripheral device 114 is connected to computer 102, the customer may then power on or off the peripheral device 114 by activating or deactivating switch 208, which allows or prevents power from reaching processor 202 from connector 206. In another embodiment, the peripheral device 114 is always powered on whenever it is connected to computer 102.


In some embodiments, memory 204 of peripheral device 114 stores a keyboard emulation module 212 and in one embodiment, stores a table 214 of financial presentation device verification values (see FIG. 3). Keyboard emulation module 212 is adapted to output signals that a HID (Human Input Device) class driver (not shown) of the operating system of computer 102 recognizes as signals outputted from a standard keyboard device. The HID class driver causes the data to be delivered to a keyboard driver of the operating system of computer 102. In this manner, the peripheral device 114 may mimic the operation of a numerical keypad on a standard keyboard. Alternatively, the checkout webpage of the merchant server 104 may download an applet into the user computer 102 such that it requests and receives the dynamic verification value from the peripheral device 114, and automatically fills in the corresponding input field of the checkout page.


In an exemplary embodiment, memory 204 of peripheral device 114 stores a table 214 which includes a number (e.g., between 10 and 1000) of preset 3-digit dynamic verification values, which are indexed by a transaction number. In other embodiments the dynamic verification values can be 4-digit, 5-digit, or any other number of digits. FIG. 3 illustrates a portion of a table 214 according to one example, including the dynamic verification values which correspond to the first thirty-six (36) transaction numbers. The keyboard emulation module 212 keeps track of the last transaction number that was used to generate the dynamic verification value and is adapted to extract the dynamic verification values from table 214 in sequence, preferably starting with the value associated with transaction number 1. The keyboard emulation module 212 then moves consecutively to the next transaction dynamic verification value for each new transaction or each time the processor is powered on via switch 208. Upon extracting a dynamic verification value, the keyboard emulation module 212 converts the value into signals that the keyboard driver of computer 102 will recognize as signals generated by entering the corresponding numbers using a keyboard.


In alternative embodiments, memory 204 may store an algorithm or value generation module 216 which generates a new dynamic verification value upon activation based on certain stored kernel information such as the account number of the financial presentation device. Exemplary algorithms that may be used to generate dynamic verification values are discussed below and in commonly-assigned U.S. patent application Ser. No. 10/642,878 entitled “Method and System for Generating a Dynamic Verification Value”. In these embodiments, the keyboard emulation module 212 receives the newly generated dynamic verification value from value generation module 216 and formats the value in the form of keyboard output signals accordingly.


Two example algorithms that may be used to generate dynamic verification values are counter-based and time-based algorithms, both of which use variable data together with customer account information to generate dynamic verification values.


In a counter-based algorithm a transaction counter stored in the peripheral device increments with each transaction. In one example algorithm, a string is constructed by replacing certain digits of the customer's financial presentation device account number with the transaction counter to create an ‘altered account number’. In a second step, the altered account number is concatenated with the expiration date of the account and with other specified digits. The concatenated result is placed into a 128-bit field, and then spit into two blocks, block A and block B. Block A is then encrypted using an encryption key, and the encrypted result (block C) is put through an exclusive OR operation with block B. Resulting block D is then encrypted with the encryption key. After further encryptions, hexadecimal digits are converted into decimal, the blocks are concatenated, and three digits are selected from the concatenated result as the dynamic verification value.


In an example time-based algorithm, the process may be similar, with a time-based number (based on a known time window) used instead of a transaction counter to create the altered account number.


According to these algorithms, even if an unauthorized party was able to obtain financial presentation device account number and expiration date information, there would be no way for the unauthorized party to precisely determine the dynamic verification value without the variable data of a transaction counter or time-based number. Moreover, if an unauthorized party uses a number generating algorithm to continually guess at the dynamic verification value, verification may be disallowed after a certain number (e.g., 2 or 3) of unsuccessful attempts.



FIG. 4 is a block diagram of an exemplary computer system 400 which may be implemented by authorizing entity 116 for authenticating financial transactions performed using financial presentation devices. In preferred embodiments of the present invention, computer system 400 is implemented at or operated by a financial transaction facilitator such as VISANET. Computer system 400 includes a communication device 402 which sends/receives information via a communication link (not shown) to customer computers 102 and merchant servers 104 although the signal may pass through multiple networks and computers (see FIG. 1), a processor 404, such as a central processing unit (CPU), and support circuitry 406. The communication device 402, processor 404, and support circuitry 406 are commonly connected to a bus 408 which also connects to a memory 410. Memory 410 includes program storage memory 412 and data storage memory 414.


Program storage memory 412 and data storage memory 414 may each comprise volatile (RAM) and non-volatile (ROM) memory units and may also comprise hard disk and backup storage capacity. Program storage memory 412 stores software program modules and associated data, and in particular stores a verification module 416. Verification module 416 is adapted to receive the dynamic verification value generated by peripheral device 114 and to match the dynamic verification value against a comparison verification value which is obtained from a set of stored values (e.g., in a table) or generated by an algorithm that corresponds to the algorithm used to generate the dynamic verification value by peripheral device 114. Received dynamic verification values may be stored in data storage memory 414 along with other stored cardholder information, a table of stored dynamic verification values, and/or values/parameters such as a transaction counter used for generating comparison verification values dynamically according to an algorithm.


It is to be appreciated that the computer system 400 can be any computer such as a personal computer, minicomputer, workstation, mainframe, or a combination thereof. While the computer system 400 is shown, for illustration purposes, as a single computer unit, the system may comprise a group/farm of computers which can be scaled depending on the processing load and database size.



FIG. 5 illustrates a flow chart of a method for authenticating a financial transaction in which a peripheral device according to the present invention is used to generate dynamic verification values for the financial presentation device. The method begins in step 502. In step 504, a customer at computer 102 selects an item to purchase on an online merchant site, which then generates a payment details screen during checkout. In step 506, after providing whatever information needs to be input manually, if any, the customer moves the cursor to a dynamic verification value (CVV2) field (e.g., input box) in the payment details screen, and in step 508, activates peripheral device 114 to generate a dynamic verification value which will be inputted into the dynamic verification value field.


In one embodiment, the processor 202 retrieves the last used transaction counter/number and increments it by one and retrieves the verification value corresponding to the new transaction number. For example, if the last used transaction number was 15, the retrieved verification value is 967 (corresponding to transaction number 16) according to the table in FIG. 3. The processor 202 then resets the last used transaction number to 16.


Alternatively, an applet downloaded from the merchant server 104 and running inside the user computer 102 may prompt the user to plug the peripheral device 114 into the computer 102. When the user does so, the processor 202 retrieves an appropriate dynamic verification value from the table 214 as described above and transmits it through the usb port.


In step 510, peripheral device 114 generates a signal that encodes the dynamic verification value as keyboard input and sends the encoded value to user computer 102. In step 512, user computer 102 receives the signal from peripheral device 114 and interprets the signal as keyboard input instructions and enters the dynamic verification value into the dynamic verification value field of the payment details screen.


Upon completion of the payment details screen, in step 514, the online merchant server 104 receives transaction data, including the financial presentation device account number and dynamic verification value. In step 515, merchant server 104 provides the financial presentation device information and dynamic verification value to an acquirer (not shown) using conventional financial presentation device authentication procedures. In step 516, the transaction data is then received from the acquirer by an authorizing computer 400 of the authorizing entity 116. Upon receiving the transaction data including the dynamic verification value, in step 518, the verification module being executed by the processor 404 of authorizing computer 400 generates a comparison verification value to compare with the received dynamic verification value. As explained above, the comparison verification value may be generated using a table corresponding to a table of verification values stored on peripheral device 114, or based on an algorithm that corresponds to an algorithm stored on peripheral device 114.


In the case of using the table, like the peripheral device 114, the verification module 416 maintains the same table and the same last used transaction number. The module 416 increments the last used transaction number by one and retrieves the verification value corresponding to the new transaction number. For example, if the last used transaction number was 15, the retrieved verification value is 967 (corresponding to transaction number 16) according to the table in FIG. 3. The verification module 416 then resets the last used transaction number to 16. The module 416 uses the retrieved value as the comparison verification value.


In step 520, verification module 416 determines whether the comparison verification value matches the dynamic verification value received from the online merchant server 104.


If it is determined in step 520 that the comparison verification value matches the dynamic verification value, then, in step 522, verification module 416 authorizes the transaction (assuming of course that all other tests such as credit limit pass) and sends a notification to the merchant server 104 according to conventional procedures. The method then ends in step 530.


If it is determined in step 520 that the comparison verification value does not match the dynamic verification value, then, in step 524, verification module 416 sends a notification to the merchant server 104 that the financial transaction is denied. The method then ends in step 530.


The foregoing specific embodiments represent just some of the ways of practicing the present invention. Many other embodiments are possible within the spirit of the invention. Accordingly, the scope of the invention is not limited to the foregoing specification, but instead is given by the appended claims along with their full range of equivalents.

Claims
  • 1. A method, comprising: maintaining, by an authentication computer, variable data that changes for each of a plurality of financial transactions, the variable data that changes for each of the plurality of financial transactions being a time-based number;receiving, by the authentication computer and from a computing device as part of a financial transaction conducted with a financial presentation device, a dynamic verification value generated uniquely for the financial transaction by a peripheral device distinct from the authentication computer, computing device, and financial presentation device, the peripheral device independently storing a copy of the variable data changes for each of the plurality of financial transactions, wherein the dynamic verification value is generated based at least in part on data from the financial presentation device and the copy of the variable data maintained by the peripheral device, wherein the peripheral device is caused to: receive a request from the computing device for the dynamic verification value, the request including details of the transaction;transmit the dynamic verification value to the computing device; andupdate the copy of the variable data upon transmitting the dynamic verification value to the authentication computer;responsive to receiving the dynamic verification value, generating, by the authentication computer, a comparison verification value, the comparison verification value being based at least in part on data from the financial presentation device and the variable data that changes for each of the plurality of financial transactions;responsive to the generated comparison verification value, updating, by the authentication computer, the variable data such that the variable data changes for each of the plurality of financial transactions;responsive to generating the comparison verification value, comparing, by the authentication computer, the comparison verification value with the dynamic verification value; anddetermining, by the authentication computer, whether to authorize the financial transaction based at least in part on the comparison between the comparison verification value and the dynamic verification value.
  • 2. A method in accordance with claim 1, wherein the peripheral device comprises a USB device connectable to the computing device with a USB port.
  • 3. A method in accordance with claim 1, wherein the peripheral device corresponds uniquely to the financial presentation device.
  • 4. An authentication computer system configured to, at least: maintain variable data that changes for each of a plurality of financial transactions, the variable data that changes for each of the plurality of financial transactions being a time-based number;receive, from a computing device as part of a financial transaction conducted with a financial presentation device, a dynamic verification value generated uniquely for the financial transaction by a peripheral device distinct from the authentication computer system, computing device, and financial presentation device, the peripheral device independently storing a copy of the variable data changes for each of the plurality of financial transactions, wherein the dynamic verification value is generated based at least in part on data from the financial presentation device and the copy of the variable data maintained by the peripheral device, wherein the peripheral device is caused to: receive a request from the computing device for the dynamic verification value, the request including details of the transaction;transmit the dynamic verification value to the computing device; andupdate the copy of the variable data upon transmitting the dynamic verification value to the authentication computer;responsive to receiving the dynamic verification value, generate a comparison verification value, the comparison verification value being based at least in part on data from the financial presentation device and the variable data that changes for each of the plurality of financial transactions;responsive to the generated comparison verification value, update the variable data such that the variable data changes for each of the plurality of financial transactions;responsive to generating the comparison verification value, compare the comparison verification value with the dynamic verification value; anddetermine whether to authorize the financial transaction based at least in part on the comparison between the comparison verification value and the dynamic verification value.
  • 5. One or more non-transitory computer-readable media collectively storing thereon computer-executable instructions that, when executed with one or more computers, at least: maintain variable data that changes for each of a plurality of financial transactions, the variable data that changes for each of the plurality of financial transactions being a time-based number;receive, from a computing device as part of a financial transaction conducted with a financial presentation device, a dynamic verification value generated uniquely for the financial transaction by a peripheral device distinct from the one or more computers, computing device, and financial presentation device, the peripheral device independently storing a copy of the variable data changes for each of the plurality of financial transactions, wherein the dynamic verification value is generated based at least in part on data from the financial presentation device and the copy of the variable data maintained by the peripheral device, wherein the peripheral device is caused to: receive a request from the computing device for the dynamic verification value, the request including details of the transaction;transmit the dynamic verification value to the computing device; andupdate the copy of the variable data upon transmitting the dynamic verification value to the one or more computers;responsive to receiving the dynamic verification value, generate a comparison verification value, the comparison verification value being based at least in part on data from the financial presentation device and the variable data that changes for each of the plurality of financial transactions;responsive to the generated comparison verification value, update the variable data such that the variable data changes for each of the plurality of financial transactions;responsive to generating the comparison verification value, compare the comparison verification value with the dynamic verification value; anddetermine whether to authorize the financial transaction based at least in part on the comparison between the comparison verification value and the dynamic verification value.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional continuation application of and claims the benefit of and priority to U.S. patent application Ser. No. 12/483,419, entitled, “SYSTEM AND METHOD FOR AUTHORIZING FINANCIAL TRANSACTIONS WITH ONLINE MERCHANTS,” filed Jun. 12, 2009, which claims the benefit of priority under 35 U.S.C. Section 119(e) to U.S. Provisional Application Ser. No. 61/061,936, filed Jun. 16, 2008, entitled, “METHOD AND SYSTEM OF AUTHENTICATING A FINANCIAL PRESENTATION DEVICE USING A TOKEN,” which are fully incorporated by reference herein.

US Referenced Citations (236)
Number Name Date Kind
4423287 Zeidler Dec 1983 A
4578530 Zeidler Mar 1986 A
4646351 Asbo et al. Feb 1987 A
4701601 Francini et al. Oct 1987 A
4734564 Boston et al. Mar 1988 A
4812628 Boston et al. Mar 1989 A
4822985 Boggan et al. Apr 1989 A
4870259 Boggan et al. Sep 1989 A
4906826 Spencer Mar 1990 A
4908521 Boggan et al. Mar 1990 A
4943707 Boggan Jul 1990 A
5276311 Hennige Jan 1994 A
5396624 Campbell, Jr. Mar 1995 A
5450491 McNair Sep 1995 A
5450537 Hirai et al. Sep 1995 A
5465206 Hilt et al. Nov 1995 A
5477038 Levine et al. Dec 1995 A
5500512 Langhans et al. Mar 1996 A
5500513 Langhans et al. Mar 1996 A
5621201 Langhans et al. Apr 1997 A
5623552 Lane Apr 1997 A
5627355 Rahman May 1997 A
5640577 Scharmer Jun 1997 A
5703344 Bezy et al. Dec 1997 A
5742845 Wagner Apr 1998 A
5771101 Bramall Jun 1998 A
5794259 Kikinis Aug 1998 A
5883810 Franklin et al. Mar 1999 A
5920847 Kolling et al. Jul 1999 A
5963925 Kolling et al. Oct 1999 A
5974430 Mutschler, III et al. Oct 1999 A
RE36365 Levine et al. Nov 1999 E
6000832 Franklin et al. Dec 1999 A
6003014 Lee et al. Dec 1999 A
6003763 Gallagher et al. Dec 1999 A
6005942 Chan et al. Dec 1999 A
6018717 Lee et al. Jan 2000 A
6019284 Freeman et al. Feb 2000 A
6044349 Tolopka et al. Mar 2000 A
6067621 Yu et al. May 2000 A
RE37122 Levine et al. Apr 2001 E
6227447 Campisano May 2001 B1
6233683 Chan et al. May 2001 B1
6247129 Keathley et al. Jun 2001 B1
6263446 Kausik et al. Jul 2001 B1
6282522 Davis et al. Aug 2001 B1
6285991 Powar Sep 2001 B1
6298336 Davis et al. Oct 2001 B1
6341724 Campisano Jan 2002 B2
6367011 Lee et al. Apr 2002 B1
6385595 Kolling et al. May 2002 B1
6408284 Hilt et al. Jun 2002 B1
6421729 Paltenghe et al. Jul 2002 B1
6438527 Powar Aug 2002 B1
6481632 Wentker et al. Nov 2002 B2
6490601 Markus et al. Dec 2002 B1
6499042 Markus Dec 2002 B1
6560581 Fox et al. May 2003 B1
6571339 Danneels et al. May 2003 B1
RE38255 Levine et al. Sep 2003 E
6808111 Kashef et al. Oct 2004 B2
6850996 Wagner Feb 2005 B2
6873974 Schutzer Mar 2005 B1
6907476 Wagner Jun 2005 B2
6925562 Gulcu Aug 2005 B2
6980970 Krueger et al. Dec 2005 B2
6985583 Brainard Jan 2006 B1
7007840 Davis Mar 2006 B2
7028008 Powar Apr 2006 B2
7039611 Devine May 2006 B2
7051929 Li May 2006 B2
7062706 Maxwell et al. Jun 2006 B2
7096363 Kon Aug 2006 B2
7099850 Mann, II et al. Aug 2006 B1
7103576 Mann, III et al. Sep 2006 B2
7159180 Ward Jan 2007 B2
7177848 Hogan et al. Feb 2007 B2
7210169 Smith et al. Apr 2007 B2
7216292 Snapper et al. May 2007 B1
7227950 Faith et al. Jun 2007 B2
7231045 Parrott Jun 2007 B1
7243853 Levy et al. Jul 2007 B1
7247033 Skowranek Jul 2007 B2
7254569 Goodman et al. Aug 2007 B2
7257581 Steele et al. Aug 2007 B1
7275263 Bajikar et al. Sep 2007 B2
7280981 Huang et al. Oct 2007 B2
7328850 Sines Feb 2008 B2
7334184 Simons Feb 2008 B1
7343351 Bishop et al. Mar 2008 B1
7346587 Goldstein et al. Mar 2008 B2
7347361 Lovett Mar 2008 B2
7350139 Simons Mar 2008 B1
7356516 Richey et al. Apr 2008 B2
7356706 Scheurich Apr 2008 B2
7366703 Gray et al. Apr 2008 B2
7379919 Hogan et al. May 2008 B2
7412420 Holdsworth Aug 2008 B2
7415443 Hobson et al. Aug 2008 B2
7427033 Roskind Sep 2008 B1
7437575 Dennis et al. Oct 2008 B2
7437757 Holdsworth Oct 2008 B2
7483845 Vetelainen Jan 2009 B2
7506818 Beenau Mar 2009 B2
7512975 Aissi Mar 2009 B2
7533063 Kianian May 2009 B2
7533828 Ong May 2009 B2
7568631 Gibbs et al. Aug 2009 B2
7584153 Brown Sep 2009 B2
7593875 Granite Sep 2009 B2
7627531 Breck et al. Dec 2009 B2
7660779 Goodman et al. Feb 2010 B2
7664699 Powell Feb 2010 B1
7689459 Capurso et al. Mar 2010 B2
7693790 Lawlor Apr 2010 B2
7716596 Cao et al. May 2010 B2
7740168 Hammad Jun 2010 B2
7761374 Sahota Jul 2010 B2
7849014 Erikson Dec 2010 B2
7866551 Manessis et al. Jan 2011 B2
7891560 Hammad Feb 2011 B2
7899753 Everhart Mar 2011 B1
7922082 Muscato Apr 2011 B2
8313022 Hammad et al. Nov 2012 B2
8313822 Hatakenaka Nov 2012 B2
8326759 Hammad Dec 2012 B2
8359630 Manessis Jan 2013 B2
8364594 Hammad Jan 2013 B2
8423415 Sahota Apr 2013 B2
8504451 Faith Aug 2013 B2
8534564 Hammad Sep 2013 B2
8602293 Hammad Dec 2013 B2
8931691 Manessis et al. Jan 2015 B2
9251637 Ashfield Feb 2016 B2
10008067 Manessis Jun 2018 B2
20010032182 Kumar et al. Oct 2001 A1
20010054148 Hoornaert et al. Dec 2001 A1
20020111919 Weller et al. Aug 2002 A1
20020116330 Hed Aug 2002 A1
20020153424 Li Oct 2002 A1
20020158747 McGregor Oct 2002 A1
20020161704 Powar Oct 2002 A1
20020178112 Goeller et al. Nov 2002 A1
20020180584 McGregor Dec 2002 A1
20020194138 Dominguez et al. Dec 2002 A1
20020194503 Faith et al. Dec 2002 A1
20030105964 Brainard Jun 2003 A1
20030115142 Brickell et al. Jun 2003 A1
20030120593 Bansal et al. Jun 2003 A1
20030182241 Everhart Sep 2003 A1
20030195843 Matsuda et al. Oct 2003 A1
20030200184 Dominguez et al. Oct 2003 A1
20030212642 Weller et al. Nov 2003 A1
20030233292 Richey et al. Dec 2003 A1
20040044621 Huang et al. Mar 2004 A1
20040059688 Dominguez et al. Mar 2004 A1
20040210566 Smith et al. Oct 2004 A1
20040220964 Shiftan et al. Nov 2004 A1
20040230489 Goldthwaite Nov 2004 A1
20050015588 Lin Jan 2005 A1
20050029344 Davis Feb 2005 A1
20050036611 Seaton, Jr. et al. Feb 2005 A1
20050043997 Sahota Feb 2005 A1
20050077349 Bonalle Apr 2005 A1
20050102234 Devine May 2005 A1
20050149455 Bruesewitz et al. Jul 2005 A1
20050154877 Trench Jul 2005 A1
20050171898 Bishop Aug 2005 A1
20050177510 Hilt et al. Aug 2005 A1
20050246278 Gerber et al. Nov 2005 A1
20050250473 Brown Nov 2005 A1
20050269402 Spitzer Dec 2005 A1
20060006224 Modi Jan 2006 A1
20060049263 Ou et al. Mar 2006 A1
20060131393 Cok et al. Jun 2006 A1
20060152484 Rolus Borgward Jul 2006 A1
20060161789 Doughty et al. Jul 2006 A1
20060167784 Hoffberg Jul 2006 A1
20060179007 Davis Aug 2006 A1
20060218098 Walker et al. Sep 2006 A1
20060237528 Bishop Oct 2006 A1
20060278698 Lovett Dec 2006 A1
20070005613 Singh et al. Jan 2007 A1
20070005774 Singh et al. Jan 2007 A1
20070055597 Patel et al. Mar 2007 A1
20070055630 Gauthier et al. Mar 2007 A1
20070100691 Patterson May 2007 A1
20070136211 Brown Jun 2007 A1
20070143605 Metke et al. Jun 2007 A1
20070208671 Brown et al. Sep 2007 A1
20070241183 Brown Oct 2007 A1
20070278291 Rans Dec 2007 A1
20080029593 Hammad Feb 2008 A1
20080029607 Mullen Feb 2008 A1
20080034221 Hammad et al. Feb 2008 A1
20080040285 Wankmueller Feb 2008 A1
20080071680 Sheets Mar 2008 A1
20080071682 Dominguez Mar 2008 A1
20080091619 Perlman et al. Apr 2008 A1
20080110983 Ashfield May 2008 A1
20080120236 Faith May 2008 A1
20080167991 Carlson et al. Jul 2008 A1
20080177796 Eldering Jul 2008 A1
20080197201 Manessis et al. Aug 2008 A1
20080203151 Dixon et al. Aug 2008 A1
20080203152 Hammad et al. Aug 2008 A1
20080203170 Hammad et al. Aug 2008 A1
20080228653 Holdsworth Sep 2008 A1
20080289022 Chiu Nov 2008 A1
20080306850 Horvath Dec 2008 A1
20090006646 Duarte Jan 2009 A1
20090031407 Kuang Jan 2009 A1
20090055893 Manessis Feb 2009 A1
20090065571 Jain Mar 2009 A1
20090134218 Yuzon May 2009 A1
20090144556 Plet et al. Jun 2009 A1
20090173782 Muscato Jul 2009 A1
20090248579 Kaminski Oct 2009 A1
20090307493 Smith Dec 2009 A1
20090313168 Manessis Dec 2009 A1
20100023453 Keresman, III et al. Jan 2010 A1
20100084476 Zellner et al. Apr 2010 A1
20100114776 Weller et al. May 2010 A1
20100223184 Perlman Sep 2010 A1
20100257102 Perlman Oct 2010 A1
20100274692 Hammad Oct 2010 A1
20100274721 Hammad Oct 2010 A1
20100293189 Hammad Nov 2010 A1
20100293382 Hammad Nov 2010 A1
20100306105 Walker et al. Dec 2010 A1
20110101093 Ehrensvard May 2011 A1
20110106601 Perlman et al. May 2011 A1
20110106674 Perlman et al. May 2011 A1
20110106675 Perlman May 2011 A1
20110119155 Hammad et al. May 2011 A1
20110186626 Manessis et al. Aug 2011 A1
Foreign Referenced Citations (2)
Number Date Country
19990078937 Nov 1999 KR
20050089427 Sep 2005 KR
Non-Patent Literature Citations (34)
Entry
U.S. Appl. No. 12/032,495 , “Final Office Action”, dated Feb. 4, 2010, 11 pages.
U.S. Appl. No. 12/032,495 , “Non-Final Office Action”, dated Jun. 10, 2010, 8 pages.
U.S. Appl. No. 12/032,495 , “Non-Final Office Action”, dated Jun. 26, 2009, 9 pages.
U.S. Appl. No. 12/032,495 , “Notice of Allowance”, dated Sep. 2, 2010, 7 pages.
U.S. Appl. No. 12/483,419 , “Final Office Action”, dated May 8, 2012, 12 pages.
U.S. Appl. No. 12/483,419 , “Final Office Action”, dated Nov. 13, 2015, 41 pages.
U.S. Appl. No. 12/483,419 , “Final Office Action”, dated Jun. 8, 2017, 52 pages.
U.S. Appl. No. 12/483,419 , “Final Office Action”, dated Apr. 24, 2013, 9 pages.
U.S. Appl. No. 12/483,419 , “Non Final Office Action”, dated Sep. 11, 2014, 11 pages.
U.S. Appl. No. 12/483,419 , “Non-Final Office Action”, dated May 29, 2014, 11 pages.
U.S. Appl. No. 12/483,419 , “Non-Final Office action”, dated Oct. 4, 2011, 13 pages.
U.S. Appl. No. 12/483,419 , “Non-Final Office Action”, dated May 7, 2015, 28 pages.
U.S. Appl. No. 12/483,419 , “Non-Final Office Action”, dated Dec. 6, 2016, 54 pages.
U.S. Appl. No. 12/483,419 , “Non-Final Office Action”, dated Oct. 18, 2012, 9 pages.
U.S. Appl. No. 12/483,419 , “Notice of Allowance”, dated Feb. 22, 2018, 22 pages.
“U.S. Appl. No. 12/778,446”, filed May 12, 2010, 56 pages.
“U.S. Appl. No. 12/778,459”, filed May 12, 2010, 58 pages.
“U.S. Appl. No. 12/778,485”, filed May 12, 2010, 60 pages.
“U.S. Appl. No. 12/939,963”, filed Nov. 4, 2010, 115 pages.
U.S. Appl. No. 12/958,191 , “Final Office Action”, dated Oct. 26, 2012, 17 pages.
U.S. Appl. No. 12/958,191 , “Non-Final Office Action”, dated Jun. 28, 2011, 11 pages.
U.S. Appl. No. 12/958,191 , “Non-Final Office Action”, dated Feb. 17, 2012, 15 pages.
U.S. Appl. No. 12/958,191 , “Non-Final Office Action”, dated Jan. 14, 2014, 17 pages.
U.S. Appl. No. 12/958,191 , “Notice of Allowance”, dated Sep. 15, 2014, 8 pages.
“U.S. Appl. No. 61/061,936”, filed Jun. 16, 2008, 14 pages.
“U.S. Appl. No. 61/112,124”, filed Nov. 6, 2008, 11 pages.
“U.S. Appl. No. 61/178,636”, filed May 15, 2009, 33 pages.
“U.S. Appl. No. 61/256,095”, filed Oct. 29, 2009, 40 pages.
“U.S. Appl. No. 61/256,136”, filed Oct. 29, 2009, 64 pages.
“U.S. Appl. No. 61/256,141”, filed Oct. 29, 2009, 38 pages.
“U.S. Appl. No. 61/256,143”, filed Oct. 29, 2009, 29 pages.
“U.S. Appl. No. 61/256,147”, filed Oct. 29, 2009, 41 pages.
“U.S. Appl. No. 61/258,194”, filed Nov. 4, 2009, 59 pages.
PCT/US2009/047119 , “International Search Report and Written Opinion”, dated Aug. 7, 2009, 9 pages.
Related Publications (1)
Number Date Country
20180276936 A1 Sep 2018 US
Provisional Applications (1)
Number Date Country
61061936 Jun 2008 US
Continuations (1)
Number Date Country
Parent 12483419 Jun 2009 US
Child 15993196 US