A pay-per-use device, such as a computer or cellular telephone often allows addition of usage time by purchasing a pre-paid card or adding funds to a debit account. However, in many instances, a user may not be in a position to use all the time purchased and risks losing some of the pre-paid funds. Some environments, such as an Internet cafe, allow a user to buy a block of time from the store operator, who receives payment from the user. To set up such an environment, an intermediary, such as the I-cafe operator or a public resource such as a library, may have to invest a significant amount of funds to establish the facilities for providing use to casual users.
The adoption of a pay-per-use computer, received for free or at a subsidized price, may allow such establishments to offer casual-use computing to constituents while an underwriter recoups the subsidy over time. However, management of a collection of pay-per-use computers may become cumbersome and prone to expiration if the staff does not closely watch each computer's status. Individual monitoring may be difficult or involve actions viewed by users as intrusive. Therefore, management of individual pay-per-use computers or other pay-per-use assets may be difficult.
A management console may be used to monitor metering status and act on behalf of individual pay-per-use devices to add usage value, such as time, allowing central management of each device and avoiding time consuming and potentially intrusive individual monitoring. A user interface on the management console may allow monitoring of time for each designated pay-per-use device and may allow alerts to be set for signaling an operator at different points of operation. The management console may allow use of a pool of time that can be locally distributed to individual machines. In another embodiment, the management console may have access to device information allowing the management console to act on behalf of the device when purchasing usage time or updating a subscription.
Although the following text sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this disclosure. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
It should also be understood that, unless a term is expressly defined in this patent using the sentence “As used herein, the term ‘______’ is hereby defined to mean . . . ” or a similar sentence there is no intent to limit the meaning of that term, either expressly or by implication, beyond its plain or ordinary meaning, and such term should not be interpreted to be limited in scope based on any statement made in any section of this patent (other than the language of the claims). To the extent that any term recited in the claims at the end of this patent is referred to in this patent in a manner consistent with a single meaning, that is done for sake of clarity only so as to not confuse the reader, and it is not intended that such claim term by limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by reciting the word “means” and a function without the recital of any structure, it is not intended that the scope of any claim element be interpreted based on the application of 35 U.S.C. § 112, sixth paragraph.
Much of the inventive functionality and many of the inventive principles are best implemented with or in software programs or instructions and integrated circuits (ICs) such as application specific ICs. It is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation. Therefore, in the interest of brevity and minimization of any risk of obscuring the principles and concepts in accordance to the present invention, further discussion of such software and ICs, if any, will be limited to the essentials with respect to the principles and concepts of the preferred embodiments.
The system 10 may include a number of pay-per-use computers, such as a first computer 12, a second computer 14, and a representative last computer 16. The system 110 may also include a management console 18 that an operator can use to oversee operation of the computers 12, 14, 16. The management console 18 may be connected over a local access connection 20 to a wide area network 22, such as the internet, to a fulfillment center 24. The local access connection may be wired or wireless. The fulfillment center 24 may process requests for add value packets and may be connected to financial institutions or other service providers and underwriters (not depicted). The underwriters may provide the computers, the management console, or both, for a subsidized price in exchange for a financial commitment from the operator. The fulfillment center 24 may have cryptographic keys 34 for supporting authentication and value-add transactions with the pay-per-use computers 12, 14. 16 both directly and through the management console 18.
The computers 12, 14, and 16 are shown connected to the wide area network 22 via the management console 18. Other embodiments may use a router (not depicted) in a known configuration to connect each computer 12, 14, 16 and the management console 18 separately to the local access line 20 and thereby to the wide area network 22.
Each computer 12, 14, 16, and the management console 18 may have a respective security module 26, 28, 30, and 32. The security module is discussed in more detail with respect to
In another embodiment, the computers 12, 14, and 16 may be computing resources that can be turned on and off as peak demand requires additional resources. For example, each computer 12, 14, and 16 may be blade servers that can be activated upon request as long as usage time is available. The usage time may be decremented according to usage, either by processor cycles, pure time, or another metric such as data I/O or disk utilization.
In operation, the pay-per-use computers 12, 14, 16 may be deployed as discussed above, in a public use setting such as an Internet cafe. Such an embodiment is used for illustration, but other embodiments may encompass deployment in settings ranging from a small office/home office to a deployment over a wide geographic area. For example, a business may choose to deploy pay-per-use computers to remote workers but still retain central management of value usage and the value add process. The management console 18 may monitor usage time on each of the deployed pay-per-use computers 12, 14, 16. In one embodiment, a use may check-in and check-out when using a computer 12 and be charged for the amount of value consumed during that usage session. Alternatively, use of the computer 12 may be included with a package including other goods or services, such as a meal or hotel stay.
Initial configuration of a managed system of pay-per-use computers 12, 14, 16 and management console 18 may involve not only the installation of keys binding the pay-per-use computers 12, 14, 16 to the fulfillment center 24, but also installation of keys that bind the pay-per-use computers 12, 14, 16 to the management console 18 so that requests for status and value-add packets may be exchanged between these system elements. Additionally, software or firmware in both the pay-per-use computers 12, 14, 16 and the management console 18 may be installed or activated that supports the additional status and value-add functions associated with the managed environment.
Several different instantiations of value management and recharging are discussed below to illustrate a few of the possible variations. The console security module 32 may request and store usage value, such as minutes, for each of the deployed pay-per-use computers 12, 14, 16. In this embodiment, a security module 26 may establish a secure connection with console security module 32 and consume value packets directly from a secure memory of the console security module 32. When usage value reaches a low limit, the management console 18, through the console security module 32 may purchase more time from the fulfillment center 24.
In another embodiment, each security module 26, 28, 30 may store usage of value for its own respective pay-per-use computer 12, 14, 16. As opposed to a stand-alone pay-per-use computer, a security module 26 may include computer executable instructions to respond to a request from the management console 18 for status information about usage value remaining for the security module's corresponding computer 12. When usage value on a computer, such as computer 12, reaches a critical level, the management console l 8 may act to recharge the usage value on the computer 12, according to computer-executable instructions stored in the management console 18.
Referring briefly to
When a pool of usage time is kept at the management console 32, a pool value row 414 may indicate remaining time 416 in the pool. A link 418 to purchase more pool time may be activated to add value to the management console pool account.
With reference to
A series of system busses may couple various these system components including a high speed system bus 123 between the processor 120, the memory/graphics interface 121 and the I/O interface 122, a front-side bus 124 between the memory/graphics interface 121 and the system memory 130, and an advanced graphics processing (AGP) bus 125 between the memory/graphics interface 121 and the graphics processor 190. The system bus 121 may be any of several types of bus structures including, by way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus and Enhanced ISA (EISA) bus. As system architectures evolve, other bus architectures and chip sets may be used but often generally follow this pattern. For example, companies such as Intel and AMD support the Intel Hub Architecture (IHA) and the Hypertransport architecture, respectively.
Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. The system ROM 131 may contain permanent system data 143, such as identifying and manufacturing information. In some embodiments, a basic input/output system (BIOS) may also be stored in system ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processor 120. By way of example, and not limitation,
The I/O interface 122 may couple the system bus 123 with a number of other busses 126. 127 and 128 that couple a variety of internal and external devices to the computer 110. A serial peripheral interface (SPI) bus 126 may connect to a basic input/output system (BIOS) memory 133 containing the basic routines that help to transfer information between elements within computer 110, such as during start-up.
A security module 129 may also be coupled to the I/O controller 122 via the SPI bus 126. In other embodiments, the security module 129 may be connected via any of the other busses available in the computer 110. The security module 129 is discussed in more detail with respect to
A super input/output chip 160 may be used to connect to a number of ‘legacy’ peripherals, such as floppy disk 152, keyboard/mouse 162, and printer 196, as examples. The super I/O chip 122 may be connected to the I/O interface 121 with a low pin count (LPC) bus, in some embodiments. The super I/O chip is widely available in the commercial marketplace.
In one embodiment, bus 128 may be a Peripheral Component Interconnect (PCI) bus, or a variation thereof, may be used to connect higher speed peripherals to the I/O interface 122. A PCI bus may also be known as a Mezzanine bus. Variations of the PCI bus include the Peripheral Component Interconnect-Express (PCI-E) and the Peripheral Component Interconnect—Extended (PCI-X) busses, the former having a serial interface and the latter being a backward compatible parallel interface. In other embodiments, bus 128 may be an advanced technology attachment (ATA) bus, in the form of a serial ATA bus (SATA) or parallel ATA (PATA).
The computer 110 may also include other removable/non-removable, volatile nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180 via a network interface controller (NIC) 170. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110. The logical connection depicted in
In some embodiments, the network interface may use a modem (not depicted) when a broadband connection is not available or is not used. It will be appreciated that the network connection shown is exemplary and other means of establishing a communications link between the computers may be used.
The secure memory 310 may include key memory 318 storing a device master key, derived or separate keys for communication with a management console, and transitory session keys. When the security module 300 is implemented in a pay-per-use computer, the key memory 318 may store keys for add-value transactions with a fulfillment center, such as fulfillment center 24 of
The cryptographic function 308 may include a random number generator (RNG) 328 and an encryption/decryption function, either hardware or software, for example, a block cipher function. In other embodiments, the cryptographic function 308 may be implemented via a smart chip with full cryptographic capability including public key algorithms, and may communicate with the processor 302 using an ISO 7816 interface.
A clock or timer 312 may be provide tamper resistant time for use in both metering and cryptographic applications, including timeout periods for communications, time stamps for use in secure communications, or in generating a once used in message verification. In metered applications, the clock 312 may provide usage timing or subscription expiration periods. The elements of the security module 300 may be connected by an internal bus 314, chosen from any of several known bus technologies, usually associated with the processor 302 type.
When operated in a pay-per-use computer, such as computer 12 of
When pooled value is stored at the management console 18, the security module 300 may used derived keys for accepting value packets from the management console 18. Alternatively, when pool value is not implemented, the security module 300 may generate a value-add request that is transacted directly from the fulfillment center 24, responsive to a directive from the management console 18. In yet another embodiment, the management console may generate the value-add request on behalf of the pay-per-use computer 12 using credentials stored in the management console 18.
When operated in the management console 18, the security module 300 may implement different functions for requesting status from the pay-per-use computers and for managing and redistributing pool value. A pool value transaction may create a value packet in much the same manner that metering consumes stored value. When value is deducted from the pool, the processor 302 may reduce the pool value by the add-value amount and an add-value packet may be created for distribution to the target pay-per-use computer. The add-value packet may then be processed by the target computer and its stored value amount is increased.
At block 804, the management console 18 may obtain usage value for the pay-per-use computer when data corresponding to the monitoring causes a trigger event, such as remaining usage value reaching a low value mark. Another trigger event may be when a recurring timed event occurs, e.g. a weekly refill. Alternatively, the trigger may simply be a response to an administrator explicitly requesting more usage value for a particular machine, as may be the case when expecting high volume usage. This may be true whether the pay-per-use computer is in a retail setting, such as an I-café, or in a commercial setting, such as a server farm. In one embodiment, the management console 18 may have a pool of usage value than can be distributed to the managed pay-per-use computers. In another embodiment, the management console 18 may instruct a pay-per-use computer to initiate a transaction directly with a fulfillment center 24. In yet another embodiment, a request may be generated by the pay-per-use computer and sent to the management console 18 for forwarding to the fulfillment center 24. Another implementation may allow the management console 18 to store credentials corresponding to each managed pay-per-use computer 12, 14, 16 that allows the management console 18 to generate add-value request on behalf of the corresponding computer.
At block 806, usage value, such as minutes of use, timed access to computer resource (e.g. additional processor or memory) or a subscription period, may be added to the pay-per-use computer, e.g. computer 12, responsive to the trigger event. Depending on the embodiment for adding value, the usage value may be subtracted from a pool of value stored at the management console 18 and sent to the pay-per-use computer 12, forwarded via the management console 18 from the fulfillment center 24, or sent directly to the pay-per-use computer 12 from the fulfillment center 24. Because value is being transferred over potentially non-secure links, the value packets may be encrypted using a key pair established between the two transacting parties, be it pay-per-use computer 12 to fulfillment center 24, pay-per-use computer 12 to management console 18, or fulfillment center 24 to management console 18.
The use of a management console for administration of pay-per-use computers allows expansion of the pay-per-use concept from individual use to groups of computers. Unlike centralized management of computer software, the centralized use of usage value requires its own set of solutions to issues of reporting, triggering, value management and cryptographic security, as described above. The ability for an I-café operator, small business, or other entity to purchase computers at a subsidized price and repay an underwriter over a period of time may open new opportunities to participate in the global marketplace. Allowing practical management of such pay-peruse resources may allow such an installation to be effectively used and operated.
Although the foregoing text sets forth a detailed description of numerous different embodiments of the invention, it should be understood that the scope of the invention is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possibly embodiment of the invention because describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims defining the invention.
Thus, many modifications and variations may be made in the techniques and structures described and illustrated herein without departing from the spirit and scope of the present invention. Accordingly, it should be understood that the methods and apparatus described herein are illustrative only and are not limiting upon the scope of the invention.
This application is a continuation-in-part of U.S. patent application Ser. No. 11/668,444, titled “Capacity on Demand Computer Resources,” filed Jan. 28, 2007.
Number | Date | Country | |
---|---|---|---|
Parent | 11668444 | Jan 2007 | US |
Child | 11697354 | US |