1. Field of the Invention
The present invention relates generally to loyalty reward programs, and more particularly to generating a personalized uniform resource locator on a client computer system to connect to a merchant and obtain loyalty rewards.
2. Related Art
With the advent of online shopping opportunities, merchants have been looking for ways to attract shoppers to their websites and products. One way in they attract shoppers is through the use of online loyalty programs.
A consumer joins a reward program to receive “points” or “miles” in return for making purchases from a particular merchant, through a particular online shopping mall, for using a particular financial transaction instrument and the like. After the consumer has accumulated a certain number of points or miles, a benefit or reward offered under the program may be redeemed. Common rewards include cash, travel rewards, discounts, coupons, or other such promotions.
At the back end, a rewards program manager (or simply “rewards manager”), merchants, and reward program providers must reconcile transactions made by the consumer in order to update their loyalty account balances. In some cases, the rewards manager must also interact with financial transaction instrument issuers (commonly referred to as “card issuers”) or the merchants to present offers to cardmembers.
Electronic wallets (“e-wallets”) or “digital wallets” are sometimes used to allow consumers to make electronic commerce transactions quickly and securely. An e-wallet functions much like a physical wallet except that instead keeping real money, payment information is stored in an electronic storage device and used to make purchases. One useful aspect of an e-wallet is that it helps consumers avoid retyping their information each time they make a purchase. Retyping the same information often frustrates electronic shoppers, causing them to simply cancel a purchase. The e-wallet application stores the consumer information such as credit or debit card information, address information, shipping information, password information, and the like, and inserts this information upon the user's instruction. An e-wallet can be located on a computer system of a consumer, at a merchant's site, or at a third party's site.
Building long-term, dedicated consumer relationships has been challenging for online merchants. One technical challenge involves providing users with a secure and simple way of making online purchases, while simultaneously personalizing their shopping, transaction and rewards experiences and benefits.
The present invention meets the above-identified needs by providing a system, method and computer program product for generating a personalized uniform resource locator on a client system to connect to a merchant and obtain loyalty rewards.
In one embodiment a method and computer readable medium are provided for communicating with a merchant. Via a user interface, a selection corresponding to a merchant is received. A rewards manager uniform resource locator associated with a rewards manager, a reward value associated with at least one of the merchant and a cardmember, and authentication data associated with the cardmember, are all retrieved from various memory units. A personalized uniform resource locator is built based on the rewards manager uniform resource link, the reward value and the authentication data. A connection to the merchant through a network is established using the personalized uniform resource locator.
In another embodiment, a system for communicating with a merchant web service is provided. The system includes a user interface, various memory units, a processor, and a network interface. The user interface is constructed to receive a selection corresponding to a merchant. The various memory units store a rewards manager uniform resource locator associated with a rewards manager, a reward value associated with at least one of the merchant and a cardmember, and authentication data associated with the cardmember. The processor is configured to build a personalized uniform resource locator based on the rewards manager uniform resource link, the reward value and the authentication data. The network interface configured to connect to the merchant through a network using the personalized uniform resource locator.
Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings.
The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings.
The present invention is directed to a system, method and computer program product for generating a personalized uniform resource locator on a client system to connect to a merchant and obtain loyalty rewards. Generally, an online toolbar (also referred to as an “online tool” or simply “toolbar”) is provided to a user to add to a browser. The toolbar, once installed, allows the user (e.g., a cardmember) to select a merchant website from a menu of merchant websites.
The user may customize the menu from lists of preselected merchants. For example, the menu can be customized from a list of merchants affiliated with the card issuer, a rewards program, the provider of the toolbar, a third-party, or the like. When the user selects (i.e., “clicks”) a merchant website from the menu, specific information about the user and the URL of the website to be accessed are used to build a personalized URL. The personalized URL, in turn, is used to connect to the website and initiate rewards program processing.
Information in the personalized URL includes, for example, a user identifier, information about the selected website, and rewards program information. A rewards manager recognizes the user identifier and rewards program information in the personalized URL, and redirects the user to the requested website. After the user is taken to the requested website using the personalized URL, the user shops and is able to make purchases.
The rewards manager determines whether the user is attempting to access the website via the online tool based on the information in the personalized URL. If a determination is made that the website has been accessed through the online tool, the rewards manager notifies the merchant website. In turn, a rewards program provider is also notified. The rewards program provider then issues rewards based on predetermined business rules (e.g., 1× point, 2× points, everyday spend, non-everyday spend, etc.), and the rewards are awarded to the user according to a transaction.
The terms “user,” “client,” “customer,” “cardmember,” “shopper,” “consumer,” and/or the plural form of these terms are used interchangeably throughout herein to refer to those persons or entities capable of accessing, using, being affected by and/or benefiting from the present invention.
A “merchant” as used herein refers to any person, organization, distributor system, software and/or hardware that is a provider, broker and/or any other organization in the distribution chain of goods or services. For example, a merchant may be a grocery store, a retail store, a travel agency, a service provider, an on-line merchant or the like. The term “vendor” is sometimes used interchangeably with the term “merchant”.
A “financial transaction instrument,” as used herein refers to any of the following: a traditional “plastic” transaction card (e.g., a credit card, a charge card, a debit card, a gift card, a pre-paid or stored-value card, or the like); a titanium-containing, or other metal-containing, transaction card; a clear or translucent transaction card; a foldable or otherwise unconventionally-sized transaction card; a radio-frequency-enabled transaction card; or any other type of card used in connection with a financial transaction.
A financial transaction instrument may be configured with electronic functionality. For example, such an instrument can have electronic circuitry that is printed or otherwise incorporated onto or within it (commonly being referred to as a “smart card”), or may be a fob-type device having a transponder and a radio-frequency identification (“RFID”) reader. Additionally, a financial transaction instrument may be magnetically encoded with information, such as through use of a magnetic stripe, for example. Optionally, a financial transaction instrument may include a visible card identification number (“CID”) uniquely identifying a corresponding transaction account, in case the transaction instrument cannot easily be read electronically or magnetically.
A “card” as used herein refers to both “open cards” and “closed cards.” “Open cards” are financial transaction instruments that are generally accepted at different merchants. Examples of open cards include the AMERICAN EXPRESS, VISA, MASTERCARD, and DISCOVER Cards, which may be used at many different retailers and other businesses. In contrast, “closed cards” are financial transaction instruments that may be restricted to use in a particular store, a particular chain of stores or a collection of affiliated stores. One example of a closed card is a pre-paid gift card that may only be purchased at, and only be accepted at, a clothing retailer, such as The GAP store.
An “account” as used herein refers to an account associated with an open account or a closed account system. The account may exist in a physical or non-physical embodiment. For example, an account may be distributed in non-physical embodiments such as an account number, frequent-flyer account, telephone calling account or the like. Furthermore, a physical embodiment of a transaction account may be distributed as a financial transaction instrument.
A “card issuer” and “issuer” as used herein refer to an organization that issues a transaction account and associated financial instrument (e.g., payment device, transaction card, and the like) to a cardmember. They also are responsible for maintaining details of the cardmember's account including eligibility for services, payments made, charges incurred, and the like.
An “e-wallet” or “digital wallet” as used herein refers to any data storage implementation which allows data associated with a customer, such as financial transaction instrument information, account information, address information, shipping information, password information, and the like, to be stored.
A “service” or “web service” as used herein refers to one or more software components, hardware components, or any combination thereof, associated with providing, receiving, and/or interfacing with data over a network.
“Toolbar,” “online tool,” and “tool” as used herein refers to one or more software components, hardware components, or any combination thereof, associated with providing, receiving, and/or interfacing with data over a network.
“Loyalty rewards program” and “rewards program” as used herein refers to any program associated with providing an incentive based on one or more actions and/or transactions.
“Loyalty rewards,” “rewards,” “reward points,” “miles,” and “reward miles, as used herein refer to any incentive associated with a rewards program.
“Rewards account” as used herein refers to an account associated with a rewards program.
A “direct merchant” as used herein is any merchant which does not provide additional rewards for using the toolbar of the present invention.
An “indirect merchant” as used herein is any merchant which does provide additional reward for using the toolbar of the present invention.
The individual logic units of decisioning/orchestration units, and processes described below (i.e., blocks 102-116, and processes 200 and 300) may be implemented in one or more computer systems, servers, and/or other processing systems. In addition, units 102-116, and processes 200 and 300 can be operated and controlled by one or more card issuer systems, third party systems, or a combination of each. A more detailed description of an exemplary implementation is described below with respect to
A toolbar 104 is provided to a client computer system 102 of a user 100 over a network by, for example, a card issuer system, a loyalty program manager or provider, a merchant or other third party system, or a combination of each. Once loaded and installed onto the client computer system 102, the toolbar 104 operates in conjunction with a web browser on the client computer system 102 such that when the web browser is launched, the toolbar is made available to the user 100. The toolbar 104 can also be configured as a standalone toolbar, floating toolbar, dockable toolbar, or in its own frame window. Accordingly, while the embodiments descried herein are in the context of a toolbar added to a browser, it should understood that other forms of these toolbars can be implemented and still be within the scope of the invention.
If the toolbar 104 has not been delivered preconfigured with information about the user, a configuration step is performed. A user 100 and/or a remote party (e.g., a card issuer, reward program provider 112, etc.), supplies toolbar 104 with authentication information including information about the user 100 sufficient to associate the user 100 with a rewards program. In turn, toolbar 104 stores the authentication information of rewards program provider 112 in an e-wallet 106 in a memory.
Where a merchant site is selected form the toolbar, the authentication information is passed via a personalized URL from toolbar 104 to rewards manager 108, and then onto merchant website 110. In turn, merchant website 110 passes the authentication information to rewards program provider 112 for authentication of the user 100 at rewards program provider 112. Alternatively, the authentication information can be passed to the rewards program provider 112 from the program manager 108, without having to pass through the merchant website 110. In such an alternative, the rewards manager 108, merchant website 110, rewards program provider 112 are in communication with each other to identify the particular user 100 making a purchase at merchant website 110, even though merchant website 110 is not passed the authentication information of user 100.
The user authentication information includes a membership rewards number that is associated with an existing loyalty rewards account for user 100 with rewards program provider 112. In addition to a membership rewards number, other user authentication information, such as a user's name, username, password, etc., is stored in e-wallet 106, as needed for authenticating user 100 at rewards program provider 112. This information can be encrypted or coded, to provide a secure means of communicating the user's authentication information.
Authentication information for other rewards program providers is also stored in e-wallet 106 if desired. The authentication information stored in e-wallet 106 is updated/managed by the user 100 and/or a remote third-party (e.g., rewards manager 108, reward program provider 112, etc.).
Distinct from authentication at rewards program provider 112, toolbar 104 has its own user authentication for the logging the user 100 into the toolbar 104. Toolbar 104 authenticates the user 100 using known authentication means, such as a username/password, a biometric, etc. Once authenticated, the user 100 is then logged into the toolbar 104. Toolbar 104 user authentication occurs locally at the computer device running the toolbar 104, or in conjunction with a remote server such as a server associated with rewards program provider 112 or other server capable of authenticating the user 100.
A user 100 need not log into the toolbar 104 until access to e-wallet 106 is requested. For instance, user 100 may browse the merchants accessible via the toolbar 104 without logging in. When the user 100 requests access to merchant website 110, if user 100 is not already logged in, then toolbar 104 requests the user 100 to log in so that rewards program provider 112 authentication information for user 120 can be accessed from e-wallet 106 and sent to rewards manager 108.
As described above, toolbar 104 stores a list of merchants 116 that the user 100 is able to access via the toolbar 104. A website for a particular merchant in the list of merchants 116 is exemplified as merchant website 110 in
The list of merchants 116 is initially predefined in the toolbar 104. For example, a card issuer, loyalty rewards program administrator, third party, etc., selects a predetermined set of merchants (e.g., ten merchants) either before or after the toolbar 104 is installed on the client computer system 102 of user 100. Updates to the list of merchants 116 are provided to the toolbar 104 by a remote server on a network such as rewards manager 108, rewards program provider 112, etc. Additionally, user 100 can customize the list of merchant websites 116 based on a complete list of merchants affiliated with rewards program provider 112.
The list of merchants 116 includes one or more merchants classified as either a direct merchant (i.e., merchants not affiliated with the rewards manager 108) or indirect merchants (i.e., merchants affiliated with the rewards manager 108). When user 100 shops at a direct merchant, rewards program provider 112 does not provide additional rewards for using the toolbar 104, but the storefronts (e.g., merchant website 110) of direct merchants can still be viewed through the rewards manager 108 and ordinary rewards through reward program provider 112 can be obtained through them.
When user 100 shops at an indirect merchant, rewards program provider 112 issues bonus rewards offers to user 100 for making purchases at websites (e.g., merchant website 110) in addition to the traditional rewards issued for making a particular purchase. The bonus rewards are added to the existing loyalty rewards account of user 100 which is managed by rewards program provider 112. Accordingly, the amount of loyalty rewards (i.e., whether a bonus applies) can depend on whether the merchant is affiliated with the rewards manager 108 or not. For each purchase transaction processed by rewards program provider 112, the rewards account of the user at rewards program provider 112 is credited rewards based on the type of merchant (i.e., whether the merchant is affiliated with the rewards manager 108 or not).
By offering bonus rewards, the toolbar 104 drives users to shop online more often providing additional spend volume, interchange revenue, and opportunities for product cross sell (e.g., cross sell of merchant and card issuer products and services) and marketing. In addition, the toolbar 104 drives users to spend on merchant products through a convenient online shopping experience and in return, rewards them for using the tool to shop online.
Bonus rewards are based on predetermined business rules established by the reward program provider 112. In one example aspect, the user provides input as to a preferred bonus structure, and desired marketing. For instance, based on the type of transaction (e.g., everyday spend versus non-everyday spend as described in U.S. Patent Application Publication No. 2004/0068438, which is hereby incorporated by reference in its entirety), the user 100 may receive 2× points (double points), 4×, etc.
For each merchant in the list of merchants 116, toolbar 104 stores an associated merchant identifier (“merchant ID”) and one or more bonus reward offer identifiers (“bonus reward offer IDs”), if applicable to the particular merchant. Direct merchants will not have an associated bonus reward offer, since those merchants do not offer bonus rewards in conjunction with the toolbar 104.
Toolbar 104 displays the list of merchants 116 to the user 100 within a graphical user interface (“GUI”). The user 100 selects a merchant from the list to shop from and is taken to the merchant website 110 of the selected merchant. Examples of the toolbar 104 GUI include a scrollable menu, drop-down menu, etc.
Toolbar 104 may also display information regarding bonus reward offers, if any, available for shopping at a respective merchant website 110 of each merchant in the list of merchants 116. When the user selects a merchant from the list of merchants 116 to shop with, the user 100 is routed to a respective merchant website 110 via a personalized uniform resource locator (URL).
Toolbar 104 generates the personalized URL either before the user selects a merchant (i.e., pre-defined) or in response to the user's selection of a merchant (i.e., dynamic). The personalized URL includes information for accessing rewards manager 108, such as a URL to a web server associated with rewards manager 108, the merchant ID of the selected merchant, and the membership rewards number of user 100. In addition, when an indirect merchant is selected, then the personalized URL also includes a bonus rewards offer ID indicating the bonus reward that the user 100 should be awarded by rewards program provider 112. Other information such as security information (e.g., security certificate) can also be incorporated into the personalized URL.
In response to the user 100 selecting a merchant from the list of merchants 116, a request to access merchant website 110 is routed from toolbar 104 to the rewards manager 108 by using the personalized URL. The rewards manager 108 receives the request and detects that the request is from toolbar 104 based on the additional information included in the URL, e.g., merchant ID, bonus rewards offer ID, etc.
Upon detection that the request is from toolbar 104, rewards manager 108 uses the merchant ID included in the personalized URL to lookup a URL for the respective merchant web site 110 of the merchant that the user 100 selected. Rewards manager 108, in turn, redirects the request from toolbar 104 to the merchant website 110. In addition to redirecting the request to merchant website 110, rewards manager 108 passes the membership rewards number of user 100 to merchant website 110. In the case that the user 100 selected an indirect merchant from the list of merchants 116 and a bonus rewards offer ID is present in the personalized URL, the rewards manager 108 also passes the bonus rewards offer ID to the merchant website 110.
After the rewards manager 108 redirects the request to merchant website 110, the browser on the client computer system 102 of user 100 (which is operating in conjunction with toolbar 104) communicates with the merchant website 110 without routing further communications through rewards manager 108. The user 100 is able to browse and shop merchant website 110 via the browser as he or she desires.
When the user 100 makes a purchase at the merchant website 110, the merchant website 110 notifies the program provider 112 of the purchase. Because the merchant website 110 has already received authentication information of rewards program provider 112 for user 100, the merchant website 110 need not request the user 100 to log into program provider 112. Instead, in the notification sent to the rewards program provider 112 regarding the purchase, the merchant website 110 sends the membership rewards number (or similar type information) of user 100 to authenticate the user 100. In addition, when a bonus rewards offer ID is received by the merchant website 110, it is also passed to rewards program provider 112 so that the correct bonus rewards can be issued.
The rewards program provider 112 receives the data sent from the merchant website 110 and provides rewards based on the purchase at merchant website 110. Using the membership rewards number of user 100, the rewards program provider 112 authenticates the user 100 against the membership rewards numbers stored in user rewards account datastore 114. If a match exists in user rewards account datastore 114, then the user 100 is deemed authenticated and the rewards program provider 112 issues rewards to the loyalty rewards account of user 100. The account of user 100 in the user rewards account datastore 114 is updated accordingly by the rewards program provider 112.
Additionally, if a bonus reward offer ID was sent to the rewards program provider 112 from website 110, then the rewards program provider 112 determines the particular bonus rewards offer associated with the bonus rewards offer ID. The rewards program provider 112 then issues bonus rewards to the loyalty rewards account for user 100 based on the particular bonus rewards offer.
While the above features have been generally described with respect to a single user 100 being issued rewards with by a single rewards program provider 112, the features apply equally to a plurality of users and rewards program providers.
In addition to generating the personalized URL, the rewards manager 108 also obtains and/or generates a unique identifier for user 100. This unique identifier is passed to rewards provider 112, merchant, and/or other affiliate networks depending on the merchant and stored in a rewards provider database. The rewards provider 112 can thus maintain the unique identifier (e.g., cookie information) on a partner site where the user shops.
For instance, rewards manager 108 generates and places a network cookie containing the unique identifier of user 100 on client computer system 102 of user 100. The cookie is, in turn, is readable by the merchant website 110. After the user 100 makes a purchase, the merchant website 110 logs a record of the transaction and associates the transaction with the unique identifier. At predetermined intervals or as desired, the merchant website 110 provides rewards program provider 112 all the transactions associated with the unique identifiers associated with the rewards program provider 112. The rewards program provider 112, in turn, parses all of the purchases made on the merchant site(s), and matches them back to the unique identifier. This information is then sent to the rewards manager 108. Merchants pay the rewards program provider 112 for leads that generate sales. In turn, the rewards program provider 112 parses the payments and sends them to the rewards manager 108.
In block 201, the toolbar 104 builds a personalized URL that is personalized with respect to user 100. The personalized URL includes an address of rewards manager 108 (e.g., a URL), a merchant identifier identifying a specific merchant, a bonus rewards offer identifier, and authentication data of user 100. The bonus rewards offer identifier is an identifier recognizable by rewards program provider 112 for identifying a particular rewards offer. The authentication data is any data which allows the rewards program provider 112 to authenticate user 100 (e.g., a reward account number of user 100).
An example personalized URL is shown in block 207, where the “RewardsManagerURL” portion contains a URL of rewards manager 108, the “placementID” portion contains a merchant identifier and a bonus rewards offer identifier, and the “RewardsAccountNumber” portion contains the rewards account number of user 100 at rewards program provider 112.
At block 202, in response to a request by user 100 to access a merchant, toolbar 104 sends an access request over the network to rewards manager 108. The access request includes a request to access a merchant website 110 associated with the merchant. The network routes the access request to rewards manager 108 by using the personalized URL, and, in particular, the address of the rewards manager 108 contained within the personalized URL. Rewards manager 108 receives the access request and, at block 203, detects that the access request is from toolbar 104 based on the additional information included in the URL, e.g., merchant identifier, bonus rewards offer identifier, etc.
At block 204, upon detection that the request is from toolbar 104, rewards manager 108 uses the merchant identifier included in the personalized URL to lookup the address (e.g., URL) for the respective merchant website 110. Using the retrieved address, rewards manager 108 redirects the access request from rewards manager 108 to the merchant website 110. In addition to redirecting the access request to merchant website 110, rewards manager 108 sends the bonus rewards offer identifier and the authentication data of user 100 to merchant website 110.
After rewards manager 108 redirects the access request to merchant website 110, the browser on client computer system 102 of user 100 (which is operating in conjunction with toolbar 104) communicates with merchant website 110. The user 100 is able to browse and shop merchant website 110 via the browser as he or she desires.
At block 205, user 100 makes a purchase at merchant website 110. In turn, merchant website 110 sends a notification to program provider 112 regarding the purchase. In the notification, merchant website 110 sends the bonus rewards offer identifier and authentication data of user 100 to rewards program provider 112. At block 206, rewards program provider 112 receives the notification sent from merchant website 110 and authenticates user 100 based on the authentication data. If user 100 is authenticated, then rewards program provider 112 issues rewards to the loyalty rewards account of user 100 based on the bonus rewards offer identifier.
Particularly, process 300 is directed to toolbar 104 generating a personalized URL to connect to a merchant website 110 via a browser operating in conjunction with the toolbar 104. The personalized URL itself contains a hash value that allows the rewards manager 108 to access the authentication data of user 100 for authenticating user 100 at rewards program provider 112.
In block 301, the toolbar 104 builds a personalized URL that is personalized with respect to user 100. The personalized URL includes an address of rewards manager 108 (e.g., a URL), a merchant identifier identifying a specific merchant, a bonus rewards offer identifier, and a hash value associated with user 100. The bonus rewards offer identifier is an identifier recognizable by rewards program provider 112 for identifying a particular rewards offer. The hash value is a value that allows rewards manager 108 to lookup the authentication data of user 100 for authentication at rewards program provider 112.
At block 302, in response to a request by user 100 to access a specific merchant, toolbar 104 sends an access request over the network to rewards manager 108. The access request includes a request to access a merchant website 110 associated with the merchant. The network routes the access request to rewards manager 108 by using the personalized URL, and, in particular, the address of the rewards manger 108 contained within the personalized URL. The rewards manager 108 receives the request and, at block 303, detects that the request is from toolbar 104 based on the additional information included in the URL, e.g., merchant identifier, bonus rewards offer identifier, etc.
At block 304, upon detection that the request is from toolbar 104, rewards manager 108 uses the merchant identifier included in the personalized URL to lookup the address (e.g., URL) for the respective merchant website 110. Using the retrieved address, rewards manager 108 redirects the access request from rewards manager 108 to the merchant website 110.
At block 305, the rewards manger 108 uses the hash value of user 100 to retrieve the authentication information of user 100. In addition to redirecting the access request to merchant website 110, rewards manager 108 sends the bonus rewards offer identifier and the retrieved authentication data of user 100 to merchant website 110.
After the rewards manager 108 redirects the access request to merchant website 110, the browser on the client computer system 102 of user 100 (which is operating in conjunction with toolbar 104) communicates with the merchant website 110. The user 100 is able to browse and shop merchant website 110 via the browser as he or she desires.
At block 306, user 100 makes a purchase at merchant website 110. In turn, merchant website 110 sends a notification to program provider 112 regarding the purchase. In the notification, merchant website 110 sends the bonus rewards offer identifier and the authentication data of user 100 (retrieved in block 305) to rewards program provider 112. At block 307, the rewards program provider 112 receives the notification sent from merchant website 110 and authenticates the user 100 based on the authentication data. If user 100 is authenticated, then rewards program provider 112 issues rewards to the loyalty rewards account of user 100 based on the bonus rewards offer identifier.
The present invention (i.e., the modules of
In fact, in one embodiment, the invention is directed toward one or more computer systems capable of carrying out the functionality described herein. An example of a computer system 400 is shown in
The computer system 400 (which may take the form of a main frame computer) includes one or more processors, such as processor 404. The processor 404 is connected to a communication infrastructure 406 (e.g., a communications bus, cross-over bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or architectures.
Computer system 400 can include a display interface 402 that forwards graphics, text, and other data from the communication infrastructure 406 (or from a frame buffer not shown) for display on the display unit 430.
Computer system 400 also includes a main memory 408, preferably random access memory (RAM), and may also include a secondary memory 410. The secondary memory 410 may include, for example, a hard disk drive 412 and/or a removable storage drive 414, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 414 reads from and/or writes to a removable storage unit 418 in a well known manner. Removable storage unit 418 represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 414. As will be appreciated, the removable storage unit 418 includes a computer usable storage medium having stored therein computer software and/or data.
In alternative embodiments, secondary memory 410 may include other similar devices for allowing computer programs or other instructions to be loaded into computer system 400. Such devices may include, for example, a removable storage unit 422 and an interface 420. Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units 422 and interfaces 420, which allow software and data to be transferred from the removable storage unit 422 to computer system 400.
Computer system 400 may also include a communications interface 424. Communications interface 424 allows software and data to be transferred between computer system N00 and external devices. Examples of communications interface 424 may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface 424 are in the form of signals 428 which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 424. These signals 428 are provided to communications interface 424 via a communications path (e.g., channel) 426. This channel 426 carries signals 428 and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and other communications channels.
In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage drive 414, a hard disk installed in hard disk drive 412, and signals 428. These computer program products provide software to computer system 400. The invention is directed to such computer program products.
Computer programs (also referred to as computer control logic) are stored in main memory 408 and/or secondary memory 410. Computer programs may also be received via communications interface 424. Such computer programs, when executed, enable the computer system 400 to perform the features of the present invention, as discussed herein. In particular, the computer programs, when executed, enable the processor 404 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 400.
In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 400 using removable storage drive 414, hard drive 412 or communications interface 424. The control logic (software), when executed by the processor 404, causes the processor 404 to perform the functions of the invention as described herein.
In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
In yet another embodiment, the invention is implemented using a combination of both hardware and software.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein without departing from the spirit and scope of the present invention. Thus, the present invention should not be limited by any of the above described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
In addition, it should be understood that the figures and screen shots illustrated in the attachments, which highlight the functionality and advantages of the present invention, are presented for example purposes only. The architecture of the present invention is sufficiently flexible and configurable, such that it may be utilized (and navigated) in ways other than that shown in the accompanying figures.
Further, the purpose of the foregoing Abstract is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. The Abstract is not intended to be limiting as to the scope of the present invention in any way. It is also to be understood that the steps and processes recited in the claims need not be performed in the order presented.
This application claims priority to, and the benefit of, U.S. Provisional Patent Application Ser. No. 61/138,711, filed Dec. 18, 2008, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61138711 | Dec 2008 | US |