CROSS-REFERENCE TO RELATED APPLICATIONThis application claims benefit to U.S. Provisional Patent Application No. 61/466,001, filed on Mar. 21, 2011, which is incorporated by reference in its entirety.
TECHNICAL FIELDThe present disclosure is generally related to electronic transactions, and, more particularly, is related to transferring transaction instructions from a remote repository to a participating merchant website using a transaction agent.
BACKGROUNDRecent years have seen an advent of internet into everyday life. The usage of internet is not restricted to information sharing. Rather, the internet is increasingly used to conduct various e-commerce transactions. Various merchant websites offer several types of consumer products ranging from apparel, jewelry, electronic goods, fashion accessories, and the like. Users find it convenient to buy items on the internet. This saves them the time and hassle of visiting a store and buying the articles in person. Moreover, with the advent of the mobile devices such as laptops, tablet computers, and smart phones, the users have the freedom to engage in online shopping while on the move. Thus, users can indulge in buying items of their choice whenever they find time such as while commuting from work, on a flight, during a break at work, and so forth.
The various merchant websites that offer the facility of online shopping provide a user with an option to select items and put them into a virtual shopping cart. Thereafter, when the user is finished with the shopping, the user can select the checkout option for being directed to a checkout page. The checkout page is a web page where a transaction is initiated. The checkout page includes a payment form in which various payment method details, such as the credit card number, debit card number, expiration date, and so forth need to be filled. Additionally, the user is also required to provide the shipping information that includes address details of the place where the items need to be shipped. Further, the user may provide supplemental information such as shipping method, date of delivery, pay with points, etc.
SUMMARYExample embodiments of the present disclosure provide systems of transferring transaction instructions from a remote repository to a participating merchant website using a transaction agent. Briefly described, in architecture, one example embodiment of a system, among others, can be implemented as follows: a transaction agent, an activity server, a transaction instruction repository, and a transaction terminal.
Example embodiments of the present disclosure may also be viewed as providing methods for transferring transaction instructions from a remote repository to a merchant website using a transaction agent. In this regard, one embodiment of such a method, among others, can be broadly summarized by the following steps: adding items to a virtual shopping cart, initiating a checkout, receiving an activation of a transaction agent, authenticating a user with an activity server, presenting one or more user preferences associated with the user, receiving a selection of the one or more user preferences, presenting one or more transaction instructions based on the selected one or more user preferences and one or more supplemental instructions from the activity server, receiving a selection of the one or more transaction instructions and the one or more supplemental instructions, transferring the selected transaction instructions and supplemental instructions to one or more merchant websites; and presenting a confirmation receipt of a transaction completed at the merchant website.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram of a system for transferring transaction instructions from an activity server to a merchant website using a transaction agent, in accordance with an example embodiment of the present disclosure.
FIG. 2 is a block diagram of a transaction agent embedded as a plug-in on browser of a computing device or embedded in an application on a computing device, in accordance with an example embodiment of the present disclosure.
FIG. 3 is a block diagram of an activity server interacting with a transaction instruction repository, in accordance with an example embodiment of the present disclosure.
FIG. 4 is a block diagram of a transaction terminal, in accordance with an example embodiment of the present disclosure.
FIG. 5 is a flowchart illustrating a method for transferring transaction instructions from an activity server to a merchant website using a transaction agent, in accordance with an example embodiment of the present disclosure.
FIG. 6 is a flowchart illustrating a method for automatically transferring transaction instructions from an activity server to a merchant website, in accordance with an example embodiment of the present disclosure.
DETAILED DESCRIPTIONEmbodiments of the present disclosure will be described more fully hereinafter with reference to the accompanying drawings in which like numerals represent like elements throughout the several figures, and in which example embodiments are shown. Embodiments of the claims may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. The examples set forth herein are non-limiting examples and are merely examples among other possible examples.
It may become cumbersome for users to repeatedly enter their payment details, personal information, shipping information, and so forth each time they visit merchant websites for shopping. Moreover, entering such information at merchant websites becomes difficult when performed through a keypad of a mobile device. The small size of the keys renders typing details cumbersome. Thus, it would be advantageous to have systems and methods of enabling the transferring of payment method details, shipping address, and the like without any user input.
The present disclosure relates to methods and systems for transferring transaction instructions from a remote repository to a merchant website using a transaction agent. However, the current state of the art discloses that the transaction instructions are directly provided by the user to a particular merchant site. Alternatively, the transaction may also be completed at a third party site entirely and successfully completed transactions are reported to the merchant. In light of this, the embodiments of the present disclosure enable transfer of transaction instructions from an activity server to a merchant website for transaction processing. Since user transaction instructions are accessed from an activity server along with the user's preferred transaction methods, a user does not need to repeatedly enter transaction instructions whenever they desire to engage in an online transaction activity.
Referring now toFIG. 1,system100 for transferring transaction instructions from an activity server to a merchant website using a transaction agent is shown in accordance with an example embodiment of the present disclosure.System100 includesuser102,computing device104,transaction agent106,network108,activity server module110,transaction instruction repository112,merchant website114, andtransaction terminal116.
User102 may accessmerchant website114 usingcomputing device104 connected tonetwork108. In an example embodiment of the present disclosure,network108 is a part of the Internet. In an example embodiment of the present disclosure,computing device104 is at least one of a desktop computer, a laptop, a mobile phone, a smart phone, a tablet computer, a personal digital assistant (PDA), an Apple iPad and the like. In an example embodiment of the present disclosure,user102 may purchase from amerchant website114 using a browser, an application, an app, a mobile app, and the like.User102 may be displayedmerchant website114 on whichuser102 may perform any online transaction. In a scenario in whichuser102 decides to purchase items,merchant website114 enables this by providing a virtual shopping cart in whichuser102 may add items thatuser102 may select for purchase. Subsequent to selecting all the items to be purchased,user102 may select a checkout option.User102 may then be automatically displayedtransaction agent106 as part of the checkout flow. In an example embodiment of the present disclosure,user102 may manually selecttransaction agent106 as part of the checkout flow. Here,transaction agent106 may be either embedded as a plug-in on a browser ofcomputing device104 or embedded in an application oncomputing device104. Further,transaction agent106 may provideuser102 with an option to retrieve preferred transactional instructions which are previously stored atactivity server110. Upon activatingtransaction agent106,user102 may be displayed a login screen for authentication withactivity server110.User102 may provide login credentials foractivity server110 in a login screen, which may be transmitted toactivity server110 throughnetwork108.Activity server110 may authenticate the user credentials by accessing user credentials previously stored intransactional instruction repository112.
Subsequent to successful authentication,activity server110 may access user preferences associated with transactional instructions stored intransactional instruction repository112. In an example embodiment of the present disclosure, user preferences may include preferred modes of payment such as credit/debit/pre-paid/virtual/gift card, checking/savings/brokerage account, billing addresses, shipping addresses, and the like. These user preferences may be shown touser102 bytransaction agent106.User102 may select the user preferences for this specific instance of the transaction, and in a subsequent request toactivity server110, transactional instructions based on the selected user preferences may be downloaded. In an example embodiment of the present disclosure,transaction instruction repository112 may store the transaction instructions including payment method details such as the credit card number, debit card number, expiration date, card verification value, personal details such as name, billing address, shipping address, and the like.User102 may then select one or more of the transaction instructions. Further,transaction agent106 may present touser102 supplemental instructions such as shipping methods, auto-payment instructions, pay-with-points instructions, recurring transfers setup instructions, and the like.User102 may then select one or more of the supplemental instructions. Thereafter, the selected transaction instructions and the selected supplemental instructions may be transmitted totransaction terminal116 present atmerchant web site114. In an example embodiment of the present disclosure, transactional instructions may be sent to multiple merchants at the same time. Here, initially, a user adds one or more items to a virtual shopping cart from multiple merchant websites. Thereafter, when the user wishes to initiate a checkout,transaction agent106 may fulfill transactions at the multiple merchant websites. In an example embodiment of the present disclosure, auto pay transaction instructions may be delivered to multiple merchants from a bank's website. In this scenario, a user may select auto pay instructions for making bill payments corresponding to one or more merchants throughtransaction agent106.
Merchant website114 may implementtransaction terminal116 which may receive a previously agreed upon format of transaction instructions fromtransaction agent106.Transaction terminal116 may process the received transaction instructions and the supplemental instructions through merchant order processing system. After receiving a confirmation from the merchant order processing system,transaction terminal116 transmits a confirmation receipt totransaction agent106. In an example embodiment of the present disclosure,transaction terminal116 may not be a part ofmerchant website114 andtransaction terminal116 may be independent ofmerchant website114. Therefore, whentransaction terminal116 is not a part ofmerchant website114,transaction terminal116 interacts withmerchant website114 for completing a transaction.
Thereafter,transaction agent106 presents a confirmation page touser102. In an example embodiment of the present disclosure,transaction agent106 may capture confirmation page and details of the transaction confirmation and store it withactivity server110. Further, the transferring of transactional instructions bytransaction agent106 is explained in detail with the explanation ofFIG. 2.
Referring now toFIG. 2,transaction agent106, assistinguser102 in providing transactional instructions stored atactivity server110 during online transaction atmerchant website114 is shown in detail, in accordance with an example embodiment of the present disclosure.Transaction agent106 includesauthentication module202, authentication user interface (UI)module204, transactioninstruction transfer module206, transactioninstruction selection module208, andsupplemental instruction module210. In an example embodiment of the present disclosure,transaction agent106 may be embedded as a plug-in on a browser ofcomputing device104. In another example embodiment of the present disclosure,transaction agent106 may be embedded in an application oncomputing device104.
Authentication UI module204 provides a user interface for a login screen used to authenticateuser102. Whenuser102 has navigated to the checkout page and has activatedtransaction agent106,user102 is provided a login screen byauthentication UI module204.User102 provides user credentials foractivity server110.Authentication module202 acts as an interface betweentransaction agent106 andactivity server110 for authenticatinguser102. In an example embodiment of the present disclosure,authentication module202 may automatically authenticateuser102 without user input based on user preferences. Here, user credentials may be pre-stored onauthentication module202.
Supplemental instruction module210 provides supplemental instructions based onmerchant website114. In an example embodiment of the present disclosure, supplemental instructions may be retrieved fromuser preferences database312 located atactivity server110. In an example embodiment of the present disclosure,supplemental instruction module210 may retrieve default supplemental instructions corresponding touser102 fromuser preferences database312 located atactivity server110. In an example embodiment of the present disclosure,user102 is provided supplemental instructions such as shipping methods, auto-payment instructions, pay-with-points instructions, recurring transfers setup instructions, and the like.
In an example embodiment of the present disclosure, transactioninstruction transfer module206 retrieves user preferences related to the transactional instructions corresponding touser102 fromuser preference database312 located atactivity server110. In an example embodiment of the present disclosure, user preferences include preferred modes of payment such as credit/debit/pre-paid/virtual/gift card, checking/savings/brokerage account, billing address, shipping addresses, and the like. The received user preferences related to the transaction instructions may be displayed touser102 using transactioninstruction selection module208. After selection of the user preferences byuser102, transactioninstruction transfer module206 may transfer selected user preferences toactivity server110. Thereafter, transactioninstruction transfer module206 may retrieve transaction instructions associated with the selected user preferences ofuser102 frompayment store308 located atactivity store110. In an example embodiment of the present disclosure, transaction instructions associated with the selected user preferences may include payment method details such as the credit card number, debit card number, expiration date, card verification value, and the like. In an example embodiment of the present disclosure, transactioninstruction transfer module206 may retrieve default transaction instructions corresponding touser102 fromactivity server110 without needinguser102 to provide those instructions.
Transactioninstruction transfer module206 may transfer transaction instructions associated with selected user preferences and selected supplemental instructions ofuser102 totransaction terminal116 onmerchant site114. Further, transactioninstruction transfer module206 initiates transfer afteruser102 verifies selected payment method details and selected shipping details and confirms the purchase. In an example embodiment of the present disclosure, selected transaction instructions and selected supplemental instructions may be transmitted totransaction terminal116 onmerchant site114 through a specialized uniform resource locator (URL) supported bymerchant website114 acrossnetwork108. In an example embodiment of the present disclosure, the specialized URL is a secure link which carries the user payment details and the shipping information in an encrypted manner. Consequently, transactioninstruction transfer module206 oftransaction agent106 receives a confirmation receipt of the transaction fromtransaction terminal116 onmerchant site114. Afterwards, transactioninstruction transfer module206 oftransaction agent106 sends the confirmation receipt toactivity server110.
Transactioninstruction selection module208 tracks inputs made byuser102 on the checkout page. In an example embodiment of the present disclosure, the inputs tracked are the selections made byuser102 with respect to user preferences, transaction instructions, and supplemental instructions, confirmation page such as a payment method, billing address, shipping address, and the like. Further, transactioninstruction selection module208 may automatically fill in a payment form displayed at the checkout page using the payment method details received from transactioninstruction transfer module206. In an example embodiment of the present disclosure, transactioninstruction selection module208 displays user preferences related to the transaction instructions, and supplemental instructions ofuser102. Moreover, transactioninstruction selection module208 may display a confirmation receipt touser102.
Referring now toFIG. 3,activity server110 andtransactional instruction repository112 that assisttransaction agent106 in providing transactional instructions during online transaction atmerchant website114 are shown in detail, in accordance with an example embodiment of the present disclosure.Activity server110 includes paymentstore communication module302,server authentication module304, anduser preference module306.Transactional instruction repository112 includespayment store308,user database310, anduser preferences database312.
Server authentication module304 authenticatesuser102 when user credentials are submitted foractivity server110 againstuser database310 which is part oftransactional instruction repository112. In an example embodiment of the present disclosure, paymentstore communication module302 anduser preferences module306 may useserver authentication module304 to authenticateuser102 before processing requests.User database310 stores, using secure encryption, login credentials such as user id and password corresponding to all users registered withactivity server110. These user credentials may be submitted by theauthentication module202 which is part oftransaction agent106. Further,user database310 stores user profile information such as user ID, gender, age, e-mail address, security questions and the like corresponding to all users registered withactivity server110. This information is captured when a user registers for a service.
User preferences module306, retrieves the user preferences regarding transactional instructions ofuser102 such as preferred mode of payments such as credit/debit/pre-paid/virtual/gift card, checking/savings/brokerage account, billing addresses, shipping addresses and the like. These user preferences are stored inuser preferences database312.User preferences module306 interacts with theuser preferences database312 to fetch user preferences regarding transactional instructions ofuser102. Further, default user preference and all available preferences regarding the transaction instructions are sent totransaction agent106 usinguser preferences module306. Transactioninstruction transfer module206 receives the user preferences and transactioninstruction selection module208 then displays the user preferences for his or her selection. In an example embodiment of the present disclosure,user preferences module306 may interact with multiple sources having their independent user preference databases located acrossnetwork108.
Paymentstore communication module302 retrieves transactional instructions frompayment store308 based on selection of user preferences foruser102 such as payment method, shipping address and the like that are requested from transactioninstruction transfer module206. Thereafter, paymentstore communication module302 provides the transactional instructions to transactioninstruction transfer module206 to be further passed totransaction terminal116 onmerchant website114. Further, paymentstore communication module302 retrieves supplemental instructions ofuser102 fromuser preference database312 based onmerchant website114 that are requested fromsupplemental instruction module210. In an example embodiment of the present disclosure,payment store308 may store default transaction instruction details for all users. In an example embodiment of the present disclosure, the default transaction instruction details may include a preferred credit/debit/virtual/pre-paid card number, preferred shipping address, preferred billing address, expiration date, CVV and the like. In an example embodiment of the present disclosure,user preference database312 may store default supplemental instructions for all users. In an example embodiment of the present disclosure, default supplemental instructions may include a preferred shipping method, a preferred auto-payment instruction, a preferred pay-with-points instruction, a preferred recurring transfer setup instruction, and the like. In an example embodiment of the present disclosure,payment store308 may be one or more third party payment stores and paymentstore communication module302 interfaces with the third party payment stores. Further, the one or more third party stores may be located outsideactivity server110.
Referring now toFIG. 4,transaction terminal116 assists in processing transactions is shown in detail, in accordance with an example embodiment of the present disclosure.Transaction terminal116 includesinstruction communicator module402,instruction validator module404, andinstruction processor406. In an example embodiment of the present disclosure,transaction terminal116 may not be a part ofmerchant website114 andtransaction terminal116 may be independent ofmerchant website114. Therefore, whentransaction terminal116 is not a part ofmerchant website114,transaction terminal116 interacts withmerchant website114 for completing a transaction.
Instruction communicator module402 listens/receives the selected transaction instructions and the selected supplemental instructions fromtransaction agent106. In an example embodiment of the present disclosure,instruction communicator module402 communicates errors generated by merchant order processing system located atmerchant website114 totransaction agent106. The errors may include but not limited to Out of Stock, Credit Card failure and the like.
Instruction validator module404 validates the received transaction instructions and the supplemental instructions. In an example embodiment of the present disclosure,instruction validator module404 validates the syntax, semantics, schema, and data of the transaction instructions and supplemental instructions.
Instruction processor406 submits/processes the transaction instructions and the supplemental instructions to merchant order processing system located atmerchant website114. Further,instruction processor406 sends either success or failure messages toinstruction communicator module406.
Referring now toFIG. 5, flowchart500 illustrates a method for transferring transaction instructions fromtransaction instruction repository112 tomerchant website114 usingtransaction agent106, in accordance with an example embodiment of the present disclosure.FIG. 5 will now be explained in detail in conjunction withFIGS. 1,2,3, and4.
Atblock502,user102 is presented with an option of usingtransaction agent106 whenuser102 decides to complete a transaction on amerchant website114 usingcomputing device104 connected tonetwork108. In an example embodiment of the present disclosure,network108 is the Internet. In an example embodiment of the present disclosure,computing device104 is at least one of a desktop computer, a laptop, a mobile phone, a smart phone, a tablet computer, a personal digital assistant (PDA), an Apple iPad and the like. In an example embodiment of the present disclosure,transaction agent106 may be embedded as a plug-in on a browser ofcomputing device104. In another example embodiment of the present disclosure,transaction agent106 may be embedded in an application oncomputing device104.
Atblock504, a selection of usingtransaction agent106 byuser102 and hence activatingtransaction agent106 is received. Atblock506, authenticating user credentials provided byuser102. In an example embodiment of the present disclosure,user102 may be automatically authenticated without inputting user credentials. In an example embodiment of the present disclosure,authentication module202 oftransaction agent106 transmits the user credentials toactivity server110 for authentication. In an example embodiment of the present disclosure,user database310 stores login credentials such as user id and password corresponding to all users registered withactivity server110.
Subsequent to successful authentication atblock506, user preferences related to transaction instructions ofuser102 are displayed touser102 for his or her selection atblock508. The user preferences related to transaction instructions ofuser102 are retrieved fromuser preference database312. In an example embodiment of the present disclosure, the user preferences related to transaction instructions are retrieved by transactioninstruction transfer module206 fromuser preference database312 throughactivity server110 and displayed touser102 using transactioninstruction selection module208. In an example embodiment of the present disclosure, user preferences include preferred modes of payment such as credit/debit/prepaid/gift card, checking/savings/brokerage account, billing addresses, shipping addresses, and the like.
Atblock510, a selection of user preferences related to transaction instructions ofuser102 is received. In an example embodiment of the present disclosure, transactioninstruction selection module208 tracks a selection made byuser102 with respect to the user preferences ofuser102. Transaction instructions including payment method details corresponding to the selected user preferences are then accessed frompayment store308 by transactioninstruction transfer module206 and displayed touser102 using transactioninstruction selection module208 atblock512. In an example embodiment of the present disclosure, transactioninstruction transfer module206 accesses the transaction instructions including payment method details corresponding to the selected user preferences ofuser102 frompayment store308 throughactivity server110. In an example embodiment of the present disclosure,payment store308 stores user payment method details such as the credit/debit card number, expiration date, and the like. In an example embodiment of the present disclosure, the payment method details can be changed byuser102.
Atblock514, a selection of supplemental instructions based onmerchant website114 such as shipping methods, auto-payment instructions, pay-with-points instructions, recurring transfer setup instructions, and the like is received byuser102. In an example embodiment of the present disclosure,supplemental instruction module210 may retrieve the supplemental instructions fromuser preference database312 located atactivity server110. Atblock516, a confirmation of transaction byuser102 using transactioninstruction selection module208 is received. Here,user102 verifies the transaction instruction details such as the payment method, the billing address, and the shipping address details. Thereafter, atblock518, the selected transaction instructions such as payment method details, the shipping address details, the billing details, and the selected supplemental instructions are transmitted totransaction terminal116 onmerchant website114 through a uniform resource locator (URL) supported bymerchant website114. Atblock520, a confirmation page of transaction is presented touser102. In an example embodiment of the present disclosure,transaction terminal116 onmerchant website114 processes the received transaction instructions and the supplemental instructions through merchant order processing system. After receiving a confirmation from the merchant order processing system without any user interaction,transaction terminal116 transmits a confirmation receipt totransaction agent106 andtransaction agent106 displays a transaction confirmation page touser102. Finally, atblock522, confirmation details are transmitted toactivity server110 from transactioninstruction transfer module206 oftransaction agent116. Here, when the transaction confirmation is detected by transactioninstruction transfer module206, transactioninstruction transfer module206 extracts the confirmation receipt from the merchant's response.
FIG. 6 is a flowchart600 illustrating a method for transferring transaction instructions fromtransaction instruction repository112 tomerchant website114 usingtransaction agent106 without any user input, in accordance with an example embodiment of the present disclosure.FIG. 6 will now be explained in detail in conjunction withFIGS. 1,2,3, and4.
Atblock602,user102 is presented with an option of usingtransaction agent106 whenuser102 decides to complete a transaction on amerchant website114 usingcomputing device104 connected tonetwork108. In an example embodiment of the present disclosure,network108 is the Internet. In an example embodiment of the present disclosure,computing device104 is at least one of a desktop computer, a laptop, a mobile phone, a smart phone, a tablet computer, a personal digital assistant (PDA), an Apple iPad and the like. In an example embodiment of the present disclosure,transaction agent106 may be embedded as a plug-in on a browser ofcomputing device104. In another example embodiment of the present disclosure,transaction agent106 may be embedded in an application oncomputing device104.
Atblock604, a selection of usingtransaction agent106 byuser102 and hence activatingtransaction agent106 is received. Atblock606, authenticating user credentials provided byuser102. In an example embodiment of the present disclosure,user102 may be automatically authenticated without inputting user credentials.
Subsequent to successful authentication atblock608, default transaction instruction details ofuser102 are automatically retrieved frompayment store308 bytransaction agent106 through transactioninstruction transfer module206 atblock610. That is, default transaction instruction details ofuser102 are retrieved without any user input. In an example embodiment of the present disclosure, the default transaction instructions may include a preferred credit/debit/virtual/pre-paid card number, preferred shipping address, preferred billing address, expiration date, CVV and the like. Atblock612, default supplemental instructions are automatically retrieved fromuser preference database312. That is, default supplemental instructions are retrieved without any user input. In an example embodiment of the present disclosure,supplemental instruction module210 may automatically retrieve default supplemental instructions fromuser preference database312. In an example embodiment of the present disclosure, default supplemental instructions may include a preferred shipping method, a preferred auto-payment instruction, a preferred pay-with-points instruction, a preferred recurring transfer setup instruction, and the like. Atblock614, the default transaction instruction details and default supplemental transaction instruction details are automatically transmitted totransaction terminal116 onmerchant website114 through a specialized uniform resource locator (URL) supported bymerchant website114. That is, the default transaction instruction details and default supplemental transaction instruction details are transmitted totransaction terminal116 onmerchant website114 without any user input. In an example embodiment of the present disclosure, the default transaction instruction details and default supplemental transaction instruction details are transmitted totransaction terminal116 without anyuser102 input. Atblock616, a confirmation page of the transaction is presented touser102. In an example embodiment of the present disclosure,transaction terminal116 onmerchant website114 processes the received default transaction instruction details and the default supplemental transaction instruction details through merchant order processing system. After receiving a confirmation from the merchant order processing system without any user interaction,transaction terminal116 transmits a confirmation receipt totransaction agent106 andtransaction agent106 displays a transaction confirmation page touser102. Finally, atblock618,activity server110 receives confirmation receipt from transactioninstruction transfer module206 oftransaction agent116. Here, when the transaction confirmation is detected by transactioninstruction transfer module206, transactioninstruction transfer module206 extracts the confirmation receipt from the merchant's response.
The flow charts ofFIG. 5 andFIG. 6 show the architecture, functionality, and operation of a possible implementation of transaction software. In this regard, each block may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted inFIG. 5 andFIG. 6. For example, two blocks shown in succession inFIG. 5 andFIG. 6 may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. Any process descriptions or blocks in flow charts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the example embodiments in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved. In addition, the process descriptions or blocks in flow charts should be understood as representing decisions made by a hardware structure such as a state machine.
The logic of the example embodiment(s) can be implemented in hardware, software, firmware, or a combination thereof. In example embodiments, the logic is implemented in software or firmware that is stored in a memory and that is executed by a suitable instruction execution system. If implemented in hardware, as in an alternative embodiment, the logic can be implemented with any or a combination of the following technologies, which are all well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc. In addition, the scope of the present disclosure includes embodying the functionality of the example embodiments disclosed herein in logic embodied in hardware or software-configured mediums.
Software embodiments, which comprise an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, or communicate the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), and a portable compact disc read-only memory (CDROM) (optical). In addition, the scope of the present disclosure includes embodying the functionality of the example embodiments of the present disclosure in logic embodied in hardware or software-configured mediums.
Although the present disclosure has been described in detail, it should be understood that various changes, substitutions and alterations can be made thereto without departing from the spirit and scope of the disclosure as defined by the appended claims.