Patent Publication Number: US-2005144273-A1

Title: Electronic contracts for devices and embedded systems

Description:
FIELD OF THE INVENTION  
      The present invention generally relates to usage agreements, and more particularly to devices configured to operate in accordance with usage agreements between device providers and device users.  
     BACKGROUND  
      Many business transactions involve agreements between two or more parties. An agreement often specifies qualifying conditions to be met by one or both parties. For example, a car warrantee agreement specifies qualifying conditions for the car warrantee to be valid. If the car owner meets the qualifying conditions, the car manufacturer typically repairs or replaces the vehicle at no cost to the car owner. Another example of an agreement is a car rental agreement, where use of an automobile is limited to a finite time period. The qualifying conditions in the car rental agreement is the time period of use.  
      The qualifying conditions are based on observable metrics or parameters. For example, a warrantee agreement may specify that a warrantee is valid as long as the car is driven less than 60,000 miles or six years. The observable parameters are the miles driven and the age of the car. Similarly, one of the parameters of the car rental agreement includes the length of time the driver is in possession of the car.  
      An agreement further specifies events triggered based on the observed metrics or parameters. In the warrantee agreement example discussed above, one event is the expiration of the warrantee after the car is driven more than 60,000 miles. In the car rental agreement, an event may be that the car must be returned to the rental agency after three days.  
      While such conventional agreements for devices are useful, they are often limiting and easy to circumvent. For example, a car manufacturer may want to require its customers to conduct regular oil changes in order to maintain the car warrantee. Such complex requirements are often difficult and expensive to verify.  
      When an agreement between parties is violated, it is sometimes the case that the non-violating party must sue the violating party to enforce the agreement. For example, if a renter damages a rental car after the agreement expirers, the rental agency may have to sue the renter for compensation. Lawsuits are typically expensive and take considerable time to resolve. In some situations it may be difficult to provide evidence of agreement violation. Furthermore, there may be instances when a desired agreement between the parties is not legally enforceable. Such agreements often fail to meet legal standards or may not conform to statutory requirements. Thus, parities often desire to enforce various agreements, which may not be actionable in court, in an economical manner.  
     SUMMARY OF THE INVENTION  
      In view of the foregoing, the present invention enables device providers and device users to monitor and enforce device agreements at a device. The device may be any device known in the art, such as a car, refrigerator, and entertainment center. The invention also enables agreements to incorporate many parameters that are generally difficult to monitor and enforce in conventional transactions. The parameters can be transmitted to and recorded by the device provider. As a result, the invention offers a flexible and efficient way of constructing, monitoring and enforcing device agreements.  
      Therefore, one aspect of the invention is a method for embedding an agreement between a device provider and a device user in a device. The method includes monitoring at least one performance parameter, determining if an event specified in the agreement has occurred based on the parameter, and, if the event occurred, indicating that the event occurred at the device. The method may be further configured to enforce the agreement at the device. For example, enforcing the agreement may include disabling at least some of the capabilities of the device if the event occurred. Conversely, enforcing the agreement may include enabling at least some of the capabilities of the device if the event occurred.  
      Another aspect of the invention is a device having terms of usage set forth in an agreement between a device provider and a device user. The device includes at least one input module configured to monitor at least one parameter. A determining module is configured to determine if an event specified in the agreement has occurred based on the monitored parameter. The device further includes an alert module configured to indicate that the event occurred. In a particular aspect of the invention, the determining module is configured to determine if the event is likely to occur in the near future, and the alert module is configured to indicate that the event is likely to occur in the near future.  
      Yet another aspect of the invention is a computer program embodied in a tangible media. The computer program includes computer readable program codes configured to cause the program to monitor at least one performance parameter, determine if an event specified in the agreement has occurred based on the parameter, and if the event occurred, indicate that the event occurred at the device.  
      The foregoing and other features, utilities and advantages of the invention will be apparent from the following more particular description of various embodiments of the invention as illustrated in the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       FIG. 1  shows exemplary system environment contemplated by the present invention.  
       FIG. 1  shows an exemplary device contemplated by the present invention.  
       FIG. 3  shows an exemplary process contemplated by one embodiment of the present invention.  
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
      The following description details how the present invention is beneficially employed to embed an agreement between a device provider and a device user into a device. Throughout the description of the invention reference is made to  FIGS. 1-3 . When referring to the figures, like structures and elements shown throughout are indicated with like reference numerals.  
       FIG. 1  shows an exemplary system environment  102  contemplated by the present invention. It is initially noted that the environment  102  is presented for illustration purposes only, and is representative of countless system configurations in which the invention may be implemented. Thus, the present invention should not be considered limited to the environment configuration shown herein. The environment  102  includes an agreement  104  entered into by a device provider  106  and a device user  108 . The device provider  104  and/or the device user  108  may be individuals, businesses, public or private institutions, governmental agencies, or other entities.  
      In general, the device provider  106  supplies a device  110  to the device user  108 . The device user  108  may directly or indirectly purchase, lease, borrow, or otherwise take possession of the device  110  from the device provider  106 . Furthermore, the agreement  104  includes subject matter about a device  110 . For example, the agreement  104  may include terms about the use, tampering, or service of the device  110 . In general, the agreement  104  stipulates various events that are triggered based on one or more measurable parameters.  
      It is contemplated that the agreement  104  can be embodied in any format known in the art. For example, the agreement  104  can be conventionally embodied on paper. The agreement  104  may also be manifested in electronic form, such as an electronic document stored on computer-readable media. Such an electronic agreement may include an acceptance button that the user  108  clicks or presses to indicate agreement acceptance. Other forms the electronic agreements may require a personal identification number or code authenticating the user&#39;s identity before acceptance of the agreement  104  is recorded.  
      In whatever method the agreement  104  is embodied, the agreement  104  recites at least one event dependent on one or more parameters. An event can be anything, such as a price discount, a violation of a device warrantee, or disabling of the device  110 . The event is dependent on at least one parameter monitored by an input, such as a sensor on the device  110 . An agreement event may be either a penalty or a reward, depending on the conditions set forth in the agreement. For example, the device  110  may be an automobile and the agreement  110  may include an event, the violation of a warrantee, if an oil change is not performed every 3,000 miles. Furthermore, the automobile includes two sensors; one to monitor the occurrence of an oil change and the other to monitor the miles traveled by the car.  
      Once the agreement  104  is acquiesced by the device provider  106  and the device user  108 , a representation of the agreement  104  is embedded into the device  110 . In one embodiment of the invention, the agreement representation includes one or more Boolean expressions detailing how various parameters trigger events specified in the agreement. This process may include reformatting the agreement  104  into program code or pseudo-code. In this manner, events stipulated in the agreement  108  are indicated at the device  110 . For example, an agreement  104  between the device provider  106  and the device user  108  may require the user  108  to change the device&#39;s oil every three months in order maintain the device warrantee. The device  110  may monitor the number of oil changes along with the time of each oil change. If the user  108  does not meet the oil change requirements in the agreement  104 , an indication is provided at the device  110 .  
      Along with indicating event occurrences, the device  110  may be configured to enforce the agreement  104  between the device provider  106  and user  108 . For example, some or all of the device capabilities may be disabled as a result of an event occurrence stipulated in the agreement  104 . In one embodiment of the invention, the device  110  may alert the user  108  that an event specified in the agreement  104  is likely to occur in the near future. Such an alert can help the user  108  may take necessary actions to prevent (or ensure) one or more events specified in the agreement  104  from taking place.  
      In a particular embodiment of the invention, the device  110  may include a software module comprising machine-executable program code. The software module may be executed at a client and/or server, and may be distributed among various computer nodes in the environment  102 .  
      As discussed further below, the present invention beneficially helps implement agreements  104  between device providers  106  and device users  108  by supplying agreement feedback at the device  110 . Event occurrences are indicated at the device  110 , thereby efficiently communicating the state of the agreement directly to the device user  108  in a timely manner. The present invention may be utilized to enforce device agreements  104  by changing the functionality of the device  110  in response to event occurrences. In this manner, the device provider  106  can protect itself from agreement violations with minimal expense. The invention offers the device provider  106  the flexibility to choose various device parameters to monitor, as well as the freedom to enforce agreements  104  that may not be legally actionable in court. Moreover, by indicating the likelihood of future agreement events occurring, the device user  108  can conveniently choose various agreement options to follow.  
      In a particular embodiment of the invention, the environment  102  may include added functionality to inform the device provider  106  when events specified in the agreement  104  have occurred. Such a configuration can include a remote base station  114  adapted to communicate with the device  110 . It is contemplated that communications between the device  110  and the base station  114  may be effectuated using various wired and/or wireless communication means known in the art.  
      The base station  114  is coupled to a provider server  116  via a computer network  118 . The computer network  118  may be any network known in the art for effectuating communications between the various nodes within the environment  102 . Thus, the network  118  can be a local area network (LAN), a wide area network (WAN), or a combination thereof. It is contemplated that the network  118  may be configured as a public network, such as the Internet, and/or a private network, and may include various topologies and protocols know to those skilled in the art. In other embodiments of the invention, the network  118  is representative of any communication means between the various entities within the environment  102 . Once the device provider  106  receives agreement data from the device  110  at the provider server  116 , it is free to process the information in any manner desired.  
      With reference to  FIG. 2 , an exemplary device  110  contemplated by the present invention is shown. It should be remarked that at least some of the modules shown may be implemented (1) as a sequence of computer executed steps running on a computing system and/or (2) as interconnected machine units within the computing system. The implementation is a matter of choice dependent on the performance requirements of the system implementing the invention. Accordingly, the modules making up the embodiments of the present invention described herein are referred to alternatively as operations, steps, units, or modules.  
      The device  110  includes an input module  202  coupled to a determining module  204 . The input module  202  is configured to collect parameter data from one or more data sources and may be connected, for example, to a sensor  206  or a keypad  208 . The sensor  206  may be used for automatic parameter data input, such as distance traveled, and the keypad  208  may be used for manual entry of parameter data, such as certification of engine service. It is contemplated that manual parameter data entry may be restricted to only authorized persons. Furthermore, various data collection configurations may be employed by the present invention. For instance, the input module  202  may sample data at regular time intervals, detect data changes, or receive data using other data collection methods known in the art.  
      The input module  202  may also aggregate parameter data for storage and/or transmission to the device provider. The device may aggregate, for example, a running average or the maximum and minimum values of the parameter data.  
      Each data stream from the input module  202  is identified and passed to the determining module  204 . The determining module  204  is configured to determine if an event stipulated in the agreement has occurred based on the received data parameters. As mentioned above, the agreement may be translated into program code  112  that is readable by the determining module  204 . In a particular embodiment of the invention, the agreement is translated into various Boolean expressions providing either “TRUE” or “FALSE” results when executed. In the example discussed above, where an agreement event is the violation of a warrantee if an oil change is not performed every 3,000 miles, the agreement may be expressed as: 
          event1=vehicle warrantee     param1=oil change     param2=miles traveled     if (param1=FALSE and param2&gt;3000) then event1=FALSE 
 
 It is contemplated that the parameters of the Boolean expressions may be stateless or stateful. Furthermore, some events may express intermediary device states and are not expiring events. 
       

      If an event specified in the agreement code  112  is determined to have occurred, the determining module  204  communicates the occurrence to a notification module  210 . The notification module  210  is configured to provide notification at the device that an event specified in the agreement has occurred. The notification may include various visual, auditory and other types of user alerts known in the art.  
      In a particular embodiment of the invention, the determining module  204  is additionally configured to determine the likelihood that various agreement events will happen in the future. Thus, if the determining module  204  calculates that an event occurrence is likely, it can send such notification to the notification module  210 . The notification module  210  can provide warning to the user that an agreement event is likely to occur unless counteractive measures are taken.  
      The notification module  210  may also be coupled to a communication module  212 . The communication module  212  is configured to communicate event notifications and/or parameter data outside the device  110 . For example, the communication module  212  may transmit the parameter data to the device provider. As mentioned above, the parameter data may be aggregated at the input module  202 . It is contemplated that the parameter data communicated with the device provider can be used as evidence to demonstrate agreement violation.  
      The communication module  212  may include wireless networking capability and can remotely interact with the device provider&#39;s server. It is contemplated that the communication module  212  may be configured to interact with third party entities as well, such as authorized service providers and device brokers.  
      It is contemplated that the determining module  210  may also be coupled to a control module  214 . The control module  214  is configured to enforce the agreement at the device  110 . For example, the control module  214  may disable some the capabilities of the device if a particular agreement event occurred. Conversely, the control module may enable device capabilities if another event occurred, as specified in the agreement.  
      The modules of the device may be operational in a computing system on which the invention may be implemented. Computing systems suitable for use with the invention include, but are not limited to, general purpose computers, special purpose computers, and other state machines. Examples of well known computing system, environments, and/or configuration that may be suitable for use with the invention include, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.  
      In  FIG. 3 , an exemplary process contemplated by one embodiment of the present invention is shown. The operations described herein may be specified in computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.  
      The process begins at agreement operation  302 . During this operation, a device user and a device provider enter into an agreement containing terms about the device. Since the agreement is later embedded into the device, the agreement may be constructed to utilize parameters not generally employed in conventional agreements. As mentioned above, the agreement may not necessarily be legally enforceable. Thus, the present invention is particularly beneficial in situations where legal action over the agreement is questionable, difficult, or expensive. Once the agreement operation  302  is completed, control passes to embedding operation  304 .  
      At embedding operation  304 , the agreement is embedded into the device. The embedding operation  304  involves coding the agreement into machine-readable form such that the device can determine when various events recited in the agreement occur. Typically, the embedding operation is performed automatically by a system implementing the present invention, however it is contemplated that manual intervention be required in some implementations. Once the embedding operation  304  is performed, control passes to monitoring operation  306 .  
      At monitoring operation  306 , a sensor or other input device checks one or more parameters. In the example of an automobile discussed above requiring an oil change every 3,000 miles, one sensor may be an odometer that provides mileage parameter information. The other sensor may be an input device accessed by an authorized mechanic changing the engine oil. The mechanic may be required to enter a password or other access code in order to record data into the device. Once input data is received at monitoring operation  306 , control passes to determining operation  308 .  
      At determining operation  308 , the device determines if an event stipulated in the agreement has occurred based on the monitored parameter(s). As discussed above, the agreement is embedded into the device and can therefore be checked for occurrences of various events that are dependent on monitored parameters. In this manner, the device can determine the state of the agreement with respect to those events that are dependent on monitored parameters. If, at determining operation  308 , no event occurrence is detected, control returns to monitoring operation  306 . On the other hand, if an event occurrence is detected at determining operation  308 , control passes to alerting operation  310 .  
      At alerting operation  310 , the device alerts the device user that an event specified by the agreement has occurred. The form of the alert may include various visual, auditory and other types of user alerts known in the art. In one embodiment of the invention, the alerting operation  310  may also be designed to notify the user if an event is likely to occur in the near future. For example, if the automobile warrantee is in danger of being void, the device may alert the user that an oil change should be performed soon so that the warrantee does not become invalid.  
      As mentioned above, the alerting operation  310  may also enforce the agreement at the device. Therefore, the device configuration may change according to the occurrence of the detected event. It is further contemplated that the device may transmit notification of the event to the device provider or other entities that may require notification of the event occurrence. The outside notification may include parameter data, either aggregated or raw. Once the alerting operation is completed, control returns to monitoring operation  306  and the above process is repeated.  
      The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. Thus, the embodiments disclosed were chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments of the invention except insofar as limited by the prior art.