Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
NUMERICAL VALUE TRANSFERRING METHOD, TERMINAL, SERVER, AND SYSTEM
Document Type and Number:
WIPO Patent Application WO/2015/103886
Kind Code:
A1
Abstract:
A portable electronic device for generating a graphic code for an offline transaction is described. The portable electronic device includes display, one or more processors, and memory storing one or more programs. The portable electronic device receives a request to make an offline payment, and generates a graphic code using an encrypted key that corresponds to an account number of a user of the portable electronic device. The graphic code stores information identifying the encrypted key. The portable electronic device displays the graphic code for visually transmitting the graphic code to a payee device that is distinct and separate from the portable electronic device. A corresponding method and a computer readable storage medium storing one or more programs for execution by the portable electronic device are also described.

Inventors:
XU JIAJIE (CN)
ZHUO DACHENG (CN)
LI DEYUAN (CN)
XU ZHENYU (CN)
MAO WEI (CN)
Application Number:
PCT/CN2014/085395
Publication Date:
July 16, 2015
Filing Date:
August 28, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TENCENT TECH SHENZHEN CO LTD (CN)
International Classes:
H04L29/06
Foreign References:
CN103716331A2014-04-09
US8177125B12012-05-15
CN103269328A2013-08-28
CN101299286A2008-11-05
CN102449651A2012-05-09
CN101025806A2007-08-29
CN1722163A2006-01-18
Attorney, Agent or Firm:
ADVANCE CHINA IP LAW OFFICE (No. 85 Huacheng Avenue Tianhe Distric, Guangzhou Guangdong 3, CN)
Download PDF:
Claims:
Claims

1. A method for generating a graphic code for an offline transaction, performed by a portable electronic device with display, memory and one or more processors, the method comprising:

receiving a request to make an offline payment;

generating a graphic code using an encrypted key that corresponds to an account number of a user of the portable electronic device, the graphic code storing information identifying the encrypted key; and

displaying the graphic code for visually transmitting the graphic code to a payee device that is distinct and separate from the portable electronic device.

2. The method of claim 1, further comprising:

prior to generating the graphic code, sending a request for the encrypted key to a server that is located remotely from the portable electronic device; and,

in response to sending the request, receiving the encrypted key from the server.

3. The method of claim 2, wherein sending the request for the encrypted key includes sending to the server the account number of the user of the portable electronic device.

4. The method of claim 1, wherein the graphic code is generated in response to receiving the request to make the offline payment.

5. The method of claim 1, wherein the graphic code does not include the account number of the user.

6. The method of claim 1, further comprising:

prior to receiving the request to make an offline payment, displaying a payment user interface, wherein the request to make an offline payment is received while displaying the payment user interface.

7. The method of claim 1, wherein the payee device is a vending machine.

8. A portable electronic device for generating a graphic code for an offline transaction, comprising:

display;

one or more processors; and

memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:

receiving a request to make an offline payment; generating a graphic code using an encrypted key that corresponds to an account number of a user of the portable electronic device, the graphic code storing information identifying the encrypted key; and

displaying the graphic code for visually transmitting the graphic code to a payee device that is distinct and separate from the portable electronic device.

9. The device of claim 8, wherein the one or more programs include instructions for:

prior to generating the graphic code, sending a request for the encrypted key to a server that is located remotely from the portable electronic device; and,

in response to sending the request, receiving the encrypted key from the server.

10. The device of claim 9, wherein sending the request for the encrypted key includes sending the account number of the user of the portable electronic device to the server.

11. The device of claim 8, wherein the graphic code is generated in response to receiving the request to make the offline payment.

12. The device of claim 8, wherein the graphic code does not include the account number of the user.

13. The device of claim 8, wherein the one or more programs include instructions for:

prior to receiving the request to make an offline payment, displaying a payment user interface, wherein the request to make an offline payment is received while displaying the payment user interface.

14. The device of claim 8, wherein the payee device is a vending machine.

15. A non-transitory computer readable storage medium storing one or more programs for execution by one or more processors of a portable electronic device, the one or more programs including instructions for:

receiving a request to make an offline payment;

generating a graphic code using an encrypted key that corresponds to an account number of a user of the portable electronic device, the graphic code storing information identifying the encrypted key; and

displaying the graphic code for visually transmitting the graphic code to a payee device that is distinct and separate from the portable electronic device.

16. The computer readable storage medium of claim 15, wherein the one or more programs include instructions for:

prior to generating the graphic code, sending a request for the encrypted key to a server that is located remotely from the portable electronic device; and,

in response to sending the request, receiving the encrypted key from the server.

17. The computer readable storage medium of claim 16, wherein sending the request for the encrypted key includes sending the account number of the user of the portable electronic device to the server.

18. The computer readable storage medium of claim 15, wherein the graphic code is generated in response to receiving the request to make the offline payment.

19. The computer readable storage medium of claim 15, wherein the graphic code does not include the account number of the user.

20. The computer readable storage medium of claim 15, wherein the one or more programs include instructions for:

prior to receiving the request to make an offline payment, displaying a payment user interface, wherein the request to make an offline payment is received while displaying the payment user interface.

Description:
NUMERICAL VALUE TRANSFERRING METHOD, TERMINAL, SERVER,

AND SYSTEM

RELATED APPLICATIONS

[0001] This application claims priority to Chinese Patent Application Serial No.

201410006929.5, entitled "NUMERICAL VALUE TRANSFERRING METHOD, TERMINAL, SERVER, AND SYSTEM," filed January 7, 2014, which is incorporated by reference herein in its entirety.

TECHNICAL FIELD

[0002] This application relates to the field of information processing technologies, and in particular, to a numerical value transferring method, terminal, server, and system.

BACKGROUND

[0003] During online shopping, a user needs to input a bank card account of the user and then input a dynamic password, so as to implement online numerical value transferring, that is, a numerical value determined by the user is transferred from the bank card account of the user.

[0004] In an offline numerical value transferring technology, a sound-wave based technology is already available. The sound-wave based technology refers to a technology for transferring a numerical value using a sound wave. For example, when a user buys a commodity in a vending machine by using a mobile phone, the mobile phone broadcasts an ultrasonic wave. After receiving the sound wave, the vending machine automatically performs processing the user inputs and the password of the user of the mobile phone, and the vending machine dispenses the commodity.

[0005] However, a traditional way of transferring a numerical value is very complex, resulting in a low speed of numerical value transferring.

SUMMARY

[0006] In view of the above, it is necessary to provide a method and an apparatus for making a payment for an offline transaction securely and conveniently.

[0007] In accordance with some embodiments, a method for generating a graphic code for an offline transaction is performed by a portable electronic device with display, memory and one or more processors. The method includes receiving a request to make an offline payment; and generating a graphic code using an encrypted key that corresponds to an account number of a user of the portable electronic device. The graphic code stores information identifying the encrypted key. The method also includes displaying the graphic code for visually transmitting the graphic code to a payee device that is distinct and separate from the portable electronic device.

[0008] In accordance with some embodiments, a portable electronic device for generating a graphic code for an offline transaction includes display, one or more processors, and memory storing one or more programs for execution by the one or more processors. The one or more programs including instructions for receiving a request to make an offline payment; and generating a graphic code using an encrypted key that corresponds to an account number of a user of the portable electronic device. The graphic code stores information identifying the encrypted key. The one or more programs also include instructions for displaying the graphic code for visually transmitting the graphic code to a payee device that is distinct and separate from the portable electronic device.

[0009] In accordance with some embodiments, a computer readable storage medium stores one or more programs for execution by one or more processors of a portable electronic device. The one or more programs include instructions for receiving a request to make an offline payment; and generating a graphic code using an encrypted key that corresponds to an account number of a user of the portable electronic device. The graphic code stores information identifying the encrypted key. The one or more programs also include instructions for displaying the graphic code for visually transmitting the graphic code to a payee device that is distinct and separate from the portable electronic device.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The aforementioned features and advantages as well as additional features and advantages thereof will be more clearly understood hereinafter as a result of reviewing the detailed description of embodiments in conjunction with the drawings.

[0011] To illustrate technical solutions more clearly, the following briefly describes the accompanying drawings. The accompanying drawings show exemplary embodiments, and a person skilled in the art would understand that variations are available from these embodiments.

[0012] Figure 1 is a schematic diagram of a method of a numerical value transfer according to some embodiments.

[0013] Figure 2 is a schematic diagram of a method of a numerical value transfer according to some embodiments.

[0014] Figure 3 is a schematic diagram of a method of a numerical value transfer according to some embodiments.

[0015] Figure 4 is a schematic diagram of a terminal according to some embodiments.

[0016] Figure 5 is a schematic diagram of a terminal according to some embodiments.

[0017] Figure 6 is a schematic diagram of a terminal according to some embodiments. [0018] Figure 7 is a schematic diagram of a server according to some embodiments.

[0019] Figure 8 is a schematic diagram of a server according to some embodiments.

[0020] Figure 9 is a schematic diagram of a server according to some embodiments.

[0021] Figure 10 is a schematic diagram of a terminal according some embodiments.

[0022] Figure 11 is a schematic diagram of a server according to some embodiments.

[0023] Figure 12 is a schematic diagram of an information processing system according to some embodiments.

[0024] Figure 13 is a block diagram of a portable electronic device in accordance with some embodiments.

[0025] Figure 14 illustrates a flow chart of an exemplary method for generating a graphic code in accordance with some embodiments.

[0026] Like reference numerals refer to corresponding parts throughout the several views of the drawings.

DESCRIPTION OF EMBODIMENTS

[0027] Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the subject matter presented herein. But it will be apparent to one skilled in the art that the subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

[0028] In order to make the objectives, technical solutions, and advantages more

comprehensible, various embodiments are described in further detail below with reference to accompany drawings. It should be understood that, the specific embodiments described herein are merely used to explain various principles, but are not intended to limit the scope of claims.

[0029] Some embodiments provide a numerical value transferring method, which can increase the speed of numerical value transferring. Some embodiments further provide a

corresponding terminal, server, and system. Detailed description is provided below.

[0030] Figure 1 is a schematic diagram of a method of a numerical value transfer according to some embodiments. The method includes the following:

[0031] Step S101 : A first terminal obtains from a server an encrypted key associated with a user account identifier, where an association between the user account identifier and the encrypted key has been established in the server in advance. [0032] Optionally, the step of obtaining from a server an encrypted key associated with a user account identifier may include: sending to the server a request for obtaining the encrypted key, where the request for obtaining the encrypted key carries the user account identifier, so that the server determines the corresponding encrypted key according to the user account identifier; and receiving the encrypted key sent by the server.

[0033] In some embodiments, the server generates the encrypted key according to the user account identifier. In this way, the first terminal can generate a graphic code by using the encrypted key. The graphic code may be a two-dimension code, which is safer than a graphic code that is generated with a user account. As a result, a second terminal cannot obtain the user account identifier when recognizing the graphic code.

[0034] In a case where the graphic code is a two-dimension code, when a user needs to transfer to the second terminal a specified numerical value that is input in advance, the two- dimension code may be displayed on the first terminal, and then the second terminal transfers the specified numerical value by scanning the two-dimension code.

[0035] Step SI 02: Generate the graphic code according to the encrypted key and information about a registered application account of the user, where the graphic code is used for numerical value transferring.

[0036] The information about the registered application account may be about a WeChat account, and may also be about other registered application accounts.

[0037] Once generated, the graphic code may be valid within a certain time period and may also be valid only within a short time period, which can be set by the user as required.

[0038] Step S 103 : Display the graphic code when the user needs to transfer from the first terminal to the second terminal the specified numerical value that is input in advance, so that the second terminal completes transferring of the specified numerical value according to the graphic code.

[0039] In some embodiments, to ensure safety of user numerical value transferring, not all second terminals can recognize the graphic code. Point-of-service (POS) terminals must be added, after real-name registration and authorization, into a white list that is registered in advance. Only after this, can the POS terminals transfer a numerical value by recognizing a graphic code according to some embodiments.

[0040] In some embodiments, a first terminal obtains from a server an encrypted key associated with a user account identifier, where an association between the user account identifier and the encrypted key has been established in the server in advance. The first terminal generates a graphic code according to the encrypted key and information about a registered application account of a user, where the graphic code is used for numerical value transferring. The first terminal displays the graphic code when the user needs to transfer from the first terminal to a second terminal a specified numerical value that is input in advance, so that the second terminal completes transferring of the specified numerical value according to the graphic code. In the numerical value transferring method provided in some embodiments, the first terminal generates the graphic code according to the encrypted key associated with the user account identifier and the information about the registered application account of the user, and then the second terminal transfers the numerical value by recognizing the graphic code. Therefore, compared with the prior art in which numerical value transferring can only be implemented by inputting a password, the speed of numerical value transferring is increased, because a manual entry of the numerical value is not needed at the time of transfer.

[0041] In some embodiments, before the step of obtaining from a server an encrypted key associated with a user account identifier, the method may further include: determining whether the information about the registered application account of the user is in a user white list that is set in advance, where the user white list includes all information about registered application accounts that allows the encrypted key to be obtained.

[0042] Correspondingly, the step of obtaining from a server an encrypted key associated with a user account identifier includes: when the information about the registered application account of the user is in the user white list, obtaining from the server the encrypted key associated with the user account identifier.

[0043] In some embodiments, the user white list may also be registered in advance by the user. After authorization, the information about the registered application account of the user is added into the user white list, which is stored in the server. The first terminal may determine, by sending to the server a query request, whether the information about the registered application account of the user is in the user white list that is set in advance, where the information about the registered application account of the user is carried in the query request. The server sends a query response to the first terminal after finding the information about the registered application account of the user in the user white list, so as to notify the first terminal that the information about the registered application account of the user is in the user white list. In this way, only a user based on control by the user white list can implement offline numerical value transferring, thereby further improving the safety of offline numerical value transferring.

[0044] Figure 2 is a schematic diagram of a method of a numerical value transfer according to some embodiments. The method includes the following: [0045] Step S201 : Receive a request that is for obtaining an encrypted key and is sent by a first terminal, where the request for obtaining the encrypted key carries a user account identifier.

[0046] Step S202: Determine the encrypted key associated with the user account identifier according to the user account identifier and an association that is between the user account identifier and the encrypted key and is established in advance.

[0047] Step S203 : Send the encrypted key to the first terminal.

[0048] In some embodiments, a server receives a request that is for obtaining an encrypted key and is sent by a first terminal, where the request for obtaining the encrypted key carries a user account identifier. The server determines the encrypted key associated with the user account identifier according to the user account identifier and an association that is between the user account identifier and the encrypted key and is established in advance. The server sends the encrypted key to the first terminal. In the numerical value transferring method provided in some embodiments, the first terminal generates a graphic code according to the encrypted key associated with the user account identifier and information about a registered application account of a user, and then a second terminal transfers a numerical value by recognizing the graphic code. Therefore, compared with the prior art in which numerical value transferring can only be implemented by inputting a password, the speed of numerical value transferring is increased.

[0049] In some embodiments, before the step of receiving a request that is for obtaining an encrypted key and is sent by a first terminal, the method may further include: receiving an account registering request sent by the first terminal, where the account registering request carries the user account identifier; generating the encrypted key according to the user account identifier; and establishing the association between the user account identifier and the encrypted key.

[0050] When receiving the account registering request, the server generates the encrypted key according to the user account identifier. In this way, the first terminal can generate the graphic code by using the encrypted key. The graphic code may be a two-dimension code, which is safer than a graphic code that is generated with a user account. As a result, the second terminal cannot obtain the user account identifier when recognizing the graphic code.

[0051] Then, the server establishes the association between the user account identifier and the encrypted key.

[0052] In some embodiments, the method further includes: receiving an account revoking request sent by the first terminal, where the account revoking request carries the user account identifier; and deleting the association between the user account identifier and the encrypted key according to the user account identifier. [0053] In some embodiments, the association between the user account identifier and the encrypted key may be displayed in a manner of a table, which is shown in Table 1 :

Table 1 : table of an association between a user account identifier and an encrypted key

[0054] In this way, when a user account identifier received by the server is

4367421111122222333, it can be found that a corresponding encrypted key is 26***35.

[0055] Figure 3 is a schematic diagram of a method of a numerical value transfer according to some embodiments. In Figure 3, an application scenario is used as an example for describing an information processing process.

[0056] Step S300: A first terminal sends to a server an account registering request, where the account registering request carries a user account identifier.

[0057] Step S305: The server generates an encrypted key according to the user account identifier.

[0058] In some embodiments, the server generates the encrypted key according to the user account identifier. In this way, the first terminal can generate a graphic code by using the encrypted key. The graphic code may be a two-dimension code, which is safer than a graphic code that is generated with a user account. As a result, a second terminal cannot obtain the user account identifier when recognizing the graphic code.

[0059] Step S310: The server establishes an association between the user account identifier and the encrypted key.

[0060] Step S315: The first terminal sends to the server a request for obtaining the encrypted key, where the request for obtaining the encrypted key carries the user account identifier.

[0061] Optionally, before the first terminal sends to the server the request for obtaining the encrypted key, it may be further determined whether information about a registered application account of a user is in a user white list that is set in advance, where the user white list includes all information about registered application accounts that allows the encrypted key to be obtained. [0062] When the information about the registered application account of the user is in the user white list, the first terminal sends to the server the request for obtaining the encrypted key.

[0063] The user white list may also be registered in advance by the user. After authorization, the information about the registered application account of the user is added into the user white list, which is stored in the server. The first terminal may determine, by sending to the server a query request, whether the information about the registered application account of the user is in the user white list that is set in advance, where the information about the registered application account of the user is carried in the query request. The server sends a query response to the first terminal after finding the information about the registered application account of the user in the user white list, so as to notify the first terminal that the information about the registered application account of the user is in the user white list. In this way, only a user based on control by the user white list can implement offline numerical value transferring, thereby further improving the safety of offline numerical value transferring.

[0064] Step S320: The server determines the encrypted key associated with the user account identifier according to the user account identifier.

[0065] In some embodiments, the association between the user account identifier and the encrypted key may be displayed in a manner of a table, which is shown in the foregoing Table 1.

[0066] In this way, when receiving a user account identifier, the server may find a corresponding encrypted key in Table 1.

[0067] Step S325: The server sends the encrypted key to the first terminal.

[0068] Step S330: The first terminal generates a graphic code according to the encrypted key and the information about the application registering account of the user, where the graphic code is used for numerical value transferring.

[0069] The information about the registered application account may be a WeChat account, and may also be other registered application accounts.

[0070] After being generated, the graphic code may be valid within a certain time period and may also be valid only within a short time period, which can be set by the user as required.

[0071] Step S335: When the user needs to transfer a specified numerical value that is input in advance, display the graphic code, so that a POS second terminal completes transferring of the specified numerical value according to the graphic code.

[0072] In some embodiments, to ensure safety of user numerical value transferring, not all second terminals can recognize the graphic code. Second terminals can only transfer a numerical value by recognizing a graphic code according to some embodiments when the second terminals are added, after real-name registration and authorization, into a white list that is registered in advance. [0073] In the numerical value transferring method provided in some embodiments, a first terminal generates a graphic code according to an encrypted key associated with a user account identifier and information about a registered application account of a user, and then a second terminal transfers a numerical value by recognizing the graphic code. Therefore, compared with the prior art in which numerical value transferring can only be implemented by inputting a password, the speed of numerical value transferring is increased.

[0074] Figure 4 is a schematic diagram of a terminal 40 according to some embodiments.

The terminal 40 includes the following: an obtaining unit 401, configured to obtain from a server an encrypted key associated with a user account identifier, where an association between the user account identifier and the encrypted key has been established in the server in advance; a generating unit 402, configured to generate a graphic code according to the encrypted key obtained by the obtaining unit 401 and information about a registered application account of a user, where the graphic code is used for numerical value transferring; and a display unit 403, configured to display the graphic code generated by the generating unit 402 when the user needs to transfer from a first terminal to a second terminal a specified numerical value that is input in advance, so that the second terminal completes transferring of the specified numerical value according to the graphic code.

[0075] In some embodiments, the obtaining unit 401 obtains from a server an encrypted key associated with a user account identifier, where an association between the user account identifier and the encrypted key has been established in the server in advance. The generating unit 402 generates a graphic code according to the encrypted key obtained by the obtaining unit 401 and information about a registered application account of a user, where the graphic code is used for numerical value transferring. The display unit 403 displays the graphic code generated by the generating unit 402 when the user needs to transfer from a first terminal to a second terminal a specified numerical value that is input in advance, so that the second terminal completes transferring of the specified numerical value according to the graphic code. The terminal provided in some embodiments can generate the graphic code according to the encrypted key associated with the user account identifier and the information about the registered application account of the user, and then the second terminal transfers the numerical value by recognizing the graphic code. Therefore, compared with the prior art in which numerical value transferring can only be implemented by inputting a password, the speed of numerical value transferring is increased.

[0076] Figure 5 is a schematic diagram of a terminal according to some embodiments. The terminal 40 shown in Figure 5 is similar to the terminal 40 shown in Figure 4. In Figure 4, the obtaining unit 401 includes: a sending subunit 4011, configured to send to the server a request for obtaining the encrypted key, where the request for obtaining the encrypted key carries the user account identifier, so that the server determines the corresponding encrypted key according to the user account identifier; and a receiving subunit 4012, configured to receive the encrypted key sent by the server after the sending subunit 4011 sends the request for obtaining the encrypted key.

[0077] Figure 6 is a schematic diagram of a terminal according to some embodiments. The terminal 40 shown in Figure 6 is similar to the terminal 40 shown in Figure 4. In Figure 6, the terminal 40 further includes a determining unit 404.

[0078] The determining unit 404 is configured to: before the obtaining unit 401 obtains the encrypted key, determine whether the information about the registered application account of the user is in a user white list that is set in advance, where the user white list includes all information about registered application accounts that allows the encrypted key to be obtained.

[0079] The obtaining unit 401 is configured to: when the determining unit 404 determines that the information about the registered application account of the user is in the user white list, obtain from the server the encrypted key associated with the user account identifier.

[0080] Figure 7 is a schematic diagram of a server 50 according to some embodiments. The server 50 includes a receiving unit 501, configured to receive a request that is for obtaining an encrypted key and is sent by a first terminal, where the request for obtaining the encrypted key carries a user account identifier; a determining unit 502, configured to determine the encrypted key associated with the user account identifier according to the user account identifier and an association that is between the user account identifier and the encrypted key and is established in advance; and a sending unit 503, configured to send to the first terminal the encrypted key determined by the determining unit 502.

[0081] In some embodiments, a receiving unit 501 receives a request that is for obtaining an encrypted key and is sent by a first terminal, where the request for obtaining the encrypted key carries a user account identifier. The determining unit 502 determines the encrypted key associated with the user account identifier according to the user account identifier received by the receiving unit 501 and an association that is between the user account identifier and the encrypted key and is established in advance. The sending unit 503 sends the encrypted key determined by the determining unit 502 to the first terminal. The server provided in some embodiments can enable the first terminal to generate a graphic code according to the encrypted key associated with the user account identifier and information about a registered application account of a user, and then a second terminal transfers a numerical value by recognizing the graphic code. Therefore, compared with the prior art in which numerical value transferring can only be implemented by inputting a password, the speed of numerical value transferring is increased. [0082] Figure 8 is a schematic diagram of a server 50 according to some embodiments. The server 50 shown in Figure 8 is similar to the server 50 shown in Figure 7. In the server 50 shown in Figure 8, the receiving unit 501 is further configured to receive an account registering request sent by the first terminal, where the account registering request carries the user account identifier.

[0083] The server 50 further includes a generating unit 504, configured to generate the encrypted key according to the user account identifier received by the receiving unit 501; and an establishing unit 505, configured to establish an association between the user account identifier received by the receiving unit 501 and the encrypted key generated by the generating unit 504.

[0084] Figure 9 is a schematic diagram of a server 50 according to some embodiments. The server 50 shown in Figure 9 is similar to the server 50 shown in Figure 7. In the server 50 shown in Figure 9, the receiving unit 501 is further configured to receive an account revoking request sent by the first terminal, where the account revoking request carries the user account identifier.

[0085] The server 50 further includes a deleting unit 506, configured to delete the association between the user account identifier and the encrypted key according to the user account identifier received by the receiving unit 501.

[0086] Figure 10 is a schematic diagram of a terminal 1200 according to some embodiments.

The terminal can be configured to implement the numerical value transferring method provided in the foregoing embodiments.

[0087] Specifically, the terminal 1200 may include an RF (Radio Frequency) circuit 110, a memory 120 including one or more computer readable storage mediums, an input unit 130, a display unit 140, a sensor 150, an audio circuit 160, a Wi-Fi (wireless fidelity) module 170, a processor 180 including one or more processing cores, a power source 190, and the like. A person skilled in the art can understand that a terminal structure shown in Figure 10 does not constitute a limitation on the terminal. The terminal may include components more or less than the components shown in Figure 10, combine some of the components, or adopt a different component arrangement.

[0088] The RF circuit 110 may be configured to receive and send a signal during

communication, or information receiving and sending. In particular, after receiving downlink information of a base station, the RF circuit 110 sends the downlink information to one or more processors 180 for processing. In addition, the RF circuit 110 sends uplink data to the base station. Generally, the RF circuit 110 includes, but is not limited to, an antenna, at least one amplifier, a tuner, one or more oscillator, an SIM (Subscriber Identity Module) card, a transceiver, a coupler, a LNA (Low Noise Amplifier), a duplexer, and the like. Besides, the RF circuit 110 may further

communicate with other devices through a network in a manner of wireless communication. Any communication standard or protocol may be adopted for the wireless communication, including Global System of Mobile communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), and the like.

[0089] The memory 120 may be configured to store a software program and module. The processor 180 performs functions and processes data by operating the software program and module stored in the memory 120. The memory 120 may mainly include a program storing area and a data storing area. The program storing area may store an operating system, an application program required by at least one function (for example, an audio playing function and a picture playing function), and the like. The data storing area may store data created according to use of the terminal 1200 (for example, audio data, and a phonebook) and the like. The memory 120 may include a highspeed random access memory, and may further include a non-volatile memory, for example, at least one disk storage device, a flash memories, or another volatile solid-state storage device.

Correspondingly, the memory 120 may further include a memory controller to control access of the processor 180 and the input unit 130 to the memory 120.

[0090] The input unit 130 may be configured to receive input numerical or character information and generate keyboard, mouse, joystick, optical, or trackball signal input related to user setting and function control. Specifically, the input unit 130 may include a touch-sensitive surface 131 and at least one other input device 132. The touch-sensitive surface 131 is also referred to as a touch display screen or a touch pad. The touch- sensitive surface 131 may collect a touch operation (for example, an operation performed by a user with any suitable object or attachment, such as a finger or a touch pen, on or near the touch-sensitive surface 131) performed by the user on or near the touch- sensitive surface 131 and drives a corresponding connecting apparatus according to a preset program. Optionally, the touch-sensitive surface 131 may include two parts, namely, a touch detecting apparatus and a touch controller. The touch detecting apparatus detects a touch position of a user and a signal brought by a touch operation, and transmits the signal to the touch controller. The touch controller receives touch information from the touch detecting apparatus, converts the touch information to a touch point coordinate to send to the processor 180, and can receive and execute a command sent by the processor 180. Moreover, the touch- sensitive surface 131 includes various types, such as a resistive touch- sensitive surface, a capacitive touch- sensitive surface, an infrared touch-sensitive surface, or a surface acoustic wave touch- sensitive surface. Besides the touch- sensitive surface 131, the input unit 130 may further include the at least one other input device 132. Specifically, the at least one other input device 132 may include, but is not limited to, one or more of a physical keyboard, a functional key (for example, a volume control key or a switch key), a trackball, a mouse, a joystick and the like. [0091] The display unit 140 may be configured to display information input by a user, information provided to the user, or various graphic user interfaces of the terminal 1200, where the graphic user interfaces may include a picture, a text, an icon, a video, and any combination thereof. The display unit 140 may include a display panel 141. Optionally, the display panel 141 may be configured in a form of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), and the like. Further, the touch- sensitive surface 131 may cover the display panel 141. After detecting a touch operation performed on or near the touch- sensitive surface 131, the touch- sensitive surface 131 transmits the touch operation to the processor 180 to determine a type of a touch event. Then, the processor 180 provides a corresponding visual output on the display panel 141 according to the type of the touch event. Though in Figure 10, the touch- sensitive surface 131 and the display panel 141 perform input and output functions as two independent components, in some embodiments, the touch- sensitive surface 131 and the display panel 141 may be integrated to perform input and output functions.

[0092] The terminal 1200 may further include at least one type of sensor 150, for example, a light sensor, a motion sensor, or another sensor. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. The ambient light sensor may adjust brightness of the display panel 141 according to brightness of ambient light. The proximity sensor may close the display panel 141 and/or backlight when the terminal 1200 moves near an ear. A gravity acceleration sensor, as a type of motion sensor, can detect strength of accelerations of all directions (generally, three axes), and can detect strength and a direction of gravity in a stationary scenario. The gravity acceleration sensor may be configured for applications of recognizing a mobile phone position (for example, switch between portrait and landscape screens, related games, magnetometer calibration), and for related functions of vibration recognition (for example, a pedometer and knocking), and the like. The terminal 1200 may further be configured with other sensors, such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, which is not described in detail herein.

[0093] The audio circuit 160, a loudspeaker 161, a microphone 162 may provide an audio interface between a user and the terminal 1200. The audio circuit 160 may transmit an electrical signal obtained by converting received audio data to the loudspeaker 161, so that the loudspeaker 161 converts the electrical signal to a sound signal for outputting. The microphone 162 converts a collected sound signal to an electrical signal. The audio circuit 160 receives the electrical signal, converts the electrical signal to audio data, and outputs the audio data to the processor 180 for processing. The RF circuit 110 sends the audio data to another terminal, or outputs the audio data to the memory 120 for further processing. The audio circuit 160 may further include an earphone jack to provide communication between a peripheral earphone and the terminal 1200. [0094] Wi-Fi is a short-distance wireless transmission technology. The Wi-Fi module 170 enables a user to receive and send an email, browse a web page, access streaming media and the like on the terminal 1200, and provides the user with broadband Internet wireless access. Though Figure 10 shows the Wi-Fi module 170, it can be understood that the Wi-Fi module 170 is not necessarily a mandatory component of the terminal 1200, and may be omitted as needed.

[0095] The processor 180, as a control center of the terminal 1200, is connected to all parts of a mobile phone through various interfaces and circuits, and executes various functions of the terminal 1200 and processes data by operating or executing software programs and/or modules stored in the memory 120 and invoking data stored in the memory 120, so as to perform overall monitoring on the mobile phone. Optionally, the processor 180 may include one or more processing cores.

Preferably, the processor 180 may integrate an application processor and a modem processor. The application processor mainly processes an operating system, a user interface, an application program, and the like. The modem processor mainly processes wireless communication. It can be understood that the modem processor may also not be integrated into the processor 180.

[0096] The terminal 1200 further includes the power source 190 (for example, a battery) that provides electricity to all components. Preferably, the power source may be logically connected to the processor 180 by using a power source management system, which performs functions, such as charging, discharging, and power consumption management. The power source 190 may further include one or more of components, such as a direct current or an alternating current power source, a recharging system, a power source fault detecting circuit, a power source converter or inverter, and a power source state indicator.

[0097] Though not shown in the figure, a camera, a blue tooth module, and the like may further be included in the terminal 1200, which is not described in detail herein. Specifically, in this embodiment, the display unit of the terminal is a touch screen display. The terminal further includes the memory and one or more programs, where the one or more programs are stored in the memory. The one or more programs configured for operating by one or more processors include instructions for performing the following operations: obtaining from a server an encrypted key associated with a user account identifier, where an association between the user account identifier and the encrypted key has been established in the server in advance; generating a graphic code according to the encrypted key and information about an application registering account of the user, where the graphic code is used for numerical value transferring; and displaying the graphic code when the user needs to transfer from a first terminal to a second terminal a specified numerical value that is input in advance, so that the second terminal completes transferring of the specified numerical value according to the graphic code. [0098] Assume that the foregoing is a first possible implementation manner, then based on the first possible implementation manner, in a second possible implementation manner, the memory of the terminal further includes instructions for performing the following operations: sending to the server a request for obtaining the encrypted key, where the request for obtaining the encrypted key carries the user account identifier, so that the server determines the corresponding encrypted key according to the user account identifier; and receiving the encrypted key sent by the server.

[0099] Based on the first or the second possible implementation manner, in a third possible implementation manner, the memory of the terminal further includes instructions for performing the following operations: determining whether the information about the registered application account of the user is in a user white list that is set in advance, where the user white list includes all information about registered application accounts that allows the encrypted key to be obtained; and when the information about the registered application account of the user is in the user white list, obtaining from the server the encrypted key associated with the user account identifier.

[00100] In a word, the terminal provided in some embodiments obtains from a server an encrypted key associated with a user account identifier, where an association between the user account identifier and the encrypted key has been established in the server in advance. The terminal generates a graphic code according to the encrypted key and information about a registered application account of a user, where the graphic code is used for numerical value transferring. The terminal displays the graphic code when the user needs to transfer from a first terminal to a second terminal a specified numerical value that is input in advance, so that the second terminal completes transferring of the specified numerical value according to the graphic code. The terminal can generate the graphic code according to the encrypted key associated with the user account identifier and the information about the registered application account of the user, and then the numerical value is transferred by recognizing the graphic code, thereby increasing the speed of numerical value transferring.

[00101] According to another aspect, a computer readable storage medium is provided. The computer readable storage medium may be the computer readable storage medium included in the memory in the foregoing embodiment, and may also be a computer readable storage medium that exists independently and is not assembled into the terminal. The computer readable storage medium stores one or more programs, where the one or more programs are used by one or more processors to execute a numerical value transferring method. The method includes: obtaining from a server an encrypted key associated with a user account identifier, where an association between the user account identifier and the encrypted key has been established in the server in advance; generating a graphic code according to the encrypted key and information about an application registering account of the user, where the graphic code is used for numerical value transferring; and when the user needs to transfer a specified numerical value that is input in advance, displaying the graphic code, so that a POS second terminal completes transferring of the specified numerical value according to the graphic code.

[00102] Assume that the foregoing is a first possible implementation manner, then based on the first possible implementation manner, in a second possible implementation manner, the step of obtaining from a server an encrypted key associated with a user account identifier includes: sending to the server a request for obtaining the encrypted key, where the request for obtaining the encrypted key carries the user account identifier, so that the server determines the corresponding encrypted key according to the user account identifier; and receiving the encrypted key sent by the server.

[00103] Based on the first or the second possible implementation manner, in a third possible implementation manner, before the step of obtaining from a server an encrypted key associated with a user account identifier, the method further includes: determining whether the information about the registered application account of the user is in a user white list that is set in advance, where the user white list includes all information about registered application accounts that allows the encrypted key to be obtained.

[00104] Correspondingly, the step of obtaining from a server an encrypted key associated with a user account identifier includes: when the information about the registered application account of the user is in the user white list, obtaining from the server the encrypted key associated with the user account identifier.

[00105] Figure 11 is a schematic structural diagram of a server 50 according to some embodiments. The server 50 may include an input device 510, an output device 520, a processor 530, and a memory 540.

[00106] The memory 540 may include a read-only memory and a random access memory, and provides an instruction and data for the processor 530. A part of the memory 540 may further include a non-volatile random access memory (NVRAM).

[00107] The memory 540 stores the following elements, which may execute a module, a data structure, a set of them, or an extension set of them: an operating instruction: including various operating instructions and used to implement various operations; and an operating system: including various system programs and used to implement various basic services and process a task that is based on hardware.

[00108] In some embodiments, the processor 530 executes, by invoking the operating instruction (the operating instruction may be stored in an operating system) stored by the memory 540, the following operations: receiving, by the input device 510, a request that is for obtaining an encrypted key and is sent by a first terminal, where the request for obtaining the encrypted key carries a user account identifier; determining the encrypted key associated with the user account identifier according to the user account identifier and an association that is between the user account identifier and the encrypted key and is established in advance; and sending, by the output device 520, the encrypted key to the first terminal.

[00109] In some embodiments, the server 50 can enable the first terminal generate a graphic code according to the encrypted key associated with the user account identifier and information about a registered application account of a user, and then the numerical value is transferred by recognizing the graphic code, thereby increasing the speed of numerical value transferring.

[00110] The processor 530 controls an operation of the server 50, and the processor 530 may also be referred to as a central processing unit (CPU). The memory 540 may include a read-only memory and a random access memory, and provides an instruction and data to the processor 530. A part of the memory 540 may further include a non-volatile random access memory (NVRAM). In a specific application, all components of the server 50 are coupled by using a bus system 550, and besides a data bus, the bus system 550 may further include a power source bus, a control bus, a state signal bus, and the like. However, for ease of clear description, all types of buses in the diagram are marked as the bus system 550.

[00111] The method disclosed in the foregoing embodiments may be performed by the processor 530, or in other words, may be implemented by the processor 530. The processor 530 may be an integrated circuit chip and has a signal processing capability. In an implementation process, steps in the method may be implemented by a hardware integrated logic circuit in the processor 530, or an instruction in the form of software. The processor 530 may be a general process unit, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), another programmable logic component, a discrete gate or a transistor logic device, or a discrete hardware component. The processor 530 may implement or execute all methods, steps, and logic diagrams disclosed herein. The general process unit may be a micro-processor, or any conventional processor. The steps in the methods disclosed herein may be directly implemented by a hardware decoding processor, or may be implemented by combining hardware and software modules in a decoding processor. The software module may be located in a mature storage medium in the field, such as a random access memory, a flash memory, a read only memory, a programmable read only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory 540, and the processor 530 reads information in the memory 540 and implements the foregoing steps in combination with hardware of the processor 530. [00112] Optionally, the input device 510 is configured to receive an account registering request sent by the first terminal, where the account registering request carries the user account identifier.

[00113] The processor 530 is configured to generate the encrypted key according to the user account identifier, and establish the association between the user account identifier and the encrypted key.

[00114] Optionally, the input device 510 is configured to receive an account revoking request sent by the first terminal, where the account revoking request carries the user account identifier.

[00115] The processor 530 is configured to delete the association between the user account identifier and the encrypted key according to the user account identifier.

[00116] Figure 12 is a schematic diagram of an information processing system according to some embodiments. In Figure 12, the information processing system provided includes: a first terminal 40, a POS second terminal 60, and a server 50.

[00117] The server 50 is configured to receive a request that is for obtaining the encrypted key and is sent by the first terminal, where the request for obtaining the encrypted key carries a user account identifier; determine the encrypted key associated with the user account identifier according to the user account identifier and an association that is between the user account identifier and the encrypted key and is established in advance; and send the encrypted key to the first terminal.

[00118] The first terminal 40 is configured to obtain from the server the encrypted key associated with the user account identifier, where the association between the user account identifier and the encrypted key has been established in the server in advance; generate a graphic code according to the encrypted key and information about a registered application account of a user; where the graphic code is used for numerical value transferring; and display the graphic code when the user needs to transfer from the first terminal to a second terminal a specified numerical value that is input in advance.

[00119] The second terminal 60 completes transferring of the specified numerical value according to the graphic code displayed by the first terminal.

[00120] In the numerical value transferring method provided in some embodiments, a first terminal can generate a graphic code according to an encrypted key associated with a user account identifier and information about a registered application account of a user, and then a second terminal transfers a numerical value by recognizing the graphic code. Therefore, compared with the prior art in which numerical value transferring can only be implemented by inputting a password, the speed of numerical value transferring is increased. [00121] Figure 13 is a block diagram of a portable electronic device 1300 in accordance with some embodiments. In some embodiments, the electronic device 1300 corresponds to the terminal 40 described above with respect to Figures 4-6.

[00122] As shown in Figure 13, the device 1300 includes one or more processing units (also called herein "processors") 1302, memory 1304, an input/output (I/O) interface 1306, and a network communications interface 1308. These components communicate with one another over one or more communication buses or signal lines 1310. In some embodiments, the memory 1304, or the computer readable storage media of memory 1304, stores programs, modules, instructions, and data structures including all or a subset of: an operating system 1312, an I/O module 1314, a

communication module 1316, and one or more applications 1318. The one or more processors 1302 are coupled to the memory 1304 and operable to execute these programs, modules, and instructions, and reads/writes from/to the data structures.

[00123] In some embodiments, the processing units 1302 include one or more microprocessors, such as a single core or multi-core microprocessor. In some embodiments, the processing units 1302 include one or more general purpose processors. In some embodiments, the processing units 1302 include one or more special purpose processors.

[00124] In some embodiments, the memory 1304 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices. In some embodiments the memory 1304 includes non- volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. In some embodiments, the memory 1304 includes one or more storage devices remotely located from the processing units 1302. The memory 1304, or alternately the non- volatile memory device(s) within the memory 1304, comprises a computer readable storage medium. In some embodiments, the memory 1304 comprises a non-transitory computer readable storage medium.

[00125] In some embodiments, the I/O interface 1306 couples one or more input/output devices, such as one or more displays, keyboards, touch-sensitive surfaces (such as a track pad or a touch-sensitive surface of the touch- sensitive display), speakers, and microphones, to the I/O module 1314 of the device 1300. The I/O interface 1306, in conjunction with the I/O module 1314, receive user inputs (e.g., voice input, keyboard inputs, etc.) and process them accordingly. The I/O interface 1306 and the I/O module 1314 also present outputs (e.g., sounds, images, text, etc.) to the user according to various program instructions implemented on the device 1300.

[00126] In some embodiments, the portable electronic device includes a display. In some embodiments, the display is a touch- sensitive display. [00127] In some embodiments, the network communications interface 1308 includes wired communication port(s) and/or wireless transmission and reception circuitry. The wired

communication port(s) receive and send communication signals via one or more wired interfaces, e.g., Ethernet, Universal Serial Bus (USB), FIREWIRE, etc. The wireless circuitry receives and sends RF signals and/or optical signals from/to communications networks and other communications devices. The wireless communications may use any of a plurality of communications standards, protocols and technologies, such as GSM, EDGE, CDMA, TDMA, Bluetooth, Wi-Fi, VoIP, Wi- MAX, or any other suitable communication protocol. The network communications interface 1308 enables communication between the device 1300 with networks, such as the Internet, an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices. The communications module 1316 facilitates communications between the device 1300 and other devices (e.g., the payment server 2 illustrated in Figure 11) over the network communications interface 1308.

[00128] In some embodiments, the operating system 1312 (e.g., Darwin, RTXC, LINUX,

UNIX, OS X, WINDOWS, iOS, Android, or an embedded operating system such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communications between various hardware, firmware, and software components.

[00129] It should be noted that the device 1300 is only one example, and that the device 1300 may have more or fewer components than shown, may combine two or more components, or may have a different configuration or arrangement of the components. The various components shown in Figure 13 may be implemented in hardware, software, firmware, including one or more signal processing and/or application specific integrated circuits, or a combination of thereof.

[00130] In Figure 13, the payment application 1320 stored in the memory 1304 includes the following modules or a subset or a superset thereof:

• User Input Module 1322 configured for receiving a user input (e.g., user selection of a user interface element that initiates an offline payment);

• Graphic Code Generation Module 1324 configured for generating a graphic code using an encrypted key that corresponds to an account number of a user of the device 1300;

• Graphic Code Display Module 1326 configured for displaying the graphic code for visually transmitting the graphic code to a payee device;

• Server Request Module 1330 configured for sending to a server a request for the encrypted key; and • Key Receiving Module 1332 configured for receiving the encrypted key from the server.

[00131] In some embodiments, Graphic Code Display Module 1326 includes User Interface Module 1328 configured for displaying user interfaces of the payment application 1320, such as a payment user interface (e.g., a user interface that includes a user interface element that initiates an offline payment). In some other embodiments, User Interface Module 1328 includes Graphic Code Display Module 1326.

[00132] In some embodiments, the memory 1304 stores user account information 1334 (e.g., an account number, such as a credit card account number, of a user of the device 1300). In some embodiments, the memory 1304 stores encrypted key 1336 received from the server. In some embodiments, the memory 1304 stores a graphic code 1338.

[00133] Details of the structures, functions, and interactions of these modules are provided with respect to Figures 1-12 and 14 and accompanying descriptions.

[00134] Figure 14 illustrates a flow chart of an exemplary method 1400 for generating a graphic code in accordance with some embodiments.

[00135] In some embodiments, the method is performed by a portable electronic device (e.g., the first terminal 40 shown in Figure 12 or the portable electronic device 1300 shown in Figure 13) with display, memory and one or more processors.

[00136] In some embodiments, the device, prior to receiving the request to make an offline payment, displays (1402) a payment user interface. An exemplary payment user interface includes an amount of payment, payee information, and a user interface element (e.g., a button labeled "Pay"). The exemplary payment user interface may also include information about merchandise or service for which payment is to be made. The request to make an offline payment is received while displaying the payment user interface. In some embodiments, the payment user interface is displayed on a touch- sensitive display.

[00137] The device receives (1404) a request to make an offline payment. For example, in some embodiments, a user of the device activates the user interface element that initiates a payment process by touching the user interface element on the touch- sensitive display.

[00138] In some embodiments, the device, prior to generating the graphic code, sends (1406) a request for an encrypted key to a server (e.g., the server 50 shown in Figure 12) that is located remotely from the portable electronic device; and, in response to sending the request, receives the encrypted key from the server. In some embodiments, the encrypted key has a predefined lifetime (e.g., 5 minutes, 10 minutes, 30 minutes, etc.). This prevents a subsequent user of the encrypted key by a malicious third-party for unauthorized transactions. [00139] In some embodiments, sending the request for the encrypted key includes (1408) sending to the server an account number of a user of the portable electronic device 1300. For example, in some embodiments, the device sends the account number of the user that has been stored in the portable electronic device 1300 prior to receiving the request to make an offline payment. In some embodiments, the encrypted key is a hash key that corresponds to the account number of the user in a hash table stored at the server.

[00140] The device generates (1410) a graphic code using an encrypted key that corresponds to an account number of a user of the portable electronic device. The graphic code stores information identifying the encrypted key (e.g., graphic pattern that represents the encrypted key). In some embodiments, the graphic code is a one-dimensional or two-dimensional bar code. In some embodiments, the graphic code is a Quick Response Code (also called herein QR code).

[00141] In some embodiments, the graphic code does not include (1412) the account number of the user. For example, in some embodiments, the graphic code stores the encrypted key but not the account number of the user, so that the account number of the user is not directly made available to a payee device. The payee device (e.g., the second terminal 60 shown in Figure 12) may send the encrypted key to the server to complete the payment process.

[00142] In some embodiments, the graphic code is generated (1414) in response to receiving the request to make the offline payment. For example, in some embodiments, the device does not store the graphic code prior to receiving the request to make the offline payment. This prevents a hacker from gaining unauthorized access to the device (e.g., using a malicious software) and retrieving the graphic code.

[00143] The device displays (1416) the graphic code for visually transmitting the graphic code to a payee device that is distinct and separate from the portable electronic device. For example, the device may be placed in front of a camera of the payee device, allowing the graphic code displayed on the display of the device to be scanned by the payee device. The payee device may extract the encrypted key from the scanned graphic code, and transmit the extracted encrypted key to the server to complete the payment process.

[00144] In some embodiments, the payee device is (1418) a vending machine. In some embodiments, the payee device is a cash register device.

[00145] While particular embodiments are described above, it will be understood that it is not intended to limit the scope of claims to these particular embodiments. Rather, the scope of claims includes alternatives, modifications and equivalents that are within the spirit and scope of the appended claims. Numerous specific details are set forth in order to provide a thorough

understanding of the subject matter presented herein. But it will be apparent to one of ordinary skill in the art that the subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

[00146] The terminology used in the description of the embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the scope of claims. As used in the description and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises," and/or "comprising," when used in this specification, specify the presence of stated features, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, operations, elements, components, and/or groups thereof.

[00147] As used herein, the term "if may be construed to mean "when" or "upon" or "in response to determining" or "in accordance with a determination" or "in response to detecting," that a stated condition precedent is true, depending on the context. Similarly, the phrase "if it is determined [that a stated condition precedent is true]" or "if [a stated condition precedent is true]" or "when [a stated condition precedent is true]" may be construed to mean "upon determining" or "in response to determining" or "in accordance with a determination" or "upon detecting" or "in response to detecting" that the stated condition precedent is true, depending on the context.

[00148] Although some of the various drawings illustrate a number of logical stages in a particular order, stages that are not order dependent may be reordered and other stages may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be obvious to those of ordinary skill in the art and so do not present an exhaustive list of alternatives. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.

[00149] The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the scope of the claims to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen in order to best explain the principles underlying the claims and their practical applications, to thereby enable others skilled in the art to best utilize the principles and various embodiments with various modifications as are suited to the particular use contemplated.