throbber
9 DE.SIGNING SOFTWARE TO BE USED UP and Protecting It from F:'irates by Bryon K. Ehlmann 22856 Via Cordova South l...aguna~ CA 92677 INT'RODUCTION Software products by their very nature are designed to be used forever. However~ there are some real advantages in purposefully designing them to be "used up." These advantages accrue to both the software vendor and the customer and pertain to product marketing~ pricing~, support~ and protection from software piracy. What is being proposed here is "exhaustible software" versus the normal inexhaustible variety. AN EXAMPLE An example of exhaustible software is a product called the COMPUTERIZED GRADEBOOK. It was recently implemented by this author on an IBM Personal Computer~ in party to develop and demonstrate the concept of exhaustible software. Basically~ this product allows a teacher to utilize a computer t.o record student grades~ analyze them~ and compute averages and final letter grades. In this respect.~ it is not unlil.::e similiar pr-oducts on the market. But while the other products allow a teacher to use them semester after semester~ in perpetuum~ the COMPUTERIZED GRADEBOOK is designed to be just like a conventional gradebook. It has space for just ten classes: and when this "space" is used up~ another gradebook must be purchased. ADVANTAGES What advantage is this for- the teacher-? The main advantage comes in price. While other software packages having comparable c:apabilities might cost between fifty and one hundr'ed dollars~ the COMF'UTERIZED GRADEBOOK could be purchased for perhaps $12.95. This means that initially the teacher" does not have to make a large investment in order to try out the products and the teacher retains the flexibility to discontinue using it at any time without suffering a large monetary Ioss~ i.e. "pay as you go". Another advantage is that the 'teacher" will rece:i, ve any new features and bug fixes whenever a new gradebook is purchased. To the COMPUTERIZED GRADEBOOK vendor~ the exhaustible nature of the product means that multiple copies can be sold to one customer~. t.hus justifying the low price. Also~ since customers are repurchasing the product when their' old one is used ups new versions of the product are gradually disseminated to current customers so that support of older versions is gradually phased out. The lower price for the product makes it very competi'tive~ especially in attracting new
`
`DISH-Blue Spike-602
`Exhibit 1015, Page 0001
`
`

`

`I0 customers. Also~ its-low price and exhaustibility make the product more lil.::e tr'aditional gradebooks and thus mor'e suitable for distri- bution through tr'aditional.j and perhaps less threatening~ outlets sucl7 as stationary stores and bool::stores~ instead of computer and software stores. Finally~ the COMPUTERIZED GRADEBOOK's low price means t.hat extensive efforts to pirate the software will not be worthwhi le. SOFTWARE PROTECTION But are extensive efforts really required to copy the software? The COMPUTERIZED GRADEBOOK resides on a single diskette. The diskette can be readily copied using standard PC-DOS commands. This is neces- sary to per-mit any number of legitimate backup copies to be made. But the programs and data on the COMPUTERIZED GRADEBOOK diskette are inseparable. "l"his means that if someone attempts to illegally copy a partially used COMPUTERIZED GRADEBOOK diskette~ they will get. a used gradebook which includes someone else's classes~ students,, and grades. And they will not be able to erase this information because of the operational restr'ictions built into the software that make it exhausti bl e. So why doesn't a teacher just make multiple copies of an unused~ or blank~ COMPUTERIZED GRADEBOOK? Implemented as part of the COMPUTERIZED GRADEBOOK is a softwar'e-based software authorization system~ which is referred to in the product documentation as a "customer validation procedure". Its purpose is to ensure that everyone using the product is a legitimate customer. The customer validation procedure thereby supports the concept of exhaustible software by ensuring the viability of a low product price. At the same time~ it depends on the exhaustive nature of ~ the software for its integrity. Customer validation is requested by the COMPUTERIZED GRADEBOOK whenever- the teaclner has used the product a certain number of times after first entering grades for a new class. The number of uses permitted before validation is set so that the teacher has the opportunity to also begin entering grades for other classes. (Once grades are entered for a c:lass~ the class cannot be removed from the gradebook. ) Customer validation essentially inw~Ives the teacher obtaining a password from the vendor and entering it in order to continue using the gr'adebook. The password is based on twelve digits- which are displayed on the gradebook cover" at the time customer validation is requested. (]'he gradebook cover is always the first screen displayed whenever" the gradebook is used. See Figure i.) The teacher records the twelve digits on a postcard and drops it in the mail. A CUSTOMER VALIDATION postcard is included for this purpose in the o ri-ginal product package. (See Figure 2. ) In a few days~ the teacher receives the password in the mail along with a new CUSTOMER VALIDATION postcard.
`
`DISH-Blue Spike-602
`Exhibit 1015, Page 0002
`
`

`

`11 Version 1.0 030226-05-0138 COMPUTERI ZED GRAOEBOOk Instructor: John g. Doe < Term: Spring ( Year: 1985< Notes: < .**.Password: < ** In order to validate your use of this gradebook, you will be expected to give a password before using it one of 'the next 5 times. o To obtain this password~ record the 12 digits shown in the top righthand corner, Then complete and mail the postcard provided ~ith your CORPUTER[ZED GRADEBOOK or call 999-999-9.999 any Neekday from 8 AR to 5 PM~ PST. ............................................................................ Type space (i,e. press space bar or RETURN key) for Main Renu, Figure i. Gradebook cover screen with message requesting customer validation. Enter Customer FROM: CUSTOMER VALIDATION I x~ digit number: (See page 4A in User's Guide.) Validation Password: -- (leaVe blan~,, ~- Enter your return address above. Figure ~. ~. Postcard for customer" validation.
`
`DISH-Blue Spike-602
`Exhibit 1015, Page 0003
`
`

`

`12 In the interim, the teat.her is allowed to continue to use the grade- book (up to five times after validation is requested.) A telephone number" is also provided by the vendor to enable the teacher to call for' the password. The twelve digits shown on the screen and recorded on the post- card are unique to each gradebook and the prior use made of the gradebook. The first six digits is the gradebook ID which is unique to each COMPUTERIZED GRADEBOOK pr-oduct sold. The next two digits is the number of classes currently recorded in the teacher's gradebook. The last four digits represent a number whic;h characterizes how the gradebook has been used up to this time by the teacher. Upon receiving the postcard, what does the vendor- do to validate that the user" is a legitimate customer, and how is the correct pass- word determined? First, the vendor checks a journal of all issued gradebook IDs to ensure that the ID is valid and that the gradebook has not already been validated with a class count greater than or equal to the class count appearing on the postcard. If not, then the last six digits are written in the journal to record validation, and a password is computed based on the twelve digits. (Obviously, this effort on part of the vendor can easily be computerized.) The vendor then wr'ites the password on the postcard and mails it in a windowed envelope which displays the customer's return address. GENERAL TECHNIQUES Given below is a summary of the general techniques which can be used to create exhaustible software and to protect it. Again, the COMPUTERIZED GRADEBOOK will be used to illustrate these tech- niques. Limitations are placed on certain parameters of the application in order to limit the use of the software. In the COMPUTERIZED GRADEBOOK, the number- of classes which can be recorded in the gradebook is limited to ten. . Restrictions are placed on certain operations in order to limit reuse of the software. In the COMPUTERIZED GRADEBOOK, a single gradebook exists from the outset which can never be destroyed and r"ecl~eated. The instructors name on the gradebook cover, once entered and verified, cannot be changed. Also, two restrictions apply once grades have been entered for a class. The class cannot be deleted, and number of student additions and deletions allowed is limited. 3~ A software authorization system which is based on the exhaustibility of the product is included to ensure the viability of a low product price. The "customer" validation procedure" for- the COMPUTERIZED GRADEBOOK has already been discussed, largely from the viewpoint of the customer and vendor. The general techniques Tot its implementation will be given shortly.
`
`DISH-Blue Spike-602
`Exhibit 1015, Page 0004
`
`

`

`13 . Data which controls product use and software authorization is placed in a contr'ol file and protected by encryption and/or scrambling. All programs are made dependent on a valid control file for" their operation. In the COMPUTERIZED GRADEBOOK, a gradebook ID, class counter, usage counter, update level indicator, file for-mat level indicator: and various other items are stored in a control file record in undocumented sequence and data item format. The record is partially scrambled and fully encrypted on disk. 5. Only progr'am object code is distributed. The general techniques that can be used to implement the software authorization system are listed below. . Each product distributed is assigned a unique numeric ID which is included as part of the control data at the time the product diskette (or- tape) is made. This is the gradebook ID for the COMPUTERIZED GRADEBOOK. . At appropriate times in the useful life of the product, customer validation is requested, i.e. a password must be entered in order to continue to use the product. Obviously, customer validation must not be requested too often, but must be requested often enough to give it credibility. Its occurrence could be random within certain constraints. Customer validation is requested only after some incre- mental use of a significant nature has been made of the product which cannot be undone. This incremental use should be recorded by some numeric code. In the COMPUTERIZED GRADEBOOK, this "incremental use" is the first-time entering of grades for a class. However, a number of additional uses (i.e. program executions) is allowed before validation is requested in order to give the teacher an opportunity to enter grades for the first time in other classes. This delay minimizes the number of customer validations requested over the life of the gradebook. Before validation is requested~ enough use must have been made of the pr-oduct in order to "measure" some aspect of this use which most likely is different for different users. This particular aspect of use is reflected by some numeric code and its nature should remain undocumented (as is the case with the COMPUTER- IZED GRADEBOOK). In the COMPUTERIZED GRADEBOOK, an example of an aspect of use which could have been measured (but was not) is the total number of grades in the gradebook. . At the time validation is requested, a numeric code is displayed which contains three components: I) the product ID, 2) the code whicl7 measures the incremental
`
`DISH-Blue Spike-602
`Exhibit 1015, Page 0005
`
`

`

`14 use of the product, and 3) the code which reflects some aspect of use that has been made of the product. The code is used by the vendor to validate the customer and compute the customer validation password. . A convenient.and inexpensive procedure, both for the customer and the vendor-, must be implemented to allow the user to obtain the password. For" the COMPUTERIZED GRADEBOOK, the turnaround postcard is the primary procedure; and the vendor telephone number is the secondary~ or backup, procedure. As is the case with the COMPUTERIZED GRADEBOOK, it may be necessary to allow the customer to continue to use the product a reasonable number of times after validation is r-equested. Upon each such user the customer is given a c:hance to enter the validation password and told how many uses remain urltil the password must be entered. After these uses have been exhausted~ the password must be entered before any useful operations can be performed. . When the customer enters a validation password~ the software validates it based on the same computation used by the vendor. . A warning is placed in the user documentation similiar to one contained in the .COMPUTERIZED GRADEBOOK User's Guide: WARNING: ALl_OWING ANOTHER PERSON TO COPY AND USE YOUR GRADEBOOK CAN MAKE IT IMPOSSIBLE FOR YOU TO LATER OBTAIN A VALiDATI[]N PASSWORD. Note that this software authorization system works for mainframe as well as micr'oc:omputer software. It does not depend on the use of floppies. Also~ it permits software to be distributed over communi- cation networks but protects against any illegal transfer. Will this software authorization system protect the software from all potential :pir'ates? Of course this question can never- be answered affirmatively. However~ both the low price for the product and the fact that a "used" copy may be all that :ks gained should discourage extensive efforts to circumvent the system. AF'F'L I CAB I L ]: TY Can the concept of exhaustible software be applied to other software products? Should word processors have an "internal ribbon" which can only be used to type a limited number of characters, pages: or- documents? Or, how about an electronic spreadsheet product which only comes with a limited number of blank spreadsheets? Obviously, the practicality of this concept must be evaluated for each specific product. Some applications by their very nature are pr-obably better suited than others.
`
`DISH-Blue Spike-602
`Exhibit 1015, Page 0006
`
`

`

`15 CONCLUSION It remains to be seen whether the COMPUTERIZED GRADEBOOK will be successful commercially. Regardless of whether the concept of exhaustible software is or is not successful in its realization as a gradebook, it is concept which should be considered for other software products. ACKNOWLEDGEMENTS The~COMPUTERIZED GRADEBOOK was developed using the computing • Facilities of the Department of Mathematics and Computer Science, Chapman College, Orange, CA. A number of .Faculty at the college contributed to its development by serving as first-time users.
`
`DISH-Blue Spike-602
`Exhibit 1015, Page 0007
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket