throbber
United States Patent [19]
`Manduley
`
`US005956505A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,956,505
`Sep. 21, 1999
`
`[54] REMOTE ACTIVATION OF SOFTWARE
`FEATURES IN A DATA PROCESSING
`DEVICE
`
`5/1992 Wilson et al. ........................ .. 364/146
`5,113,222
`5,155,847 10/1992 Kirouac et al. .
`395/600
`5,287,505
`2/1994 Calvert et al. ........................ .. 395/600
`
`[75] Inventor: Flavio M. Manduley, Woodbury, Conn.
`
`[73] Assignee: Pitney Bowes Inc., Stamford, Conn.
`
`[21] Appl. No.1 07/813,080
`[22]
`Filed:
`Dec. 24, 1991
`
`[51] Int. Cl.6 ................................................. .. G06F 15/177
`[52] US. Cl. ........................ .. 395/651; 395/712; 705/410;
`705/416
`[58] Field of Search ................................... .. 395/200, 325,
`395/600, 650, 725, 575, 700; 380/4
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`2/1974 McFiggins et al. .................. .. 395/200
`3,792,446
`6/1978 Eckert, Jr. et al.
`395/200
`4,097,923
`3/1987 Pailen et al. .... ..
`380/4
`4,652,990
`8/1987 Thomas
`380/4
`4,685,055
`4/1988 William
`395/575
`4,740,890
`4,780,821 10/1988 Crossley ...... ..
`395/650
`4,791,565 12/1988 Dunham et al. ..
`395/575
`4,937,863
`6/1990 Robert et al.
`380/4
`4,941,175
`7/1990 Enescu etal.
`380/4
`5,103,476
`4/1992 Waite et al. .... ..
`380/4
`5,107,455
`4/1992 Haines et al. ......................... .. 395/275
`
`Primary Examiner—Thomas G. Black
`Assistant Examiner—John Loomis
`Attorney, Agent, or Firm—Melvin J. Scolnick; Robert H.
`Whisker; David E. Pitchenik
`[57]
`ABSTRACT
`
`A method is provided for activating an optional feature in a
`data processing device that includes a microprocessor and
`memory. The method includes storing in the memory: a
`number of applications programs, at least one of Which has
`at least one optional feature; application manager software
`for controlling access to the application programs; a com
`munications softWare module, accessed by means of the
`application manager, for controlling data communication by
`the device; and a program activation softWare module,
`accessed by means of the application manager and including
`activation data that indicates Whether each optional feature
`is activated or unactivated. The method also includes receiv
`ing a request to operate one of the optional features, deter
`mining by reference to the activation data Whether the
`feature is activated or unactivated, operating the feature if it
`is activated and otherWise preventing operation of the fea
`ture. The method further includes receiving a request to
`activate the feature (if unactivated) and updating the acti
`vation data to indicate that the feature has been activated.
`
`13 Claims, 9 Drawing Sheets
`
`@
`
`REQUEST TO \
`ACTUATE
`1 00
`APPLICATION
`
`STAND
`ALONE
`SYSTEM?
`
`YES
`
`l /106
`
`SELECT
`FEATURE
`
`I___
`
`104
`
`IS REQUESTED
`APPLICATION
`ACTIVATED?
`
`REQUEST
`ACTIVATION?
`
`108
`
`IS SELECTED
`FEATURE
`ACTIVATED?
`
`IS USER
`AUTHORIZED TO
`REQUEST
`ACTIVATION?
`
`YES
`Y
`SELECT SOFTWARE 112s
`CONFIGURATION _l
`T
`ENTER/ACCESS
`GENERATE
`SOFTWARE
`SYSTEM |.D. ETC. x134
`ACTIVATION
`REQUEST CODE
`1
`
`[L125
`
`IS NECESSARY
`HARDWARE IN
`PLACE’?
`
`YES -—i
`
`GENERATE
`INTEGRATED 1135
`REQUEST CODE
`
`GENERATE
`HARDWARE onozn
`CODE
`\132
`
`Petitioners Ex. 1006 Page 1
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 1 019
`
`5,956,505
`
`_.-vN
`
`Néw
`
`>mos_m_2
`
`mo_>mo
`
`>mos_m_2
`
`mo_>m_o
`
`«.3
`
`>mos_ms_
`
`mo_>mo
`
`.z-&
`
`5
`
`>mos_ms_
`
`mo_>mo
`
`_..0_n_
`
`E
`
`<»<o
`
`8
`
`
`
`
`
`5>Sn_w_ozo:.<o_z:s=2oo
`
`«N
`
`.
`
`8
`
`E8mmmo<nEm»z_
`
`om<Om>m_xom._<mm_._.__mm.__
`
`Petitioners Ex. 1006 Page 2
`
`Petitioners Ex. 1006 Page 2
`
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 2 of9
`
`5,956,505
`
`E.
`
`
`
`mmo<z<_2wm<m<._.<D
`
`8
`
`._0_n_ZOO
`
`DEOOMI
`
`8
`
`an
`
`s_<moomn_
`
`20_._.<>_._.O<
`
`.0_._n_n_<
`
`mesa
`
`9..
`
`en
`
`3.
`
`E
`
`_.._m>m._
`
`N._m>m._
`
`n._m>m._
`
`xm.Eo:om
`
`3
`
`E
`
`3
`
`m_m:.p<m"_
`
`mmP2mu_
`
`mm:»<mn_
`
`
`
`m....._D._.<m..._mE..._.<m...
`
`mE:.<m"_
`
`
`
`mE:.Emn_mm:.Emu.
`
`8
`
`mm:»<mn_
`
`manta".
`
`mEF<m.._
`
`Nu
`
`mm
`
`9.
`
`3
`
`zO_._.<O_Z...__2S_O0
`wz:mm“_.z<s_
`
`
`
`0z_mmmmoo<0z_._.2DOOO<
`
`N.0_n_
`
`9.
`
`m_o<n_mm»z_mum:
`
`
`
`mmo<2<_2zo:<o:nE<
`
`Petitioners Ex. 1006 Page 3
`
`Petitioners Ex. 1006 Page 3
`
`
`
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 3 of9
`
`5,956,505
`
`02
`
`mm;
`
`02
`
`NNF
`
`we
`
`GE
`
`02/
`
`Now
`
`Petitioners Ex. 1006 Page 4
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 4 of9
`
`5,956,505
`
`FIG. 3-B
`
`IS
`ACTIVATION
`
`UPDATE USAGE
`COUNTER
`
`\114
`
`I
`
`COMPARE USAGE
`COUNTER WITH \116
`ACTIVATION MAP
`
`118
`
`112
`
`USAGE
`EXHAUSTED?
`
`oPERATE
`NO X» FEATURE
`
`YES
`
`DEACTIVATE 1
`FEATURE ON MAP
`12°
`
`Petitioners Ex. 1006 Page 5
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 5 of9
`
`5,956,505
`
`FIG. 3-C
`
`124
`
`IS USER
`AUTHORIZED TO
`REQUEST
`ACTIVATION?
`
`YES
`Y
`SELECT SOFTWARE H5126
`CONFIGURATION
`I
`GENERATE
`SOFTWARE
`ACTIVATION
`REQUEST CODE
`
`i123
`
`IS NECESSARY
`HARDWARE IN
`PLACE?
`
`YES —-i
`
`NO
`I
`GENERATE
`HARDWARE ORDER
`0005' _
`x132
`
`‘
`
`ENTER/ACCESS
`SYSTEM I.D. ETC. x134
`l
`
`GENERATE
`INTEGRATED \1 35
`REQUEST CODE
`
`Petitioners Ex. 1006 Page 6
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 6 of9
`
`5,956,505
`
`FIG. 3-D
`
`AUTOMATIC
`COMMUNICATIONS?
`
`YES
`
`ESTABLISH LINK
`\150
`I WITH DATA CENTER
`
`Y
`
`EXCHANGE CODES \152
`
`NO
`I
`DISPLAY
`INSTRUCTIONS FoR \140
`CALLING DATA
`cENTER
`
`\142
`
`I
`DISPLAY LIST OF
`REQUESTED
`FEATURES
`I
`DISPLAY
`INTEGRATED 1144
`REQUEST CODE
`I
`
`ENTER ACTIVATION ~L
`CODE RECEIVED
`146
`FROM DATA
`CENTER
`
`UPDATE
`ACTIVATION MAP \148
`
`Petitioners Ex. 1006 Page 7
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 7 of9
`
`5,956,505
`
`RECEIVE
`TELEPHONE CALL
`
`FIG. 4-A
`
`AUTOMATIC
`COMMUNICATIONS?
`
`PROMPT USER TO \
`N°—> ENTER REQUEST
`204
`CODE
`
`YES
`
`RECEIVE REQUEST 1
`CODE
`205
`
`Y
`DECRYPT CODE \208
`
`T
`
`CHECK CUSTOMER \
`FILE
`210
`
`212
`
`ISSUE ERROR 1,214
`YES _> MESSAGE
`
`NO 6
`
`Petitioners Ex. 1006 Page 8
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 8 of9
`
`5,956,505
`
`HARDWARE
`ORDERED?
`
`ISSUE SHIPMENT
`YES" INSTRUCTIONS
`
`\21a
`
`NO
`
`UPDATE \
`CUSTOMER FILE
`220
`I
`ISSUE BILLING \
`INSTRUCTIONS
`222
`I
`GENERATE
`ACTIVATION CODE \224
`I
`ENCRYPT CODE \225
`
`FIG. 4-B
`
`AUTOMATIC
`COMMUNICATIONS?
`
`228
`/
`TRANSMIT c005 TO
`SYSTEM
`YES ‘’
`
`TRANSMIT CODE TO
`USER
`
`Petitioners Ex. 1006 Page 9
`
`

`
`U.S. Patent
`
`Sep.21, 1999
`
`Sheet 9 of9
`
`5,956,505
`
`300
`
`FIG. 5
`
`306
`
`YES
`r
`
`RECOMMEND
`INHIBITED?
`
`TEMPORARY
`ACTIVATION
`AVAILABLE? ,
`
`NO
`
`NO
`
`302
`
`I‘ NO
`
`ALTERNATIVE/
`COMPATIBLE
`FUNCTIONS NOT
`ACTIVATED?
`
`YES
`
`REQUESTED I
`FUNCTION
`
`COMPLETE?
`
`YES
`
`YES
`
`+
`LIST
`REF??qhéh'plféhrlqDsED '\
`AVAILABLE FOR
`308
`TEMPORARY
`ACTIVATION
`
`LIST
`RECOMMENDED
`FUNCTIONS ‘L
`AVAILABLE FOR
`310
`PERMANENT
`ACTIVATION
`
`‘
`
`ADVIsE ON \
`ACTIVATION
`312
`PROCEDURE
`
`Petitioners Ex. 1006 Page 10
`
`

`
`1
`REMOTE ACTIVATION OF SOFTWARE
`FEATURES IN A DATA PROCESSING
`DEVICE
`
`RELATED APPLICATIONS
`
`Reference is made to application Ser. No. 07/812,983,
`noW abandoned, and copending application Ser. No. 07/812,
`982, ?led contemporaneously hereWith and assigned to the
`assignee of this application.
`
`FIELD OF THE INVENTION
`
`This application relates to operation of data processing
`devices and more particularly to such devices that perform
`a plurality of functions under the control of a stored softWare
`program.
`
`BACKGROUND OF THE INVENTION
`
`With the proliferation of microprocessor-based data pro
`cessing devices, there have developed large industries
`devoted to marketing and distribution of computer softWare,
`i.e. programs to control the operation of devices, and data to
`be processed by the devices. The softWare is often compleX
`and is capable in some cases of performing a large number
`of different functions. Processable data may also be provided
`in different varieties that are useful for a number of different
`purposes or tasks. It is also becoming common for the price
`of softWare or data to be based on the “value” to the
`customer. Thus, the marketer may Wish to charge the cus
`tomer a separate amount for each softWare function or each
`variety of data and the customer may Wish to pick and
`choose among the functions and/or varieties. This may be
`the case Whether the softWare or data is sold by itself or
`together With a data processing device.
`A type of data processing device that illustrates the
`foregoing is the computeriZed parcel manifest system, of
`Which Well knoWn examples are the STAR 200 and the
`STAR 110, both marketed by Pitney BoWes Inc., Stamford,
`Conn. These devices are both sold With operating system
`softWare, application softWare that controls the devices so as
`to perform their intended functions, and data to be used by
`the device. The data includes carrier rate data that is used for
`calculating parcel shipping charges. The STAR 200 includes
`an IBM PC-compatible microcomputer interfaced to an
`electronic scale. Also included in the STAR 200 is a cus
`tomiZed keyboard that includes special keys for selecting a
`parcel carrier or class of service. SoftWare and data are
`loaded into the computer for storage on a hard disk.
`The STAR 110 resembles a conventional electronic scale
`in outWard appearance. A microprocessor, memory, Weigh
`ing scale hardWare and softWare, and a keyboard and small
`display, are all integrated into a single housing. Part of the
`device’s memory is a ROM Which stores the operating
`system and application softWare. Thus the softWare is
`“embedded” in the device, Which is sometimes referred to as
`an “embedded system.” Carrier rate data and other infor
`mation are stored on PROMs that are detachably connected
`to the device and are addressable by the microprocessor.
`Both the STAR 110 and STAR 200 are capable of
`performing a number of accounting functions and producing
`printed shipment manifests, shipping forms and labels, and
`a number of different reports by means of a peripheral
`printer or printers. Both also permit processing of parcels in
`accordance With the requirements of several carriers. In
`addition to rate data that is provided as a standard feature of
`these devices, other rate data packages (eg for additional
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`5 m
`
`5,956,505
`
`2
`carriers or classes of service) are available for an additional
`fee. Since not all customers desire to purchase any or all of
`the available optional rate packages, the supplier of the
`devices must arrange that a variety of sets of rate data
`packages be stored in the devices. For eXample, it has been
`knoWn to install PROMs in the device (if the device is an
`embedded system) or to supply a ?oppy disk (if the device
`is PC-based), containing only the rate packages desired by
`the customer. HoWever, such arrangements may require
`production and storage of a large number of different rate
`PROMs and disks, With attendant eXpense and inconve
`nience. It has also been knoWn to store some or all of the
`possible rate packages on a standard PROM or disk or set of
`PROMs or disks and then to control the device’s access to
`the rate data via “directory” information stored on a direc
`tory PROM or disk. This approach also entails signi?cant
`eXpense and inconvenience. Under both approaches, the
`inconvenience can be increased When the customer Wishes
`to add an optional rate package at some point after initial
`purchase of the device. A signi?cant part of the inconve
`nience arises from the need to keep track of Which customers
`are holding Which optional rates, for purposes of distributing
`rate updates.
`Thus a more convenient and less expensive method of
`distributing rate or other types of optional data packages is
`desirable. It is also desirable to facilitate the distribution of
`applications softWare having optional features for Which
`separate amounts may be charged.
`
`SUMMARY OF THE INVENTION
`According to the invention, a method is provided for
`activating an optional feature in a data processing device
`that has a microprocessor and a memory connected to the
`microprocessor. The method includes:
`(a) storing in the memory a number of applications
`programs, the programs being for controlling the
`microprocessor to carry out intended functions of the
`device, at least one of the applications programs includ
`ing at least one optional feature;
`(b) storing in the memory application manager softWare
`for controlling access to the stored applications pro
`grams;
`(c) storing in the memory a communications softWare
`module that includes a number of communication pro
`tocol submodules, the submodules being for controlling
`the device for data communication With other process
`ing systems; the communications softWare being
`accessed by means of the application manager;
`(d) storing in the memory a program activation softWare
`module, Which is accessed by the application manager
`and includes activation data that indicates for each
`optional feature Whether the feature is activated or
`unactivated;
`(e) receiving a request to operate one of the optional
`features;
`(f) determining by reference to the activation data Whether
`the requested feature is activated or unactivated;
`(g) operating the requested feature if the requested feature
`Was determined to be activated; and
`(h) preventing operation of the request feature if the
`feature Was determined to be unactivated.
`According to another aspect of the invention, the method
`also includes receiving an activation request to activate the
`feature if the feature Was determined to be unactivated, and,
`in response to the activation request, updating the activation
`data to indicate that the feature has been activated.
`
`Petitioners Ex. 1006 Page 11
`
`

`
`5,956,505
`
`3
`According to a further aspect of the invention, the method
`also includes generating an activation request code in
`response to receipt of the activation request, the code
`including information that identi?es the device and the
`feature; transmitting the activation request code to a data
`center; receiving an activation code from the data center in
`response to the transmitting of the activation request code;
`and entering the activation code into the device, the updating
`being in response to entering the activation code; Whereby
`activation of the feature occurs under control of the data
`center.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of a data processing device With
`Which the inventive method may be used.
`FIG. 2 is a diagram of the softWare architecture for a
`program that controls the device of FIG. 1.
`FIGS. 3-A, 3-B, 3-C, and 3-D are a How chart of a routine
`for activating an optional program feature in the device of
`FIG. 1.
`FIGS. 4-A and 4-B are a How chart of a routine by Which
`a data center receives a feature activation request and issues
`a feature activation code.
`FIG. 5 is a How chart of a routine Whereby the device of
`FIG. 1 recommends activation of unactivated optional fea
`tures.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`FIG. 1 illustrates in block diagram form a data processing
`device 20 With Which the inventive method may be used.
`Device 20 includes CPU 22, Which may be a conventional
`microprocessor. Connected to CPU 22 are a plurality of
`memory devices 24-1 through 24-N. Memory devices 24
`may include, for example, program memory ROMs, detach
`able PROM paddles, Working RAMs, ?xed and/or ?oppy
`disk drives, CD ROM drives, etc. It Will be appreciated that
`at least some of memory devices are read/Write memory
`While others may be read only.
`Also connected to CPU 22 is a display 26 and a keyboard
`28. There may be associated With keyboard 28 a conven
`tional mouse (not shoWn).
`Among other alternatives, the hardWare just described
`may advantageously be realiZed in a conventional personal
`computer, or may be incorporated in an embedded system
`such as the STAR 110 described above.
`Device 20 also includes one or more peripherals, repre
`sented by block 30, Which are connected to CPU 22 and
`Which may include an electronic scale, a postage meter
`and/or one or more printers. Also connected to CPU 22 is a
`data communication interface 32, Which may be a conven
`tional modem, and Which is capable of establishing a data
`communication path (represented by arroW 34) betWeen
`device 20 and another data processing system (not shoWn).
`FIG. 2 is a schematic illustration of the architecture of
`application program softWare stored in one or more of
`memory devices 24. Block 40 represents user interface
`softWare that alloWs the user to input data into, and control,
`device 20 and to receive information from device 20. The
`user interface softWare also alloWs the user to access appli
`cation manager softWare (block 42), Which, as described
`beloW, enables and controls access to the various applica
`tions resident in device 20.
`Accessed via application manager 42 are one or more
`application programs, such as an accounting program (block
`
`4
`44), an addressing program (block 46), and a manifesting
`program (block 48). It is Within the contemplation of the
`invention that one or more of the applications may comprise
`an expert system. Accounting program 44 preferably com
`prises the functionality of a device such as The Mail
`Management System available from Pitney BoWes Inc.,
`Stamford, Conn. As Will be appreciated by those skilled in
`the art, accounting program 44 contains capabilities for
`keeping track of, and generating reports concerning, mail
`room activities and expenses. Accounting program 44 is
`preferably divided into a plurality of features 50, each of
`Which represents one or more record-keeping and/or report
`generating functions. For example, a ?rst one of features 50
`may consist of capabilities for generating reports of activity
`and expenses on a department-by-department basis. A sec
`ond of features 50 may consist of a capability for generating
`a report that analyZes actual performance vs. budgeted
`performance. A third feature 50 may consist of capabilities
`for generating reports that are broken doWn by class of mail.
`Addressing program 46 preferably includes the function
`ality of the AddressRight system available from Pitney
`BoWes Inc. Thus addressing program 46 preferably includes
`a plurality of features 52 such as mailing list correction,
`duplicate address elimination, merging of tWo or more
`mailing lists, envelope printing or barcode generation.
`Manifesting program 48 preferably includes the function
`ality of the aforesaid STAR 200 parcel manifest system. The
`features 54 making up manifesting program 48 may there
`fore include a plurality of carriers or classes of service for
`Which manifests can be produced and a plurality of account
`ing and reporting capabilities concerning manifesting activi
`ties performed by manifesting program 48.
`Application manager 42 also provides access to commu
`nications softWare module 56 and program activation mod
`ule 58. Communications module 56 is made up of submod
`ules that enable device 20 to utiliZe such Well-knoWn
`communication protocols as 422 (block 60), RS232 (block
`62) and Echoplex (block 64). Program activation module 58
`includes a portion referred to as the “con?guration record”
`(block 66) Which is for storing data concerning the activated
`and activatable softWare options for device 20 and also the
`hardWare con?guration of device 20. Another portion of
`program activation module 58, represented by block 68,
`contains data identifying device 20 and its location. This
`data may include, for example, a device serial number for
`device 20 and the Zip code of device 20’s location. A third
`portion, represented by block 70, contains softWare that
`monitors operation of device 20 and makes suggestions to
`the user concerning unactivated programs or features that
`may be of value to the user. Portion 70, sometimes referred
`to as the “application guide”, Will be discussed in more
`detail beloW.
`Also accessible via application manager 42 is a diagnostic
`softWare module 72 Which includes self-diagnosis softWare
`routines that may be initiated by keyboard input. As illus
`trated in FIG. 2, module 72 includes three diagnostic levels
`74, that might respectively be accessible by an authoriZed
`user, a supervisory user and a service representative. A
`greater or smaller number of levels is also contemplated.
`Completing the softWare architecture of device 20, as
`portrayed in FIG. 2, is a data base manager program,
`represented by block 76. Database manager 76 may be one
`of a number of commercially available database manage
`ment packages and is accessed by accounting program 44,
`addressing program 46 and manifesting program 48 for the
`purpose of performing some of their functions, such as
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`Petitioners Ex. 1006 Page 12
`
`

`
`5,956,505
`
`5
`storing transaction data, generating reports, or accessing an
`address data base.
`FIGS. 3-A, 3-B, 3-C and 3-D are a ?oW chart of a routine
`by Which application manager 42 and program activation
`module 58 control access to, and activation of, the applica
`tion programs and their various features.
`The routine commences With step 100, at Which the user
`requests that an application be actuated. The request may be
`made by entry of appropriate data or selection of a menu
`item through keyboard 28. The request is presented to
`application manager 42 through user interface softWare 40.
`Application manager 42 then determines, at step 102,
`Whether device 20 is a stand alone system, i.e. Whether
`device 20 includes only one application program such as
`accounting program 44. If at step 102 it Was determined that
`device 20 is a stand alone system, the routine proceeds
`directly to step 106. If device 20 is not a stand alone system,
`then it is determined Whether the requested application has
`been activated (step 104). This is accomplished through
`program activation module 58 Which consults a part of
`con?guration record 66 Which is referred to as the “activa
`tion map”. The activation map contains data indicating
`Which application programs, and Which features of the
`programs, have been activated and Whether the activation is
`permanent or temporary.
`If at step 104 it Was determined that the requested
`application Was activated, the user is permitted to select a
`feature of the requested application (step 106). It is then
`determined, again by reference to the activation map,
`Whether the selected feature has been activated (step 108).
`If at step 108 the selected feature Was determined to have
`been activated, it is neXt determined Whether the activation
`Was temporary, again by reference to the activation map
`(step 110, FIG. 3-B). If at step 110 the activation is not found
`to be temporary (i.e., the activation is permanent), applica
`tion manager 42 proceeds to permit operation of the
`requested feature (step 112). For example, if the requested
`application Was accounting program 44, and if the requested
`feature Was a department-by-department report generation
`package, the requested report Would be generated at step
`112. Preferably the operation of device 20’s hardWare is
`sufficiently rapid that steps 102 through 110 are accom
`plished Without a delay that is perceptible to the user.
`Returning noW to step 110, if activation of the requested
`feature Was found to be temporary, program activation
`module 58 updates a usage counter With respect to the
`requested feature to account for the requested use of the
`feature (step 114). Program activation module then com
`pares the updated usage counter With the amount of usage
`alloWed, as stored in the activation map (step 116). It is neXt
`determined, at step 118, Whether the alloWed usage Will be
`eXhausted by the request to operate the feature. If not, the
`routine simply proceeds to step 112, at Which the feature is
`operated as mentioned above. OtherWise, the routine pro
`ceeds to step 120, at Which the activation map is altered to
`indicate that the requested feature is no longer activated. The
`routine then proceeds to step 112, Which Will be the last
`operation of the requested feature, unless that feature is
`reactivated on the activation map, as Will be described
`beloW.
`Upon completion of step 112, the routine ends.
`If the requested application Was found at step 104 not to
`be activated, or if at step 108 the selected feature Was found
`not to be activated, the user is so advised and it is neXt
`determined Whether the user requests activation of the
`application or feature (step 122, FIG. 3-A). If not, the routine
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6
`ends. If activation is requested, the routine proceeds to step
`124 (FIG. 3-C) at Which it is determined Whether the user is
`authoriZed to request activation. As Will be Well understood
`by those skilled in the art, device 20 may be arranged so that
`various levels of authority Will be granted to various users,
`under the control of appropriate passWords. Thus a super
`visor or a manager level of authoriZation may be required to
`request activation of an application or a feature. If at step
`124 the user Was found not to be authoriZed, the routine
`ends. OtherWise, the user is prompted to select the program
`or feature that is to be activated (step 126). It Will be
`appreciated that selection of features to be activated may
`conveniently be guided by menus displayed on display 26
`and selection may be implemented by the user via keyboard
`28. With respect to at least some of the features available for
`activation, there may be menu items that indicate that either
`temporary or permanent activation is available. If the user
`selects temporary activation, there may be menu items that
`indicate such options as the number of times the feature Will
`be made available for use, or a length of time during Which
`the feature Will be available. After step 126, program acti
`vation module 58 then proceeds to generate a code that
`represents the applications or features or both for Which
`activation is requested (step 128). It Will be understood that,
`if temporary activation has been selected for some of the
`features, the activation map Will re?ect that fact and also Will
`re?ect the durations or amounts of usage selected for those
`features. Module 58 then proceeds to step 130, at Which it is
`determined Whether all hardWare required for the requested
`application or feature is connected to or included in device
`20. For example, if the requested feature Was the envelope
`printing feature of addressing program 46, program activa
`tion module 58 refers to the con?guration record to deter
`mined Whether an envelope printer is one of peripherals 30.
`If at step 130 it Was determined that hardWare not part of
`or connected to device 20 is required for the requested
`feature or application, program activation module 58 then
`generates a code that represents an order for the necessary
`hardWare (step 132). FolloWing step 132 (or step 130 if all
`necessary hardWare Was found to be in place) is step 134, at
`Which either the user enters data identifying device 20, or
`module 58 accesses such data from portion 68. The accessed
`or entered data may include Zip code or other data identi
`fying the location of device 20.
`FolloWing step 134 is step 136 at Which program activa
`tion module 58 generates an integrated request code that
`re?ects the entered ID. and location data, the softWare
`activation request and any hardWare that is to be ordered. It
`Will be understood that step 136 may include use of an
`encryption algorithm.
`FolloWing step 136 is step 138 (FIG. 3-D) at Which it is
`determined Whether device 20 is arranged for direct data
`communications With the data center. If not, step 140
`folloWs, at Which device 20 displays to the user instructions
`for calling a data center. After step 140 is step 142 at Which
`system 20 displays a list of the features and/or applications
`requested for activation by the user. That list also preferably
`includes all the hardWare Which is being ordered because it
`is required for operation of the requested features or appli
`cations. After step 142 is step 144 at Which device 20
`displays the integrated request code that Was generated at
`step 136. It Will noW be assumed that the user enters into
`communication With a data center in a manner that Will be
`described beloW. It Will further be assumed that, as a result
`of that communication, the user has received from the data
`center an activation code. Thus at step 146, the user enters
`into device 20, via keyboard 28, the activation code received
`
`Petitioners Ex. 1006 Page 13
`
`

`
`5,956,505
`
`7
`from the data center. The entered code is decrypted by
`program activation module 58, Which then updates the
`activation map of con?guration record 66 to re?ect activa
`tion of the programs and or features for Which activation Was
`requested (step 148). With respect to features for Which
`temporary activation Was requested, updating of the activa
`tion map includes storage of data that indicates the selected
`amount or duration of usage of the feature. A selected
`duration may be stored in the form of a deadline; a selected
`amount may be stored in the form of a number of times that
`the feature may be selected for use. It Will be appreciated
`that temporary activation alloWs a user to have use of a
`feature on a rental or free trial basis.
`After step 148, the routine then ends. It Will be understood
`that the user is noW free to request operation of the activated
`programs or features and that such a request Will lead to step
`112, as discussed above.
`Returning noW to step 138, if device 20 Was equipped for
`direct communication With the data center, step 150 Will
`folloW step 138. At step 150 appropriate action is taken
`through communication module 56 to establish a direct data
`link With a data center. Communication via conventional
`telephone, or alternatively cellular telephone or other Wire
`less communication is contemplated. FolloWing step 150 is
`step 152, at Which the integrated request code is transmitted
`from device 20 to the data center. An activation code is then
`received by device 20 from the data center. Step 152 then
`leads to step 148, as described above.
`The data center to Which request codes are to be sent and
`from Which activation codes are received is preferably of the
`same general type as the data center described in US. Pat.
`Nos. 3,792,446 and 4,097,923 in connection With a system
`for remotely charging postage meters. The disclosures of
`those patents are incorporated herein by reference. In addi
`tion to receiving numeric input from a user’s telephone tone
`pad and providing information via a voice ansWer back unit,
`the data center is advantageously also adapted to enter into
`direct data communication With a device 20.
`FIGS. 4-A and 4-B illustrate a softWare routine for
`controlling a data center to receive request codes from users
`or devices 20 and to transmit activation codes to users or
`devices 20. Such a data center may be maintained, for
`example, by a company that manufactures or markets
`devices 20.
`The routine begins With step 200, at Which the data center
`receives a telephone call. The routine then proceeds to step
`202, at Which it is determined Whether there is to be direct
`communication betWeen the data center and a device 20. For
`example, the data center may determine Whether a prede
`termined code has been transmitted, presumably by a device
`20, indicating that automatic communications are to pro
`ceed. If at step 202 it is determined that direct communica
`tion Will not be used, is data center Will then prompt the user,
`by means of a voice ansWer back unit, to enter a request code
`(step 204). Either folloWing step 204, or directly after step
`202 if direct communications or to be used, is step 206, at
`Which the data center receives the request code Which, it Will
`be understood, is either entered via a telephone tone pad by
`the user or is transmitted automatically by a device 20.
`FolloWing step 206 is step 208, at Which the data center
`decrypts the received request code in order to determined
`What programs or features are requested to be activated. It
`Will be recalled that the request code also contains informa
`tion identifying the device 20 for or by Which the request is
`being made. From that information, the data center deter
`mines the identity of the customer holding that device 20 and
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`8
`checks the customer’s ?le to determine Whether the request
`is appropriate (step 210). For example, the data center
`checks to see Whether the request code included a request to
`activate a feature or program that, according to the custom
`er’s ?le, Was already activated.
`FolloWing step 210 is step 212, at Which it is determined

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