Merchants who sell products over the Internet may wish to offer coupons to consumers in association with the online sale of goods. A problem can be presented in that implementing the many different coupons in association with the operation of a large online merchant can be burdensome and labor intensive. In addition, it may be the case that large numbers of coupons may relate to specific customers. This makes it more difficult to determine which coupons to surface for specific customers.
Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
With reference to
The networked environment 100 depicted in
The server 103 comprises one example of a computing device that may be employed to execute various components as described herein. The server 103 may comprise, for example, a server computer or like system, and may represent multiple servers arranged, for example, in one or more server banks or other arrangements. Such servers may be located in a single installation or may be dispersed among many different geographical locations. To this end, the server 103 may be viewed as a server “cloud” that represents the computing capacity of multiple servers, etc.
Various applications and/or engines are executed in the server 103 according to various embodiments. Also, various data may be stored in a data store 113 that is accessible to the server 103. The data stored in the data store 113, for example, may be associated with the operation of the various applications and/or engines described below. The applications executed in the server 103 may include, for example, an electronic commerce system 123, a coupon prioritization process 126, and other applications not discussed in detail herein.
The electronic commerce system 123 is configured to conduct electronic commerce to facilitate the network presence of one or more online merchants. The electronic commerce system 123 may comprise may different applications, components, and/or systems implemented on a plurality of computing devices such as the server 103 that are located at one site, or are distributed among geographically diverse sites as can be appreciated.
The applications, components, and/or systems included in the electronic commerce system 123 provide for various functions such as maintaining and accessing an item catalog 133 in which is stored data describing a plurality of items 136 sold to customers by an online merchant. The data describing each of the items 136 may include item images 139 and item information 143. The items 136 sold through the electronic commerce system 123 may comprise, for example, goods and/or services.
The electronic commerce system 123 may also provide for various functions such as, for example, searching for items 136, generating network pages with search results or for other purposes, implementing the purchase of items 136, effecting payment for items 136 purchased, and other functions. In providing for the purchase of items 136, the electronic commerce system 123 may generate a plurality of different network pages such as web pages or other network content that is served up to various clients 106 controlled by customers. Such network pages may be static or created dynamically.
In addition, various customer accounts 153 may be maintained in the data store 113. Each customer account 153 may include customer data that describes the customer including payment addresses, delivery addresses, payment instruments, and other data used to consummate various commercial transactions. Also associated with each of the customer accounts 153 are a browse history 156, purchase history 159, coupon usage history 163, and potentially other data. In one embodiment, the coupon usage history 163 may actually be included as part of the purchase history 159 as can be appreciated.
In addition, vendor data 173 is stored in the data store 113 that describes information about various vendors such as manufacturers and other types of vendors that produce or otherwise provide items 136 that are sold through the electronic commerce system 123. In addition, an online merchant, for example, may operate the electronic commerce system 123. The vendor data 173 may include information about respective vendors including address and contact information, banking information, supply contract information, and other information not important for the purposes of this discussion that is needed to transact business with such vendors as can be appreciated. The vendor data 173 specifically includes data that describes various promotional campaigns 176 that are launched by vendors to provide greater incentives to their customers to purchase the items 136 they offer. Also, the promotional campaigns 176 may be offered by the online merchant that operates the electronic commerce system 123, or the online merchant may collaborate with vendors to provide offerings. Thus, were a vendor is discussed herein, it is understood that the online merchant may stand in the place of such a vendor for the purposes of the following discussion.
According to one embodiment, one or more digital coupons 179 are associated with each of the promotional campaigns 176 as will be described. As contemplated herein, a digital coupon 179 comprises a digital instrument that may be selected by a user that entitles the user to redeem a benefit in association with a purchase of one or more items 136. Such a benefit may comprise, for example, a discount off of a purchase price for one or more items 136, whether the discount is a fixed dollar amount or a percentage of the purchase price. The benefit may also comprise, for example, giveaways of additional items 136, free shipping for items 136, discounts (fixed or percent reduction) for items 136 related to items 136 purchased, or other benefits.
In addition, associated with one or more of the digital coupons 179 is data that indicates a degree to which a preference is to be applied to the digital coupons 179 based on payment by vendors for greater exposure for such digital coupons 179 as will be described. In one embodiment, vendors may pay for greater exposure based upon specific search terms used by customers who browse through items 136. For example, when a specific search term is entered that is directly relevant, a vendor may indicate a willingness to pay a higher fee to obtain a greater likelihood of exposure of a respective digital coupons 179.
The client 106 is representative of a plurality of client devices that may be coupled to the network 109. For example, the client 106 may comprise one of millions of clients 106 coupled to the Internet. The client 106 may comprise, for example, a processor-based system such as computer system. Such a computer system may be embodied in the form of a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, set-top box, music players, web pads, tablet computer systems, or other devices with like capability.
The client 106 may include, for example, various peripheral devices. In particular, the peripheral devices may include input devices such as, for example, a keyboard, keypad, touch pad, touch screen, microphone, scanner, mouse, joystick, or one or more push buttons, etc. The peripheral devices may also include a display device 183, indicator lights, speakers, etc. The display device 183 may comprise, for example, cathode ray tubes (CRTs), liquid crystal display (LCD) screens, gas plasma-based flat panel displays, LCD projectors, or other types of display devices, etc.
Executed within the client 106 are various applications including a browser application 186. The client browser application 186 is configured to interact with the electronic commerce system 123 and potentially other applications on the server 103 according to an appropriate protocol such as the Internet Protocol Suite comprising Transmission Control Protocol/Internet Protocol (TCP/IP) or other protocols. To this end, the browser application 186 may comprise, for example, a commercially available browser such as INTERNET EXPLORER® sold by Microsoft Corporation of Redmond, Wash., or MOZILLA FIREFOX® which is promulgated by Mozilla Corporation of Mountain View, Calif., or other type of browser. Alternatively, the browser application 186 may comprise some other application with like capability. When executed in the client 106, the browser application 186 is configured to render network pages 189 such as web pages and the like on the display device 183 and to perform other functions. Also, the browser application 186 may implement the execution of active portions of a network page 189 as can be appreciated.
Next, a brief discussion of the operation of the various components in the networked environment 100 is provided. To begin, the electronic commerce system 123 serves up various network pages 189 to the client 106 that are rendered by the browser application 186 on the display device 183. The network pages 189 served up by the electronic commerce system 123 to the client 106 accomplish various purposes as mentioned above.
The network pages 189 served up to the client 106 facilitate sales of items 136 through the electronic commerce system 123 as mentioned above. In some situations, the identity of a customer that uses the client 106 may be known to the electronic commerce system 123, thereby allowing the electronic commerce system 123 to associate the customer with one of the customer accounts 153. The identity of the customer may be determined, for example, based on cookies or other data that are stored in the client 106 in association with the browser application 186. Also, the customer may be required to log on to the electronic commerce system 123 in order make purchases by providing authentication information such as a username and password. In other situations, the user may be unknown to the electronic commerce system 123, having never purchased items 136 through the electronic commerce system 123 on a prior occasion.
From time to time, some of the network pages 189 generated by the electronic commerce system 123 during the course of interaction with a given customer may include a “coupon book” that comprises a listing of digital coupons 179 that a user may click upon or otherwise manipulate in order to redeem in association with the purchase of one or more items 136 through the electronic commerce system 123. Alternatively, digital coupons 179 may be displayed in network pages 189 without the use of a coupon book. At any given time, various ones of the digital coupons 179 stored in the data store 113 are active and may be applicable to the purchase of items 136. The digital coupons 179 may come and go as vendors submit promotional campaigns 176 with such digital coupons 179 having limited time duration to the server 103 to be employed in conjunction with the operation of the electronic commerce system 123.
When the electronic commerce system 123 is to create a network page 189 that includes a coupon book or other arrangement of coupons to be rendered to a user on the display device 183, the electronic commerce system 123 may request a listing of coupons from the coupon prioritization process 126. Such listing will provide the specific digital coupons 179 that are to be encoded as a portion of a network page 189 to be rendered on the display device 183 of the client 106.
Upon receiving the request, the coupon prioritization process 126 proceeds to obtain an initial pool of all of the digital coupons 179 to be considered for inclusion in a given network page 189 to be presented to the current customer. To this end, the request from the electronic commerce system 123 for the listing of digital coupons 179 may include the identity of the customer for which the current network page 189 is being generated. Also, a description of the content of the network page 189 to be generated may be included in the request. In identifying the initial pool of digital coupons 179 for consideration, the coupon prioritization process 126 may examine many different factors.
Such factors considered may include, for example, whether the digital coupons 179 are related to the content of the network page 189 being generated. Also, the browse history 156, purchase history 159, coupon usage history 163, and/or other information about the respective customer, if known, may be examined. In addition, collective historical data that relates to many, if not all, of the customers may be examined to identify relationships between respective pairs or groups of digital coupons 179 to identify affinities between two or more digital coupons 179. Such affinities are preferably those that result in an increased probability that a given digital coupon 179 should be presented to the customer as will be described.
Alternatively, in some cases the identity of the user of the client 106 may be unknown to the electronic commerce system 123. In such cases, the electronic commerce system 123 may try to determine any information about the unknown customer to the degree possible. In one embodiment, the electronic commerce system 123 may attempt to determine a geographical location of the customer based on the Internet Protocol (IP) address associated with the client 106. To this end, the electronic commerce system 123 may examine the progression of network pages 189 viewed by the customer to obtain their IP address and other information. Various techniques may be employed to determine a geographical location of the user based on their IP address and other information as described in U.S. patent application entitled “Mapping Attributes to Network Addresses” filed on Jun. 29, 2007 and assigned application Ser. No. 11/771,679, which is incorporated herein by reference in its entirety. The geographical location information known about the customer may be employed to determine which digital coupons 179 are relevant to be considered for inclusion in a given network page 189.
Once the initial pool of digital coupons 179 is identified, the coupon prioritization process 126 then proceeds to determine a score for each of the digital coupons 179 based on a plurality of factors. Such factors may be the same factors as were described above that were examined to determine whether a digital coupon 179 should be included in the initial pool as will be described in further detail below.
Thereafter, a predefined number of the digital coupons 179 having the highest ones of the scores may be selected to be included in the network page 189 generated by the electronic commerce system 123. Thereafter, the coupon prioritization process 126 sends the list of digital coupons 179 to be presented as part of the network page 189 to the requesting process of the electronic commerce system 123. In response, the electronic commerce system 123 encodes the respective digital coupons 179 as part of the network page 189 and serves the same up to the client 106 to be rendered by the browser application 186 on the display device 183.
As an alternative, it may be the case that some types of digital coupons 179 are automatically included in the list or subset of digital coupons 179 that are included in a network page 189. Such digital coupons 179 may bypass the scoring and ranking process mentioned above. Specifically, the coupon usage history 163 of a given customer may be examined to identify digital coupons 179 that have been redeemed by the customer in the past.
Also, the coupon prioritization process 126 may identify an affinity between a first digital coupon 179 that a user has previously redeemed and a second one of the digital coupons 179 stored in the data store 113. Such an affinity may be determined by identifying when a predefined percentage of customers that redeemed a first one of the digital coupons 179 that a user has previously redeemed have also redeemed the second one of the digital coupons 179. Such affinities may be deemed to be more predictive of whether a customer will redeem such digital coupons 179 in association with their interaction with the electronic commerce system 123. As such, such digital coupons 179 that are subject to an affinity as determined above may automatically be included in the list of digital coupons 179 sent back to the electronic commerce system 123 for inclusion in a network page 189 regardless of the scoring performed on the digital coupons 179 in the initial pool mentioned above.
In some situations, the initial pool of digital coupons 179 may not be identified, where one or two select factors are used to identify digital coupons 179 to include in a given network page 189. Such factors deemed to be the most relevant factors to a given situation may typically only identify a small number of digital coupons 179, thus bypassing the need to score digital coupons 179 to determine the ultimate subset of digital coupons 179 that should be included in a given network page 189.
Referring then to
The network page 189a also includes a coupon book 209 that lists a plurality of digital coupons 179. The digital coupons 179 presented in the coupon book 209 as part of the network page 189a are restricted to a subset of all of the digital coupons 179 that are stored in the data store 113 (
Once a customer clicks on or otherwise selects a digital coupon 179 while browsing various items 136, according to one embodiment, the electronic commerce system 123 tracks those digital coupons 179 selected by customers and applies the respective benefits offered by those digital coupons 179 at checkout when such items 136 are purchased. Alternatively, the redemption of digital coupons 179 may be implemented in some other manner.
In addition, it may be the case that at a given time, a vendor may have two or more digital coupons 179 active for use by the electronic commerce system 123. In one embodiment, a vendor may specify that only a single digital coupon 179 is to be presented for a given item 136 at a time to prevent a customer from being able to redeem multiple digital coupons 179 for the same item 136.
With reference to
With reference to
To begin, in box 303, the coupon prioritization process 126 identifies an initial pool of relevant digital coupons 179 to present to a customer. There may be several factors that are taken into account to determine whether a given digital coupon 179 is relevant for purposes of consideration as to whether such digital coupon 179 should be included in a network page 189. Factors requiring knowledge of the identity of the customer are generally considered when the identity of the customer is known as mentioned above.
Factors to consider may comprise, for example, demographics and other information known about a customer may be examined to determine which digital coupons 179 may be applicable to a given customer. For example, if the customer is a parent with young children, then digital coupons 179 may be selected that relate to items 136 that relate to children such as diapers, sippy cups, baby food, infant formula, and other items, etc.
Also, the various factors that may be considered is whether an affinity exists between a pair or group of digital coupons 179, where the respective user has previously selected or redeemed one of the digital coupons 179 in the pair or group. For example, the affinity between digital coupons 179 may be identified by identifying among several customer accounts 153 (
Another factor involves whether increased exposure is to be given for digital coupons 179 for respective vendors who pay a fee for such treatment. Such vendors may pay a fee to increase the probability that one or more digital coupons 179 will be selected for inclusion in a given network page 189 generated by the electronic commerce system 123. Thus, for example, where other factors may not indicate a strong relationship or relevance to the generation of the current network page 189, it may be that enhanced exposure paid for by a respective vendor may cause such digital coupon 179 to be selected for inclusion in the network page 189 currently under construction.
Still other factors that may be considered in selecting digital coupons 179 for inclusion in a network page 189 currently under construction may include the conversion rates and/or impression rates associated with such digital coupons 179. For example, a digital coupon 179 that has an unusually high conversion rate indicates the popularity of such a digital coupon 179 relative to other digital coupons 179, thereby increasing the desirability of such digital coupon 179 for selection to include in the network page 189 under construction. As contemplated herein, the concept of “conversion” involves the user clicking on a given digital coupon 179 or otherwise taking such actions so as to redeem the digital coupon 179. Alternatively, the concept of conversion may include clicking on or otherwise manipulating a digital coupon 179 in order to learn more about it, etc. As such, conversion may include any action taken with respect to a given digital coupon 179 by a customer.
The impression rate of a given digital coupon 179 involves the number of times that the digital coupon 179 is used in the creation of network pages 189. A higher impression rate potentially indicates a greater relevance to the creation of various network pages 189. Alternatively, a higher impression rate may indicate the overuse of a given digital coupon 179, thereby indicating that it is less desirable to include in a given network page 189.
In addition, the coupon prioritization process 126 may examine the past browse history 156 (
To this end, if the browse history 156 and/or the purchase history 159 indicate a hobby of a user, then digital coupons 179 related to such hobby would be relevant to the network page 189 under construction. For example, if a customer views and purchases tents and camping equipment, such a customer may be an outdoor enthusiast. Consequently, this indicates that digital coupons 179 relating to outdoors equipment and the like may be more desirable for inclusion in a given network page 189 to be rendered for such a customer.
Another factor involves the subject matter of the network page 189 under construction. Specifically, digital coupons 179 identified as related to the subject matter of the network page 189 may be deemed important to include in the network page 189.
In addition, the coupon usage history 163 may be examined to identify digital coupons 179 that the customer had previously redeemed that may be similar in subject matter to the digital coupons 179 under consideration. Those digital coupons 179 that may be deemed relevant to past redeemed digital coupons 179 may be included in the initial pool of relevant coupons.
Yet another factor to consider is the geographical location of the customer in situations where the customer is unknown and address information in a respective one of the customer accounts 153 is not available. In such case, the various approaches may be consulted as described in U.S. patent application entitled “Mapping Attributes to Network Addresses” filed on Jun. 29, 2007 and assigned application Ser. No. 11/771,679, which is incorporated herein by reference in its entirety. Such approaches may provide a general geographical location or other information about a customer.
In addition, there may be many other factors to consider in determining whether a given digital coupon 179 is relevant to the network page 189 under construction to the extent that it should be included in the initial pool of digital coupons 179 to be considered for presentation to the user in box 303.
Assuming that the initial pool of digital coupons 179 is identified in box 303 as mentioned above, then the coupon prioritization process 126 proceeds to box 306 in order to calculate a score for each of the digital coupons 179 included in the initial pool for purposes of determining a priority of such digital coupons 179 for presentation to the customer in the current network page 189 under construction. In order to calculate the score for each of the digital coupons 179, various approaches may be employed. In one example, an equation may be used that comprises a weighted summation of values, where each of the values is derived from any one of a number of factors as described above. For example, such a formula may be stated as follows:
Score=C1f1+C2f2+C3f3+ . . . +CNfN.
As set forth above, each factor f is weighted by a constant C that may be assigned based on experience to indicate the relative importance of each factor f in considering the score for a given digital coupon 179. Each of the factors f may comprise, for example, the affinity between respective digital coupons 179 as mentioned above. Specifically, such an affinity may comprise situations where it is determined that customers who redeem or otherwise show interest in a first digital coupon 179 also redeem or show interest in a second digital coupon 179 as described above. Another factor f may include any payment for increased exposure received from a vendor. In addition, other factors f may include conversion rates and/or impression rates as described above.
Further, other factors f to consider include the relevance of a digital coupon 179 to the subject matter of the browse history 156 of the customer, the subject matter of the purchase history 159 of the customer, or the subject matter of the coupon usage history 163 as described above. In addition, there may be other factors not described herein that may be considered in calculating a score for a respective digital coupon 179.
In order to quantify a value for each of the respective factors, one may examine the factor f relevant to other instances of a same factor for other subject matter, etc. For example, the determination may be made as to the strength of a given affinity between two digital coupons 179 based upon the number of different customers that have redeemed both digital coupons 179 relative to other such affinities identified. The greater the number of customers who have shown such an affinity relative to the average affinity experienced with other pairs of digital coupons 179, the greater the value assigned. Also, a value may be assigned with respect to the payment for increased exposure by a given vendor. Similarly, values may be assigned to respective conversion rates and impression rates relative to the average conversion rates and impression rates associated with other digital coupons 179. In addition, various algorithms may be employed to determine the relevance of a given digital coupon 179 to the subject matter of a browse history 156, purchase history 159, and/or coupon usage history 163, etc.
In addition, another factor may comprise a geographical location of a customer as determined from an IP address as described in U.S. patent application entitled “Mapping Attributes to Network Addresses” filed on Jun. 29, 2007 and assigned application Ser. No. 11/771,679, which is incorporated herein by reference in its entirety. A value may be obtained indicating the degree to which a given digital coupon 179 is relevant to a geographical location or other factor identified as described in the above-referenced patent application.
Thus, in box 306, a score is calculated for each of the digital coupons 179 identified in the initial pool of digital coupons 179 in box 303 above. Thereafter, in box 309, a list of the digital coupons 179 is sent to the requesting process such as the electronic commerce system 123 to be included in the current network page 189 under construction. In this respect, a predefined number of digital coupons 179 may be sent to the electronic commerce system 123. Such predefined number of digital coupons 179 may comprise a subset of the digital coupons 179 having the highest scores calculated in box 306.
The total number of digital coupons 179 to be sent to the electronic commerce system 123 may depend, for example, upon the number requested from the electronic commerce system 123 or based upon a standard number specified for the operation of the coupon prioritization process 126. For example, each network page 189 may only have room for a predefined number of digital coupons 179. Further, where multiple different numbers may be employed, there may be a table specified with different quantities of digital coupons 179 indicated therein for specific situations. Once the list of digital coupons 179 is sent to the requesting process of the electronic commerce system 123 in box 309, then the coupon prioritization process 126 ends as shown.
Referring next to
Stored in the memory 406 are both executable applications and/or systems executed by the processor 403 and data. In particular, stored in the memory 406 and executable by the processor 403 are a server operating system 413, the electronic commerce system 123, the coupon prioritization process 126, and potentially other applications and/or systems, etc. Also, stored in the memory 406 is the data store 113 in which are stored the various data items described above so as to be accessible to the processor 403. It is understood that other data may be stored in the memory 406 and accessed by the processors 403 beyond the data described above.
A number of software components are stored in the memory 406 and are executable or executed by the processor 403. In this respect, the term “executable” means a program file that is in a form that can ultimately be run by the processor 403. Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory 406 and run by the processor 403, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory 406 and executed by the processor 403, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory 406 to be executed by the processor 403, etc. An executable program may be stored in any portion or component of the memory 406 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
The memory 406 is defined herein as both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory 406 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
In addition, the processor 403 may represent multiple processors and the memory 406 may represent multiple memories that operate in parallel. In such a case, the local interface 409 may be an appropriate network that facilitates communication between any two of the multiple processors, between any processor and any one of the memories, or between any two of the memories etc. The local interface 409 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing. The processor 403 may be of electrical or of some other available construction.
The various applications or other components described above may be implemented using any one or more of a number of programming languages such as, for example, C, C++, C#, Visual Basic, VBScript, Java, JavaScript, Perl, Ruby, Python, Flash, or other programming languages.
Although the various applications and other components such as the electronic commerce system 123 and/or the coupon prioritization process 126 described above may be embodied in software or code executed by general purpose hardware, as an alternative each may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
The flowchart of
Although the flowchart of
Also, where the various applications, systems, and/or other components described herein such as the electronic commerce system 123 and/or the coupon prioritization process 126 comprise software or code, each can be embodied in any computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor in a computer system or other system. In this sense, the applications or engines may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present disclosure, a “computer-readable medium” can be any medium that can contain, store, or maintain logic or code for use by or in connection with the instruction execution system. The computer readable medium can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.