` PMC Exh
`
`PMC Exhibit 2064
`it 2064
`Apple v. PMC
`. PMC
`Apple v
`IPR2016-00753
`IPR2016
`00753
`Page 1
`Page 1
`
`
`
`
`
`© Online 1980
`
`ISBN 0 903796 52 xX
`
`No part of this book may be reproduced, stored in a retrieval system,
`or transmitted in any form, by any means, electronic, mechanical,
`photocopying, microfilming, recording or otherwise, without written
`permission from the Publishers.
`
`Published by Online Publications Ltd., Northwood Hills, Middx.
`
`Printed by The Chameleon Press Ltd. , London
`
`PMC Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 2
`Page 2
`
`
`
`The use of MicroCobol for Telesoftware
`
`E.C. Sedman
`Viewdata Manager
`CAP-CPP MicroProducts Lid
`
`England
`
`The concept of Telesoftware is described with particular
`reference to its implementation using MicroCobol
`- a
`machine invariant programming language developed by
`CAP-CPP. .
`
`Examples are given both of the use of on-line programs
`as an enhancement
`to the standard viewdata facilities, and
`also examples of the types of program that could be
`distributed by telesoftware but run in "stand alone'' mode.
`
`aeMeeRSaiatCgeTg
`
`em
`
`PMC Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 3
`Page 3
`
`
`
`
`
`4OO0
`
`1.
`
`INTRODUCTION
`
`TheConcept of Telesoftware
`When viewdata was invented a few years ago, no-one could fore-
`see how rapidly microelectronics was going to develop. The
`result has been that except for a few of the very earliest sets,
`all viewdata receivers are built around a set of chips,
`rather
`than discrete logic circuits.
`Some of these chips are in fact
`general-purpose, programmable, microprocessors. The pressure
`is still very strong to minimise the number of components, and
`hence the cost,
`for the mass market domestic sets, but
`the
`marginal cost of providing additional capabilities is not high, and
`_a number of "intelligent'' sets are now being developed.
`
`Such intelligent viewdata receivers give the capability to carry
`out more complex operations than are available with a standard
`terminal. For example,
`it is possible to process the data that
`is received,
`rather than just to display it, and it is also possible
`to reprogram the device to perform different functions.
`
`Now a reprogrammable device requires a means of getting the
`programs into it.
`But with viewdata we are talking about a
`terminal connected to the telephone network. So why don't we
`use the network itself to distribute, ‘not just data, but also the
`programs (software), This is the principle of telesoftware:
`the
`distribution of software via a communication medium, in this
`case the telephone,
`
`there
`But telesoftware is not just an interesting technical idea:
`is also a need for it. As the cost of hardware has been coming
`down rapidly there has not been a corresponding fall. in the
`cost of developing and maintaining software, which remains
`labour intensive and therefore increases with inflation, However,
`‘there is an alternative way to reduce the selling price, and this
`is to sell many copies of the same software. The ideal way to
`achieve this is to have a means of distribution whereby the
`software supplier can set up a single copy of a program which
`is updated when necessary. Purchasers can take copies paying
`a usage charge each time they do so, This is precisely the
`facility that telesoftware can provide.
`
`- Compatibility
`it is already possible to
`With the standard Prestel system,
`PMC Exhibit 2064
`purchase terminals from many different suppliers, but all
`PMC Exhibit 2064
`Apple v. PMC
`displaying information in the same way. When we come to tele-.. Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`:
`.
`Page 4
`Page 4
`
`
`
`4O1
`
`i.e. we
`to achieve the same results,
`software we again want
`want
`to have a single version of a program, stored on Prestel,
`and capable of being brought down and executed in a range of
`different
`terminals.
`
`This is an extremely difficult problem to solve. Even with
`standard terminals, characters look different depending on the
`display chips used, and there is at least one inconsistency in
`interpretation of control characters (see Prestel pages 33822 and
`3382262). With software there is much greater scope for in-
`consistency because the basic instructions are different between |
`different processors.
`,
`
`The problem has been solved completely in the implementation
`of MicroCobol, which is a programming language designed to be
`portable over a wide range of machines.
`Programs are compiled
`to an intermediate code which is then interpreted identically on
`different processors. Even more significantly,
`the same result is
`obtained from a program which is in error, so it does not
`matter what machine is used to test out
`the program,
`the effect
`is always the same.
`
`i
`MicroCobol
`language has been designed specifically for
`The MicroCobol
`business applications on microcomputers. Some of its features
`are:-
`
`the most commonly used language
`Based on COBOL,
`for business data processing, but modified to make it
`suitable for interactive use on small machines (rather
`than batch mainframe operations) and also extended to
`include modern structured programming constructs.
`It
`is a language designed for professional programmers
`(unlike BASIC for example) but
`there is a large
`population of such programmers capable of using it
`with minimal retraining.
`
`MicroCobol incorporates a powerful disk-based operating
`system with extensive file handling capabilities.
`It
`requires at least one and preferably two disks,
`the
`minimum being floppy disks of quarter megabyte capacity.
`Minimum.memory is 48K, but 64K is an advantage.
`
`Thus MicroCobol is suitable for an intelligent business viewdata
`PMC Exhibit 2064
`rather than the lowest cost device for the domestPMC Exhibit 2064
`terminal,
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 5
`Page 5
`
`
`
`
`
`i
`
`402
`
`user. As a very rough figure, we would expect the cost of such
`a terminal to be about
`twice the cost of a high quality standard
`viewdata terminal,
`if produced in similar numbers. The early
`users are therefore expected to be large business organisations
`with a need for distributed computing power, but it is expected
`to spread to smaller businesses, and eventually to very small
`businesses such as the corner shop,
`
`2.
`
`THE MECHANISM OF TELESOFTWARE
`
`Data Format
`As a starting point for our telesoftware development work we
`- assumed that we could operate with no changes at all to the
`central software of Prestel. Although it was not by any means
`certain that this would be a valid assumption,
`it has proved to
`be so. Obviously,
`there would have been problems and delays
`if we had needed changes at
`the centre, but a more important
`point is the fact
`that our telesoftware will now work on any
`viewdata system which uses protecols similar to Prestel. Hence,
`our marketplace includes private as well as public viewdata
`systems,
`
`Prestel works on 7 data bits plus parity which is probably the
`least convenient format for a computer language based on an
`eight bit byte. For simplicity our initial work was based on
`transmitting a pair of hexadecimal characters for each byte of
`program (i.e. using only 4 bits per character.) This gave a
`maximum of about 410 bytes per frame after allowing for control
`information. Further developments have achieved greater packing
`densities by recognising multiple repetitions of the same
`character, and by allowing most ascii characters to be trans-
`mitted as a single 7 bit character.
`
`Another serious deficierey of Prestel from this point of view is
`the lack of an "end of transmission" character, but this is
`overcome by having our own "end" sequence.
`
`The length of the transmission at 960 characters is longer than
`would normally be expected,
`so we allowed for shorter units.
`However,
`the overhead is minimised with longer "records", and
`we find the full length to be satisfactory from the point of view
`of error frequency,
`so this is what we use.
`
`Error Detection
`Unlike telesoftware broadcast by teletext, we can take a very
`
`PMC Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`a Page 6
`Page 6
`
`,
`
`|
`
`.
`
`
`
`4HO3
`
`simplistic approach to errors. Because of teletext's delays be-
`tween successive transmissions,
`they make every effort to
`correct transmission errors, by the use of Hamming codes. We
`simply detect errors, and request retransmission of the frame
`in error. Checking consists of the parity check on each charac-
`ter, a checksum on the line of control information on each
`frame, a checksum on the data characters on each frame, and
`an Overall checksum for the entire program,
`to ensure that we
`have not got out of step in reading the frames,
`
`;
`
`We considered the desirability of a more complex cyclic re-
`dundancy check, but came to the conclusion that
`the error rate
`at which the simple checksum is inadequate,
`is such that
`the
`time taken to transmit a program would be unacceptably long
`due to the number of retransmissions needed.
`In practice we see
`very few errors in transmission; remember that we are always
`using a local call. The program tries each frame up to three
`times, and if the error persists the operator is given the choice
`of trying again or abandoning the run,
`
`Anti Piracy Protection
`If companies are going to invest in the development of programs
`and supply them via public viewdata services,
`they need protect-
`ion against unauthorised copying of the programs. The first
`level of protection with MicroCobol arises from the fact
`that
`programs are distributed not in source form, but in a verion
`of the intermediate code. Some languages, such as Basic, are
`normally saved in source form, or in an intermediate language
`which is very similar to the source,
`In these cases it would be
`' very easy for a customer to copy down the frames containing
`the program, and manipulate them to produce his own version.
`In fact he could even view the frames and simply rekey them if
`that were easier.
`
`While we cannot, of course, protect programs completely
`against the equivalent of the dedicated "phone freak", we can
`ensure that a significant amount of time and effort would be
`required to break the codes that we insert. And in the business
`environment to which MicroCobol programs are addressed,
`time
`is money. We have therefore included a umber of complicating
`factors, one of which is an expiry date.
`.
`
`|
`
`The program provider specifies a retention period which is
`It can be unspecbfiedynibit 2064
`stored on the first frame of the program,
`PMC Exhibit 2064
`Apple v. PMC
`in which case the program is available indefinitely. OtherwiseApple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 7
`Page 7
`
`DE
`
`
`
` et
`
`
`thikRSSIADOTTIETELEsitpoetPSURSOSTNTE)aeROMINAnerSngyaSKFerERacosine
`
`
`
`
`cosrapnamasteieteORIaSEISIRatom
`
`HOW
`
`the operating system adds the retention period to the current
`date, and sets up an expiry date. Any attempt
`to run the
`program after the expiry date will fail with an appropriate
`message,
`
`As a further extension one of the frames could be a response
`frame. The date and time provided by Prestel give a unique
`identifier for the program, and the response frame identifies
`the purchaser. So if a "pirate’’ copy turns up its origin can be
`traced.
`
`PracticalUse
`The telesoftware mechanism is in fact a general file transfer
`mechanism. Not just programs, but also data files can be
`transferred in the same way. Successive frames are used,
`called down by sending #* and if more than 26 are required,
`route 0 from the z frame gives the first frame of another page.
`
`From the user's point of view, he finds the program he wants
`via the normal menu selection process, The instructions on how
`to operate the program are also on Prestel,
`routed to in the
`normal way. Charging is via the normal Prestel frame charge,
`specified by the program provider, and collected on the user's
`bill in the same way as all his other information charges.
`
`The major restriction that we can see on telesoftware is its
`speed, Assuming we can completely overlap the reading of a
`frame with the processing of the preceding one,
`the transfer
`rate is about 8 seconds per frame,
`i.e. 73 frames per minute.
`Depending on the packing density we can achieve this is likely
`to give up to about 4K bytes per minute, i.e. 5 minutes for a
`typical program of 20K bytes. This should be acceptable, but if
`we want
`to transfer a suite of programs, say the sales ledger
`occupying about a quarter of a million bytes,
`the time taken
`will not be less than an hour.
`
`cBBRESTARngBh
`
`geYEsesannaoanRAREaeISASBacalreaders
`
`While it would be possible to bring down a suite of programs
`of this size during lunch, say,
`it does not seem very practicable,
`Until we have significantly faster transmission speeds, we there-
`fore believe that telesoftware will be used only for individual
`programs and for amendments and updates to suites of programs,
`which will continue to be purchased initially by some other
`means,
`for example a floppy disk sent by the post. However,
`we envisage that
`the use of response frames, and in the future
`a message service, will play an important part in the remote
`—————
`
`PMC Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 8
`Page 8
`
`
`
`
`
`seb,peningpacerModete
`
`
`
`4O5
`
`support and maintenance of software.
`
`3.
`
`EXTENSIONS TO VIEWDATA
`
`So far we have only considered the means by which telesoftware
`operates. But what can we do with it?
`
`Having brought down a program we can go off-line, and treat
`the terminal as a completely stand-aloremachine., However,
`let
`us consider first some of the possible applications of the
`intelligent terminal when on-line to the viewdata centre, so that
`it is used in effect to extend the viewdata capabilities.
`
`
`
`Improved Access Methods
`With Prestel,
`the standard method of accessing data is via a
`series of menu selections. The simplicity of this approach and
`the ease with which it can be learnt and used is probably the
`greatest strength of the viewdata concept. However, it does
`mean that there can often be a large number of accesses
`before getting to the desired frame. This can be seen as a
`clear weakness of the system, which will be particularly
`serious for someone who needs to use the system frequently.
`
`is also possible to go directly to a specific page, but of
`It
`course it is necessary to know in advance the page number for
`the information required, This knowledge can be achieved by an
`intelligent terminal which makes use of an index; for example,
`to select a railway timetable given the starting point and
`destination,
`
`the index will be stored on Prestel by the IP to
`The idea is that
`whose information it refers. Thus it will be kept up-to-date and
`called down only when needed. Alternatively,
`the index could be
`brought down onto local disk storage if required frequently.
`In
`this latter case it would be necessary to provide a means of
`checking to ensure that
`the index on disk had not got out of
`date and out of step with the data.
`
`Although the simplest approach is to obtain and display a com-
`plete frame of data,
`it is possible to be more selective, only
`displaying a particular part of the data; for example a specific
`train time.
`
`PMC Exhibit 2064
`The problem with the use of keywords etc is that their intc Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 9
`
`
`
`LOG
`
`duction removes some of the simplicity of the Original idea.
`is very important not
`to introduce the complexities of an
`elaborate data base system with its own special language, The
`preferred approach is to have a number of simple retrieval
`programs, each specific to a particular requirement.
`If the
`user requires access to data not covered in this way, he can
`always use the standard "menu'’ approach. Thus we can add to
`the viewdata capabilities without undue complication and without
`removing existing facilities.
`
`It
`
`Processing of Data
`it is a
`Having retrieved data from Prestel as indicated above,
`straightforward extension to want
`to process that data. Obviously
`this
`is easier if the information is displayed in a fixed format,
`as the program will
`then know exactly where to find a particular
`item.
`It is, however, also possible to scan the information
`looking for a particular key, and so find an item of data from
`a relatively free-format frame.
`
`.
`
`is already on Prestel would be of greater
`Much of the data that
`value if it were possible to perform calculations directly on it.
`For example,
`it would be possible to calculate the current
`value of a portfolio of shares by accessing the stock exchange
`prices of each.
`
`A second use for this idea is in conjunction with closed user
`groups, using Prestel as a communication medium. For example,
`the head office could put up current price lists on Prestel for
`use by subsidiary companies or retail outlets. These latter
`could in turn use the response frame facility to send back
`orders.
`
`Input Validation
`The concept of response frames is a very important and useful
`extension to viewdata. However, as currently implemented it
`has the serious weakness that no validity checking takes place
`on the "messages" that are sent from the user to the IP, This
`means that if, say, alpha characters are included in what should
`be numeric data,
`it is only when the IP views the completed
`response frame that
`the error is seen.
`
`A program running in an intelligent terminal can overcome this
`problem by checking the data as it is entered, and only trans-
`mitting valid data..
`
`— IPR2016-00753
`
`PMC Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`Page 10
`Page 10
`
`
`
`4O7-
`
`A good example of this is an order entry system in which
`checks can be carried out for valid item numbers and the
`availability of stock.
`In addition,
`the operator has an opportunity
`to reject entries if he realises that he has made an error.
`Finally,
`in transmitting the response frame the terminal can
`check that
`the correct characters are echoed, and in the event
`of line errors can transmit the whole frame again, without
`the operator having to re-enter it.
`
`I.P. Usage
`There are already on the market a number of special purpose
`intelligent editing terminals for information providers. These
`are programmed to perform one particular job. The big ad-
`vantage of telesoftware is that a general purpose intelligent
`terminal can be reprogrammed via the viewdata network to
`perform a range of different jobs, Examples include:
`
`**
`
`*
`
`Processing Response Frames. For example, with the
`order entry system.mentioned earlier the information
`provider's machine could automatically process the
`orders, producing invoices,
`despatch notes etc and
`update central stock levels. Note than one should try
`not
`to develop this idea too far: Prestel is not
`sufficiently responsive to accept orders for individual
`items such as in a seat reservation system. On the
`other hand,
`it is much better than mail order.
`
`In the order entry example it
`Updating of Frames.
`would be possible to update Prestel automatically
`to indicate changes in stock availability.
`
`It is possible to
`Processing of Frame Information,
`interrogate frames automatically on a regular basis,
`to check the counts of the number of times accessed.
`
`Editing. Off-line editing facilities can be provided,
`either in a general way, or specific to a particular
`ILP.'s requirements.
`
`So the intelligent terminal can perform a wide range of tasks
`for both the Prestel user and the information provider.
`
`PMC Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 11
`Page 11
`
`
`
`4O8
`
`4,
`
`END USER COMPUTING
`
`So far we have been referring to an intelligent terminal attached
`to a viewdata network, However, by virtue
`of its intelligence,
`such a device is also capable of operating as a stand-alone
`machine, off-line from the network.
`In this mode the useris
`not paying a time based charge, either for connection to a
`central system or for a telephone call.
`Instead he can run his
`own program entirely in his own time.
`
`Furthermore, because colour and graphics are available as
`standard from viewdata chip sets, we have a relatively low-
`cost device with these features.
`It seems likely that colour will
`soon come to be the standard for displaying information in the
`office in the same way that colour television has taken over in
`the home. Thus, when combined with the distribution facilities
`of telesoftware, we have the ideal device for taking computing
`power to the end user.
`
`In this section we consider just a few of the possible business
`applications,
`
`Local Viewdata
`The development of a full private viewdata system is a non-
`trivial task if one is to handle closed user groups,
`response
`frames, etc, and provide full accounting facilities. On the other
`hand,
`a simple retrieval system using viewdata protocols can
`be implemented very easily on a microprocessor based intelligent
`terminal with a suitable file store. And because of the great
`advantage of simplicity of use,
`this will be an attractive way
`to hold data.
`
`A standard, single density, floppy disk can hold about 200
`frames and can be carried around conveniently.
`It is possible
`to provide a password system for security protection but much
`greater protection is provided by the fact
`that
`the user can
`simply remove his disk and take it away with him,
`
`Because we are working with a system with a local intelligence
`we can do things that are not possible with Prestel. Firstly
`we can write directly into the display memory instead of using
`a serial link. This means that instead of taking up to eight
`seconds to fill the screen it can bé done virtually instantaneously,
`
`
`
`
`
`“paDORRRASRATADStccdceMaarts“pmentpeeaaamnnnene
`
`
`
`
`
`Another important feature is the ability to modify parts of the pMc Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 12
`Page 12
`—————a
`
`
`
`409
`
`rather than displaying a whole page at a time. We can
`screen,
`use this to create dynamic visuals, and, particularly in con-
`junction with the use of colour, provide more interest through
`the use of movement on the screen,
`
`In this way
`Finally we can pre-program sequences of displays.
`the device can be used as an aid to presentations, or to pro-
`vide a continuous display facility.
`
`Training
`topic in its own -
`Computer assisted learning is an important
`right. Usually it involves terminals on a mainframe computer,
`and is particularly relevant where there is a shortage of suit-
`able teachers, or where the students need to fit‘ in training
`between other tasks,
`for example when on shift work.
`
`Prestel terminals with colour and graphics, can also be used,
`and with intelligent terminals used off-line,
`there is no usage
`charge. Prestel telesoftware can be used as the distribution
`medium or a private viewdata system can be used,
`so this will
`be particularly valuable for a company with scattered employees:
`maintenance engineers for example. And the fact
`that
`the
`program runs off-line after being brought down is an important
`psychological advantage to the slower student: it is not costing
`extra money if he takes his time. Furthermore,
`the intelligent
`viewdata terminal will be less expensive than most graphics
`terminals currently in use for CAL. So we are suggesting a
`very cost-effective solution.
`
`The dynamic visuals of our local viéwdata system can provide
`an interesting and effective medium for putting across basic
`concepts and the menu selection technique allows for multiple
`choice questions in progress tests.
`The system keeps a count
`of the routes taken, and the teacher can subsequently analyse
`the performance of individual students, and also the effectiveness
`of the course as a whole, Standard tools have been created to
`facilitate the production of training courses by teachers without
`a knowledge of computer programming,
`so again the end users
`will interact directly with the terminal.
`
`etAcett
`The graphics capability of a viewdata terminal is not of a high
`enough quality to produce high resolution pictures, but
`it is very
`suitable for producing diagrams such as bar charts and hi ste exhibit 2064
`PMC Exhibit 2064
`grams, especially when use is made of the colour facilities. appnple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 13
`Page 13
`
`:
`Pe
`
`
`
`410
`
`The intelligent viewdata terminal with a file store is therefore
`an excellent device for an end user to store financial information
`which he can call up and display in a format of his own choice.
`
`For example one could compare different sets of figures on the
`same graph, plotting differences or ratios,
`It
`is possible to
`request further details for one particular set of results that
`appears to be anomalous; for example getting monthly figures
`for a particular year. And it is also possible for the user to
`save a particular display for future reference.
`.
`
`so that
`this can be provided via an easy-to-use interface,
`All
`_the system is "user friendly". As an example of this we can
`provide a "help" facility whereby the user can be prompted
`with a choice of possible actions at any point, by pressing a
`particular key, Another example is the user's ability to select
`his own colours, since we have found: from experience that a
`choice of colours that suits one person can be found tiring by
`another,
`
`OtherUses
`Clearly there is a wide range of other possible applications for
`an intelligent terminal. The ones highlighted above have been
`examples where the special viewdata characteristics are
`important, but as a general purpose computer there is the full
`range of business applications, which would apply both to sub-
`sidiary branches of large companies and also to the hundreds
`of thousands of small businesses,
`
`The viewdata standard of 40 characters per line is something of
`a restriction, since most small business computers have an 80
`character VDU, and mostbusiness applications are programmed
`accordingly.
`It is possible to rewrite the programs to use the
`“more restricted screen width, and we have done that in some
`eases. However,
`the answer is likely to come from hardware
`advances. Coloured terminals are being developed that are
`capable of displaying either 40 or 80 characters per line, An
`intelligent version of one of these would be software switchable
`between 40 character
`''viewdata'’ format and 80 character
`"business terminal'’ format,
`in the same way that the present
`terminal is switchable between the viewdata "page-at-a-time”
`-and computer "scrolling'' modes. And it would be possible to
`go further and use standard Prestel protocols for distribution
`of programs which were capable of using high resolution
`graphics.
`
`PMC Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 14
`———————eePage 14
`
`
`
`41
`
`So with telesoftware there is enormous potential for further
`development of the viewdata concept. MicroCobol is specifically
`aimed at the business market, but when the cost ofterminals
`becomes low enough the potential of telesoftware for the
`distribution of home entertainment and educational programs
`will be enormous, However the opportunities and problems
`associated with the development of that market are still to be
`explored,
`
`De
`
`CONCLUSIONS
`
`This paper has attempted to give an indication of the concept
`and possible uses of telesoftware in business applications, but
`has not been in any way an exhaustive study of the topic,
`
`that most business users of viewdata systems will
`It is felt
`require some degree ofintelligence in their terminals, and mary
`will need some local file store. For these,
`telesoftware offers
`the ability to extend the capabilities of viewdata while still
`retaining the advantages of the original concept.
`
`References
`
`1.
`
`A. d'Agapeyeff ''A platform for true program portability
`with examples from MicroCobol", Fourth International
`Conference on Software Engineering, Munich, September
`i979,
`
`PMC Exhibit 2064
`PMC Exhibit 2064
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 15
`Page 15
`
`