`US008175978B2
`
`c12) United States Patent
`Endoh
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 8,175,978 B2
`May 8, 2012
`
`(54) MANAGING THE ALLOWED USAGE
`AMOUNT OF A PROGRAM USING LICENSE
`INFORMATION
`
`(75)
`
`Inventor: Tomoaki Endoh, Chiba-ken (JP)
`
`JP
`
`(73) Assignee: Canon Kabushiki Kaisha, Tokyo (JP)
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1391 days.
`
`(21) Appl. No.:
`
`10/527,909
`
`(22) PCT Filed:
`
`Oct. 6, 2003
`
`(86) PCT No.:
`
`PCT I JP03/12772
`
`§ 371 (c)(l),
`(2), ( 4) Date: Mar. 14, 2005
`
`(87) PCT Pub. No.: W02004/036409
`
`PCT Pub. Date: Apr. 29, 2004
`
`(65)
`
`Prior Publication Data
`
`US 2006/0026105 Al
`
`Feb.2,2006
`
`(30)
`
`Foreign Application Priority Data
`
`Oct. 15, 2002
`
`(JP) ................................. 2002-300409
`
`(51)
`
`Int. Cl.
`G06F 21100
`(2006.01)
`(52) U.S. Cl. ................ 705/59; 705/50; 705/51; 705/57;
`705/901; 705/902; 705/904; 705/911; 726/3;
`72614; 726/17
`(58) Field of Classification Search ..................... 705/59
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,260,999 A * 1111993 Wyman ........................... 705/59
`
`5,629,980 A * 5/1997 Stefik et al. ..................... 705/54
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`8-76994
`3/1996
`(Continued)
`
`OTHER PUBLICATIONS
`
`"Error Message-Another version is already installed---Can't
`Install", posting to the microsoft.public.office.setup Usenet group
`from Jan. 26, 2002. *
`
`(Continued)
`
`Primary Examiner -
`James A Reagan
`(74) Attorney, Agent, or Firm - Fitzpatrick, Cella, Harper&
`Scinto
`
`(57)
`
`ABSTRACT
`
`A management method is disclosed for managing license
`information indicating an allowed amount of usage of a pro(cid:173)
`gram executable on a peripheral device or a function provided
`by the peripheral device. The method includes the steps of
`acquiring, from the outside, license identification informa(cid:173)
`tion for identifying license information, and license informa(cid:173)
`tion indicating an amount of a change in right of usage of the
`program, managing license identification information corre(cid:173)
`sponding to license information that has already been
`installed, determining whether license identification informa(cid:173)
`tion corresponding to license information is included in
`license identification information managed in the manage(cid:173)
`ment step, and performing operation such that if it is deter(cid:173)
`mined in the determination step that the license identification
`information corresponding to the license information is
`included in the license identification information managed in
`the management step, changing the value of the already
`installed right of usage of the program by an amount equal to
`a change in the right of usage of the program.
`
`11 Claims, 38 Drawing Sheets
`
`------------ --- -- --- - --- --- ---- --- -~ 3
`
`FACSIMILE UNIT
`
`: 10
`
`FILE UNIT
`
`STORAGE UNIT
`
`NETWORK
`INTERFACE
`
`FORMATIER
`
`' ' ' '
`IMAGE MEMORY
`, ______________ -- -------------- -----•
`'
`'
`'
`'
`
`LAN
`
`100
`
`READER
`UNIT
`
`PRINTER
`UNIT
`
`14
`
`OPERATION
`CONTROL UNIT
`
`IPR2016-01271
`UNIFIED 1027
`
`
`
`US 8,175,978 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`5,758,068 A *
`511998 Brandt et al.
`................... 726127
`5,956,505 A *
`9/1999 Manduley ......................... 713/1
`6,512,894 B2 *
`1/2003 Takemoto et al.
`. ............. 399/12
`7,127,069 B2 *
`10/2006 Nguyen ........................ 380/278
`7,222,104 B2 *
`5/2007 Tadayon et al. ................. 705/54
`7,236,958 B2 *
`6/2007 Wong et al. ..................... 705/59
`2001/0034846 Al *
`10/2001 Beery ........................... 713/201
`2002/0007456 Al*
`1/2002 Peinado et al.
`............... 713/164
`2002/0051164 Al
`512002 Watanabe et al. ............ 358/1.13
`200210100036 Al *
`712002 Moshir et al. ................. 717/173
`2003/0028454 Al*
`212003 Ooho et al ...................... 705/32
`2003/0088516 Al*
`5/2003 Remer et al. .................... 705/59
`2003/0156719 Al *
`8/2003 Cronce ......................... 380/256
`2005/0060334 Al*
`3/2005 Kawamoto et al. ........... 707/102
`2007/0107067 Al*
`5/2007 Fountian ......................... 726/33
`
`JP
`JP
`JP
`
`FOREIGN PATENT DOCUMENTS
`2000-330784
`11/2000
`2001-92779
`4/2001
`2002-108475
`412002
`
`JP
`JP
`JP
`KR
`KR
`
`2002-117157
`2002-132370
`2003-244354
`20010092195
`20020070689
`
`412002
`512002
`8/2003
`10/2001
`912002
`
`OTHER PUBLICATIONS
`
`Internet Archive Wayback Machine's Archive of "Adobe InDesign
`1.5", archived on Sep. 17, 2001, available at <http://web.archive.org/
`web/2001091723 5454/www.adobe.com/products/indesign/main.
`html>.*
`"How do I prevent reinstallation of expired shareware?" Posting from
`alt.comp.shareware.progrannner, thread started Aug. 1, 1997. Avail(cid:173)
`able at <http://groups.google.com/group/alt.comp.shareware.pro(cid:173)
`grannner/browse_thread/thread/be4023c9419fb5cf>. *
`Search Report, dated Feb. 18, 2008, in EP 03 74 8722.
`European Search Report dated Feb. 19, 2008 issued during prosecu(cid:173)
`tion of related European application No. 03748722.0.
`* cited by examiner
`
`
`
`QIO = N
`
`-....l
`\c
`tit
`""'"'
`-....l
`
`"'QIO
`
`rJl
`d
`
`CIO
`(.H
`0 .....
`....
`.....
`1J1 =(cid:173)
`
`('D
`('D
`
`I
`
`N
`"'CIO
`~
`~
`
`0 ....
`
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`I c 14
`
`I FINISHER UNIT I I OPERATION
`.-----L.' ---'-c_1 s
`
`CONTROL UNIT
`
`PRINTER
`I
`UNIT
`
`READER
`1
`1
`
`2
`7
`UNIT
`
`-_,
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`-
`
`-
`
`-L--
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`CORE
`
`9
`
`8
`
`7
`
`6
`
`IMAGE MEMORY
`
`FORMATTER
`
`INTERFACE
`NETWORK
`
`STORAGE UNIT
`
`I
`
`FILE UNIT
`
`100
`7
`I , __ _
`
`I
`I
`I
`
`LAN
`
`13--11111-1
`
`Jilllli..c ~
`
`I
`
`12~ol
`
`11-r ~
`
`g
`
`FIG. 1
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 2 of 38
`
`US 8,175,978 B2
`
`FIG. 2
`
`205
`
`I
`I
`
`/
`APPLICATION
`
`/
`
`/
`
`v
`
`205
`
`I
`I
`
`/
`APPLICATION
`
`/
`
`I/
`
`APPLICATION MANAGER
`
`INTERPRETER
`
`CONTROLLER
`
`OPERA TING SYSTEM
`
`206
`
`)
`\
`
`7
`
`/
`
`APPLICATION
`INSTALLER I/
`_v- 204
`
`I/
`_v- 203
`
`I/
`- v- 202
`
`I/
`- (/"" 201
`
`I/
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 3 of 38
`
`US 8,175,978 B2
`
`FIG. 3
`
`START
`
`RECEIVE APPLICATION
`INFORMATION
`
`S301
`
`S302
`
`n = 1
`
`S303
`
`UPDATE THE
`COUNTER NUMBER/
`APPLICATION ID TABLE
`
`S305
`
`NO
`
`INST ALL
`AN APPLICATION
`
`S306
`
`END
`
`S308
`INCREMENT n BY 1
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 4 of 38
`
`US 8,175,978 B2
`
`FIG. 4
`
`COUNTER NUMBER
`
`APPLICATION ID
`
`1
`
`2
`
`3
`
`4
`
`•
`•
`•
`
`N
`
`1 1
`
`OxFFFFFFFF
`
`51
`
`OxFFFFFFFF
`.
`.
`
`•
`
`OxFFFFFFFF
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 5 of 38
`
`US 8,175,978 B2
`
`FIG. 5
`
`-. -
`
`-··
`
`501 ---
`
`502 ---
`
`---
`503
`
`504 ---
`
`JOB ST ART COMMAND
`
`JOB ATTRIBUTE SET
`COMMAND
`
`JOB DAT A TRANSMIT
`COMMAND
`
`JOB END COMMAND
`
`MODE
`
`ADDITIONAL
`INFORMATION
`
`r-511
`
`-512
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 6 of 38
`
`US 8,175,978 B2
`
`FIG. 6
`
`START
`
`RECEIVE COUNT UP
`REQUEST
`
`S601
`
`ACQUIRE APPLICATION ID
`
`S602
`
`n = 0
`
`S603
`
`/S604
`
`S608
`INCREMENT n BY 1
`
`UPDATE THE NTH COUNTER
`
`UPDATE THE
`TOT AL NUMBER COUNTER
`
`S606
`
`END
`
`
`
`QIO = N
`
`-....l
`\C
`"'u.
`"'""
`-....l
`
`"'QIO
`rJl
`d
`
`CIO
`(.H
`0 .....
`-....J
`.....
`1J1 =(cid:173)
`
`('D
`('D
`
`N
`"'CIO
`~
`~
`
`0 ....
`
`N
`
`b)
`
`~
`
`_,J
`
`"'I
`
`"
`r
`a)
`(
`
`~
`
`(e)
`
`I
`
`\
`
`60
`0
`.
`. .
`50
`0
`10
`
`(d)
`
`I
`
`\
`
`20
`0
`.
`.
`.
`0
`10
`10
`
`(c)
`
`I
`
`\
`
`\
`
`100
`0
`.
`.
`.
`75
`0
`5
`
`FOR SCANNING
`
`FOR PRINTING
`
`FOR COPYING
`
`TOTAL NUMBER COUNTER
`
`(
`c
`
`N
`.
`.
`.
`3
`2
`1
`
`COUNTER NUMBER
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`FIG. 7
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 8 of 38
`
`US 8,175,978 B2
`
`FIG. 8
`
`START
`
`YES
`
`NO
`
`S801
`
`NO
`
`TRANSMIT APPLICATION
`COUNTER INFORMATION
`
`S802
`
`S803
`
`YES
`
`UPDATE THE TABLE
`
`S804
`
`DELETE THE SPECIFIED
`APPLICATION
`
`S805
`
`END
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 9 of 38
`
`US 8,175,978 B2
`
`FIG. 9
`
`906
`
`)
`\
`
`/
`
`/
`
`APPLICATION
`v~
`
`/
`
`/
`
`/
`
`APPLICATION MANAGER
`
`906
`
`)
`\
`
`/
`APPLICATION
`
`/
`
`904
`-r-
`
`COUNTER
`CONTROL API
`
`INTERPRETER
`
`CONTROLLER
`
`OPERA TING SYSTEM
`
`/
`
`907
`)
`'
`APPLICATION
`INSTALLER I/
`_v- 905
`v
`_v-
`v
`_v- 902
`
`903
`
`I/
`_v- 901
`
`I/
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 10 of 38
`
`US 8,175,978 B2
`
`FIG. 10
`
`ENTER URL OF AN APPLICATION YOU WANT TO INSTALL
`
`I http:/ /www.kaisha.com/ appfile
`
`1001
`l
`
`1002
`l
`__ o_K ____.I I CANCEL I
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 11 of 38
`
`US 8,175,978 B2
`
`FIG. 11
`
`START
`
`FAIL
`
`NO
`
`CANCEL
`BUTTON
`
`FAIL
`
`S1101
`
`S1102
`
`DISPLAY
`BILLING INFORMATION
`
`S1103
`
`S1104
`
`S1105
`
`STORE THE PROGRAM INTO
`AN EXTERNAL STORAGE
`
`Sl 106
`
`UPDATE THE TABLE
`
`S1107
`
`END
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 12 of 38
`
`US 8,175,978 B2
`
`FIG. 12
`
`r 1201
`COPY COUNTERS
`COUNTER NUMBER
`APPLICATION ID
`1
`OxFFFFFFFF
`OxFFFFFFFF
`2
`OxFFFFFFFF
`3
`.
`.
`.
`.
`.
`OxFFFFFFFF
`N
`
`r1203
`PRINT COUNTERS
`COUNTER NUMBER
`APPLICATION ID
`OxFFFFFFFF
`1
`OxFFFFFFFF
`2
`OxFFFFFFFF
`3
`.
`.
`.
`.
`.
`OxFFFFFFFF
`
`N
`
`r1205
`COLOR PRINT COUNTERS
`COUNTER NUMBER
`APPLICATION ID
`1
`OxFFFFFFFF
`OxFFFFFFFF
`2
`OxFFFFFFFF
`3
`.
`.
`.
`.
`.
`OxFFFFFFFF
`N
`
`r 1202
`SCAN COUNTERS
`COUNTER NUMBER
`APPLICATION ID
`1
`11
`OxFFFFFFFF
`2
`OxFFFFFFFF
`3
`.
`.
`.
`OxFFFFFFFF
`
`N
`
`r 1204
`COLOR COPY COUNTERS
`COUNTER NUMBER
`APPLICATION ID
`OxFFFFFFFF
`1
`OxFFFFFFFF
`2
`OxFFFFFFFF
`3
`.
`.
`.
`.
`.
`.
`OxFFFFFFFF
`N
`
`r 1206
`GENERAL -PURPOSE COUNTERS
`COUNTER NUMBER
`APPLICATION ID
`11
`1
`OxFFFFFFFF
`2
`OxFFFFFFFF
`3
`.
`.
`.
`.
`.
`OxFFFFFFFF
`N
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 13 of 38
`
`US 8,175,978 B2
`
`FIG. 13
`
`(]) THE APPLICATION WILL BE BILLED AS FOLLOWS :
`
`1304
`l
`I 10 COUNTS FOR EACH SCAN AND 5 COUNTS FOR EACH COPY I
`1303
`l
`~~~~CATION I APPLICATION A I
`
`DO YOU WANT TO INSTALL THE APPLICATION?
`
`I PROCEED 11 CANCEL
`\
`\
`\
`\
`1302
`1301
`
`I
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 14 of 38
`
`US 8,175,978 B2
`
`FIG. 14
`
`VENDOR NAME
`
`KAN-NON KABUSHIKI-KAISHA
`
`APPLICATION ID
`
`11
`
`APPLICATION NAME
`
`OCR SCAN C
`
`VERSION
`
`1.0
`
`DATE OF LAST UPDATING
`
`2000/12/24
`
`NUMBER OF COUNTERS USED
`
`2
`
`COUNTER TYPE
`
`GENERAL -PURPOSE COUNTER
`
`COUNT-UP UNIT
`
`COUNTER TYPE
`
`COUNT-UP UNIT
`
`MEMORY USED
`
`1
`
`SCAN COUNTER
`
`10
`
`65535
`
`ARCHIVE FILE URL
`
`http:/ /hoge/ ocr1 Ojar
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 15 of 38
`
`US 8,175,978 B2
`
`FIG. 15
`
`START
`
`RECEIVE COUNTER-UP
`REQUEST
`
`S1501
`
`ACQUIRE
`APPLICATION ID
`
`n=O
`
`S1502
`
`S1503
`
`S1505
`
`ACQUIRE
`COUNT -UP UNIT
`
`COUNT UP THE NTH
`COUNTER BY
`THE SPECIFIED UNIT
`
`S 1506
`
`UPDATE THE
`TOT AL NUMBER COUNTER
`
`S 1509
`
`END
`
`S1508
`INCREMENT n BY 1
`
`
`
`QIO = N
`
`-....l
`\c
`tit
`"'""
`-....l
`
`"'QIO
`
`rJl
`d
`
`CIO
`(.H
`0 .....
`O'I
`....
`.....
`1J1 =(cid:173)
`
`('D
`('D
`
`N
`"'CIO
`~
`~
`
`0 ....
`
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`(b)
`
`I
`
`\
`\
`
`4
`
`0
`
`.
`. .
`
`0
`0
`4
`
`0
`
`0
`
`.
`.
`.
`0
`0
`0
`
`0
`
`0
`
`.
`.
`.
`0
`0
`0
`
`0
`
`0
`
`.
`.
`.
`0
`0
`0
`
`(a)
`
`0
`
`0
`
`I
`
`.
`.
`.
`0
`\
`0
`80 \
`
`0
`
`0
`
`.
`.
`.
`0
`0
`0
`
`COUNTER (0)
`TOT AL NUMBER
`
`N
`.
`.
`.
`3
`2
`1
`
`FOR GENERAL -
`
`COUNTER
`PURPOSE
`
`PRINTING
`COLOR
`FOR
`
`COPYING
`COLOR
`FOR
`
`PRINTING
`
`FOR
`
`SCANNING
`
`FOR
`
`COPYING
`
`FOR
`
`NUMBER
`COUNTER
`
`FIG. 16
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 17 of 38
`
`US 8,175,978 B2
`
`FIG. 17
`
`START
`
`NO
`
`STORE THE ATTRIBUTE
`INFORMATION AND COUNTER
`INFORMATION ASSOCIATED
`WITH THE PROGRAM INTO
`THE NONVOLATILE MEMORY
`
`YES
`
`NO
`
`S1701
`
`S1702
`
`S1703
`
`YES
`
`UPDATE THE TABLE
`
`S 1 704
`
`DELETE THE SPECIFIED
`APPUCA TION FROM THE
`EXTERNAL STORAGE
`
`S 1705
`
`END
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 18 of 38
`
`US 8,175,978 B2
`
`FIG. 18
`
`START
`
`RECEIVE COUNT-UP REQUEST
`
`S1801
`
`ACQUIRE APPLICATION ID
`
`S 1802
`
`S1808
`
`n++
`
`NO
`
`END THE JOB
`
`$1811
`NOTIFY THE APPLICATION
`THAT THE JOB HAS BEEN
`ENDED
`
`UPDATE THE TOTAL NUMBER COUNTER
`
`S1806
`
`END
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 19 of 38
`
`US 8,175,978 B2
`
`FIG. 19
`
`COUNTER
`NUMBER
`1
`2
`3
`.
`.
`N
`
`FOR COPYING
`
`FOR PRINTING
`
`FOR SCANNING
`
`(
`a)
`
`\
`\
`
`1000
`0
`1500
`
`0
`
`(c)
`
`2000 \
`1000
`\
`0
`.
`.
`.
`0
`
`\
`(d)
`
`1000
`0
`300
`.
`.
`.
`
`0
`
`\
`\
`
`\
`(e)
`
`)
`
`( b)
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 20 of 38
`
`US 8,175,978 B2
`
`FIG. 20
`
`LicenseFileID=Ox0123456789ABCDEF0123456789ABCDEF ;
`DeviceSerialNo=ABC01234567, FTR76543210 ;
`ExpirationDate=20021231 ;
`
`ApplicationlD=11 ;
`ValidatedPeriod=60 ;
`ApplicationKey=rtasdfhoqawertasdg ;
`MaxCopy=1000 ;
`Additiona1Print=1000 ;
`AdditionalScan=SOO ;
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 21of38
`
`US 8,175,978 B2
`
`FIG. 21
`
`START
`
`, ,
`
`INPUT LICENSE INFORMATION
`
`i-..... S2101
`
`, '
`
`PRODUCE LICENSE FILE ID
`
`'
`
`ENCRYPT
`
`, .
`
`-- $2102
`
`-- S2103
`
`PRODUCE LICENSE FILE
`
`r - S2104
`
`END
`
`)
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 22 of 38
`
`US 8,175,978 B2
`
`FIG. 22
`
`START
`
`DECRYPT
`
`S2201
`
`NO
`
`NO
`
`NO
`
`NO
`
`S2202
`
`S2203
`
`S2204
`
`S2205
`
`END
`
`SET THE EXPIRATION DATE
`
`S2206
`
`DETERMINE THE COUNTER NUMBER
`
`S2207
`
`SET THE UPPER LIMIT
`
`S2208
`
`RECORD THE LICENSE FILE ID
`
`S2209
`
`END
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 23 of 38
`
`US 8,175,978 B2
`
`FIG. 23
`
`2301
`i
`
`LICENSE FILE ID
`
`0 x 01234583ABC
`0 x 12345678900
`0 x 84374283EFF
`.
`.
`.
`0 x 23425q43243A
`
`2302
`i
`EXPIRATION DA TE OF
`INSTALLATION
`
`20021231
`20030630
`20040227
`.
`.
`
`•
`
`20020810
`
`FIG. 24
`
`2402
`i
`APPLICATION KEY
`rtasdfhoqawertasdg
`ABCD
`2qrgqerwerf
`.
`.
`gasdfsa24gs
`
`•
`
`2403
`i
`EXPIRATION DATE
`20021010
`20021231
`20020908
`.
`.
`20030227
`
`•
`
`2401
`i
`APPLICATION ID
`1 1
`42
`63425
`.
`.
`34
`
`•
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 24 of 38
`
`US 8,175,978 B2
`
`FIG. 25
`
`START
`
`'
`
`ACQUIRE SERIAL NUMBER
`
`..-...... S2501
`
`'
`ACQUIRE
`APPLICATION INFORMATION
`
`.....__
`
`S2502
`
`'
`ACQUIRE
`LICENSE INFORMATION
`
`--
`
`S2503
`
`'
`
`PRODUCE LICENSE FILE ID
`
`..-...... S2504
`
`ENCRYPT THE LICENSE
`INFORMATION
`
`--
`
`S2505
`
`•
`TRANSMIT THE LICENSE FILE TO r-
`THE LICENSE FILE REQUESTER
`
`S2506
`
`(
`
`•
`END
`
`)
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 25 of 38
`
`US 8,175,978 B2
`
`FIG. 26A
`2600
`
`Transfer/Refund License
`
`2601
`
`Application:
`
`I CopyAppli:11
`
`2604
`
`Device Serial No:
`
`OK
`
`2605
`
`Cancel
`
`2606
`
`FIG. 268
`2607
`
`Transfer /Refund License
`
`Application ID: 11
`
`2608
`
`Right click on the icon
`to download the license file
`
`Delete
`File
`
`2609
`
`Return
`
`2610
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 26 of 38
`
`US 8,175,978 B2
`
`FIG. 27
`
`2701
`
`PC
`
`MFP1
`
`2702
`
`MFP2
`
`2703
`
`Printer
`
`2704
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 27 of 38
`
`US 8,175,978 B2
`
`FIG. 28
`
`START
`
`ACQUIRE
`LICENSE INFORMATION
`
`REPEAT FOR RESPECTIVE
`APPLICATION IDS
`
`REPEAT FOR RESPECTIVE
`JOB TYPES
`
`SELECT A DEVICE LOWER
`THAN THE THRESHOLD
`
`END OF REPEATING FOR
`RESPECTIVE JOB TYPES
`
`S2801
`
`S2802
`
`S2803
`
`S2804
`
`S2805
`
`y
`
`S2807
`SELECT A DEVICE FROM WHICH
`TO ACQUIRE LICENSE FILE
`
`S2808
`ACQUIRE THE LICENSE FILE
`
`S2809
`INST ALL THE LICENSE FILE
`
`END OF REPEATING FOR
`RESPECTIVE APPUCA TION IDS
`
`S281 O
`
`END
`
`
`
`QIO = N
`
`-....l
`\c
`tit
`""""
`-....l
`
`"'QIO
`
`rJl
`d
`
`CIO
`(.H
`0 .....
`CIO
`N
`.....
`1J1 =(cid:173)
`
`('D
`('D
`
`0
`• .
`0 .
`
`0
`0
`
`44
`.
`.
`34
`4235
`23526
`
`•
`
`23
`.
`.
`654
`23
`
`•
`
`12452
`
`150.23.45.211
`
`Printer24
`
`150.23.53.21
`150.23.42.52
`150.23.56.22
`
`.
`.
`
`•
`
`.
`.
`Printer1
`MFP2
`MFP1
`
`•
`
`NAME
`DEVICE
`
`N
`"'CIO
`~
`~
`
`0 ....
`
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`NUMBER OF SHEETS
`
`FURTHER SCANNED
`LICENSED TO BE
`
`NUMBER OF SHEETS
`
`FURTHER PRINTED
`LICENSED TO BE
`
`NUMBER OF SHEETS
`
`FURTHER COPIED
`LICENSED TO BE
`
`ADDRESS
`DEVICE
`
`2905
`
`2904
`
`2903
`
`2902
`
`2901
`
`FIG. 29
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 29 of 38
`
`US 8,175,978 B2
`
`FIG. 30
`
`START
`
`TRANSMIT USER NAME
`AND APPLICATION ID
`
`S3001
`
`RECEIVE LICENSE FILE
`
`S3002
`
`N
`
`S3004
`DISPLAY A MESSAGE
`INDICATING THAT
`THE APPUCA TION JS NOT
`ALLOWED TO BE USED
`
`INST ALL THE LICENSE FILE
`
`S3005
`
`END
`
`START USING
`THE APPLICATION
`
`S3006
`
`PRODUCE AND TRANSMIT
`APPLICATION FILE
`
`S3008
`
`END
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 30 of 38
`
`US 8,175,978 B2
`
`FIG. 31 A
`
`3102
`
`3104
`
`Send
`
`
`Copies:01
`
`3105
`
`&:I Duplicate
`
`FIG. 31 B
`
`3106
`
`User name
`
`Password
`
`Login
`
`3108
`
`3107
`
`·-3109
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 31of38
`
`US 8,175,978 B2
`
`FIG. 32
`
`START
`
`ACQUIRE USER NAME
`AND APPLICATION ID
`
`S3201
`
`ACQUIRE USER NAME UST
`ASSOCIATED WITH
`THE APPUCA TION ID
`
`S3202
`
`N
`
`S3204
`TRANSMIT
`ERROR MESSAGE
`
`END
`
`PRODUCE LICENSE FILE
`ON THE BASIS OF
`DATA RECORDED IN
`THE DATABASE
`
`S3205
`
`N
`
`S3208
`
`TRANSMIT
`THE LICENSE FILE
`
`S3207
`TRANSMIT
`ERROR MESSAGE
`
`END
`
`END
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 32 of 38
`
`US 8,175,978 B2
`
`FIG. 33
`
`START
`
`DECRYPT
`
`S3301
`
`NO
`
`NO
`
`NO
`
`NO
`
`S3302
`
`S3303
`
`S3304
`
`S3305
`
`END
`
`SET THE EXPIRATION DATE
`
`S3306
`
`SET THE UPPER LIMIT
`
`S3308
`
`RECORD THE LICENSE. FILE ID
`
`S3309
`
`END
`
`
`
`00 = N
`-....l
`\c
`tit
`"' "'""
`-....l
`
`00
`rJl
`d
`
`0 .....
`
`QO
`(.H
`
`('D a
`1J1 =(cid:173)
`
`(.H
`(.H
`
`N
`"'
`QO
`~
`~
`
`0 ....
`
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`gasdfsa24gs
`
`2qrgqerwerf
`
`.
`.
`.
`ABCD
`
`rtasdfhoqawertasdg
`
`3000 3000
`.
`.
`.
`.
`.
`.
`2000 2000
`1000 1000
`2000 3000
`
`3000
`.
`.
`.
`2000
`1000
`1000
`
`APPLICATION KEY
`
`PRINT SCAN
`
`COPY
`
`20020630
`
`adachi,endoh,sakai
`
`20021010
`20030401
`20021231
`
`.
`.
`.
`
`EXPIRATION
`
`DATE
`
`.
`.
`.
`sakai
`end oh
`
`endoh,sakai
`
`USER NAME
`
`APPLICATION
`
`34
`.
`.
`.
`63425
`42
`11
`ID
`
`3408
`
`3406 3407
`
`3405
`
`3403
`
`3402
`
`3401
`
`FIG. 34
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 34 of 38
`
`US 8,175,978 B2
`
`FIG. 35
`
`START
`
`ACQUIRE LICENSE CERTIFICATE ID
`
`S3501
`
`NO
`
`N
`
`S3502
`
`S3503
`
`OK
`
`y
`
`ACQUIRE LICENSE CONDITION
`
`S3504
`
`ACQUIRE SERIAL NUMBER
`
`S3505
`
`PRODUCE LICENSE ALE
`
`S3506
`
`END
`
`SET THE LICENSE CERTIFICATE
`TO BE USED
`
`S3507
`
`END
`
`
`
`QIO = N
`
`-....l
`\c
`tit
`"'""
`-....l
`
`"'QIO
`
`rJl
`d
`
`Ul
`(.H
`.....
`1J1 =(cid:173)
`
`('D
`('D
`
`0 ....
`
`CIO
`(.H
`
`N
`"'CIO
`~
`~
`
`0 ....
`
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`3000
`.
`.
`.
`2000
`1000
`3000
`
`3000
`.
`.
`.
`2000
`1000
`2000
`
`3000
`.
`.
`.
`2000
`1000
`1000
`
`30
`
`•
`•
`
`.
`90
`30
`60
`
`34
`
`•
`•
`
`.
`63425
`42
`1 1
`
`•
`•
`
`.
`USED
`
`USED
`
`27895
`.
`
`•
`•
`
`234267
`453742
`625634
`
`SCAN
`
`
`COPY
`
`VALIDITY
`DAYS OF
`
`APPLICATION ID
`
`CERTIFICATE STATUS
`
`LICENSE
`
`CERTIFICATE ID
`
`LICENSE
`
`3607
`
`3606
`
`3605
`
`3604
`
`3603
`
`3602
`
`3601
`
`FIG. 36
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 36 of 38
`
`US 8,175,978 B2
`
`FIG. 37
`
`START
`
`ACQUIRE USER NAME
`AND APPLICATION ID
`
`S3701
`
`CALCULATE THE NUMBER
`OF USERS ALLOWED TO
`USE THE APPLICATION
`
`S3702
`
`y
`
`S3704
`TRANSMIT
`ERROR MESSAGE
`
`END
`
`CALCULATE THE NUMBER
`OF TIMES OPERATION IS
`ALLOWED TO BE PERFORMED
`FOR EACH JOB TYPE
`
`S3705
`
`PRODUCE LICENSE
`
`S3706
`
`S3708
`UPDATE THE LICENSE
`DATABASE
`
`S3709
`TRANSMIT LICENSE FILE
`
`$3710
`TRANSMIT
`ERROR MESSAGE
`
`END
`
`END
`
`
`
`QIO = N
`
`-....l
`\C
`"'u.
`"'"""
`-....l
`"'QIO
`rJl
`d
`
`CIO
`(.H
`0 .....
`-....J
`(.H
`.....
`1J1 =(cid:173)
`
`('D
`('D
`
`gasdfsa24gs
`
`2qrgqerwerf
`
`.
`.
`.
`ABCD
`
`rtasdfhoqawertasdg
`
`3000 3000
`.
`.
`.
`.
`.
`.
`2000 2000
`1000 1000
`2000 3000
`
`3000
`.
`.
`.
`2000
`1000
`1000
`
`11
`.
`.
`.
`23
`2
`3
`
`22
`.
`.
`.
`44
`3
`12
`
`20020630
`
`20021010
`20030401
`20021231
`
`.
`.
`.
`
`34
`.
`.
`.
`63425
`42
`11
`
`N
`"'CIO
`~
`~
`
`0 ....
`
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`APPLICATION KEY
`
`COPY PRINT SCAN
`
`NUMBER OF
`CURRENT
`
`USERS
`
`NUMBER OF
`MAXIMUM
`
`USERS
`
`APPLICATION EXPIRATION
`
`DATE
`
`ID
`
`3808
`
`3807
`
`3806
`
`3805
`
`3804
`
`3803
`
`3802
`
`3801
`
`FIG. 38
`
`
`
`U.S. Patent
`
`May 8, 2012
`
`Sheet 38 of 38
`
`US 8,175,978 B2
`
`FIG. 39
`
`2701
`I
`
`CPU
`
`RAM
`
`FONT ROM
`
`PROGRAM
`ROM
`
`DATA ROM
`
`-
`
`-
`3901
`
`3902
`-
`
`3903
`
`). 4
`
`-
`
`-
`..,
`
`:::
`
`:-
`
`-
`
`:::
`
`KBC
`'>
`3905
`
`CRTC
`'>
`3906
`
`2000
`
`-
`
`:::
`
`KB
`
`'>
`3909
`
`~ ~
`
`CRT
`
`' l
`3910
`EXTERNAL
`~ MEMORY (HD, FD)
`'>
`3911
`
`~
`
`DKC
`'>
`3907
`
`PRTC
`
`.a
`
`'>
`3908
`
`~3921
`
`CPU
`
`RAM
`
`FONT ROM
`
`PROGRAM
`ROM
`
`DATA ROM
`
`~
`-
`
`-
`
`- -
`
`·~
`INPUT
`UNIT
`'1
`3918
`PRINTER
`INTERFACE
`'>
`3916
`
`-
`
`-
`
`-
`3912
`-
`
`3919
`-
`-
`~
`3913
`
`DKC (HD)
`
`'1
`3920
`
`-
`- -
`
`~ 7
`
`\_ 2702
`
`r----1000
`
`-
`
`PRINTER
`UNIT
`' l
`3917
`OPERATION
`- CONTROL UNIT
`' l
`1501
`EXTERNAL
`MEMORY (HD, FD)
`.......
`3914
`
`
`
`1
`MANAGING THE ALLOWED USAGE
`AMOUNT OF A PROGRAM USING LICENSE
`INFORMATION
`
`TECHNICAL FIELD
`
`The present invention relates to a peripheral device includ(cid:173)
`ing a program installed thereon for controlling a process
`performed by the peripheral device, a method for the periph-
`eral device, and a control program.
`
`BACKGROUND ART
`
`10
`
`In the technology of an image forming apparatus, which is
`a typical example of a peripheral device, it is widely known to
`count the total outputs by using a hardware counter having a
`mechanical structure. To reduce the cost and the space nec(cid:173)
`essary for installing a counter, a software counter has been
`proposed. The software counter technique allows a large
`number of counters to be implemented in a small space at low
`cost. In the software counter, count values are stored in a
`semiconductor memory. This makes it possible to prepare
`software counters for respective functions and store accurate
`count information for respective functions. (Japanese Patent
`Application Laid-Open No. 2001-92779). Hereinafter, the
`soft counter is referred to simply as a counter. In the present
`invention, the term "counter" is used to generically describe
`means for measuring and storing the amount of usage, such as
`the number of times that a program is executed, the number of
`times that an operation is performed, or the length of usage
`time of an application program, in a peripheral device such as
`a printer, a facsimile machine, a scanner, a copier, or a mul(cid:173)
`tifunction apparatus having two or more of the above func(cid:173)
`tions.
`A printing system is known in which charge for use is
`imposed depending on a combination of a particular function
`such as a printing function or a scanner function and an
`application that uses the particular function (Japanese Patent
`Application Laid-Open No. 2002-117157).
`It is becoming easier to add and delete software to realize
`various kinds functions on a peripheral device. A printing
`apparatus has been proposed in which a counter is fixedly
`assigned to each application to count the number of times that
`each application is executed.
`Provision of counters assigned to respective applications
`makes it possible to impose charge for use of applications
`depending on the amount of usage of each application. In this
`case, an owner of applications or an agent such as a service
`person has to periodically read the count values for respective
`applications and charge users for use of the applications on
`the basis of the count values. However, management of count
`values is troublesome, and reading the count values needs a
`high labor cost. The problem becomes serious in particular
`when there are a large number of applications. Even in a
`system in which counter values are automatically read via a
`network or the like, the system has to have high reliability, and
`it is required to collect information each time counting is
`performed, which causes a high load to be imposed on the
`network.
`A possible technique of solving the above problems is to
`impose an upper limit on the amount of usage for each appli(cid:173)
`cation and to give rights of usage of applications to users by
`issuing an electronic certificate authenticated by a particular
`certificate authority (CA) or by providing license information 65
`or license data to users whereby users are allowed to use
`applications within given rights.
`
`45
`
`US 8, 175,978 B2
`
`2
`However, anyone can produce license information by
`using a production tool, ifthe production tool is acquired.
`
`DISCLOSURE OF INVENTION
`
`In view of the above, it is an aspect of the present invention
`to provide a technique of allowing only an owner of a right of
`usage of applications or functions of a peripheral device to
`issue license information.
`Furthermore, in order to make it possible to transfer license
`information of an application from a device to another device
`when a failure occurs in the device or for any other reason, or
`in order to make it possible to return a right of usage of an
`application to an owner of the application because oftermi-
`15 nation of usage of the application after installing the right of
`usage on a device, it is an aspect of the present invention to
`provide a technique of taking back, from a device, license
`information that gives a right of usage of an application a
`particular number of times. It is another aspect of the present
`20 invention to provide a technique of taking back, from a
`device, license information indicating a right of usage of an
`application a particular number of times such that the taken(cid:173)
`back license information cannot be installed in any device.
`In order to achieve at least one of the aspects, the present
`25 invention provides a management apparatus for managing
`license information indicating an amount of allowed usage of
`a program executable on a peripheral device or a function of
`the peripheral device, comprising acquisition means for
`acquiring, from the outside, license identification informa-
`30 tion for identifying license information, and license informa(cid:173)
`tion indicating an amount of a change in right of usage of the
`program, management means for managing license identifi(cid:173)
`cation information corresponding to license information that
`has already been installed, determination means for deter-
`35 mining whether license identification information corre(cid:173)
`sponding to license information is included in license identi(cid:173)
`fication information managed by the management means, and
`operation control means for, ifthe determination means deter(cid:173)
`mines that the license identification information correspond-
`40 ing to the license information is included in the license iden(cid:173)
`tification information managed by the management means,
`changing the value of the already-installed right of usage of
`the program by an amount equal to a change in the right of
`usage managed by the management means.
`In another aspect, the present invention provides an infor-
`mation processing apparatus having a capability of producing
`license information indicating an amount of allowed usage of
`a program executable on a peripheral device or a function of
`the peripheral device, comprising means for producing
`50 license identification information for identifying particular
`license information, and change means for changing license
`information such that program identification information
`identifying the program, the amount of allowed usage, and
`device identification information identifying a device are
`55 incorporated into the license information, and the license
`identification information produced by the generation means
`is incorporated into the license information. In another
`aspect, the present invention provides a peripheral device
`having a capability of managing the amount of usage of a
`60 program by using a counter, comprising acquisition means
`for acquiring the amount of allowed usage of a particular
`program on the peripheral device, means for producing
`license information on the basis of the amount of allowed
`usage acquired by the acquisition means, detection means for
`detecting a device to which to transfer the license informa(cid:173)
`tion, and transfer means for transferring encrypted license
`information as license information to an external device.
`
`
`
`US 8, 175,978 B2
`
`3
`Further aspects, features and advantages of the present
`invention will become apparent from the following descrip(cid:173)
`tion of the preferred embodiments with reference to the
`attached drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG.1 is a diagram generally showing a system according
`to a first embodiment of the present invention.
`FIG. 2 is a diagram showing a preferred example of a
`hierarchical structure of software modules of a multifunction
`apparatus according to the first embodiment of the present
`invention.
`FIG. 3 is a flow chart showing a process of installing an
`application on a multifunction apparatus shown in FIG. 1,
`according to the first embodiment of the present invention.
`FIG. 4 is a diagram showing an example of a counter
`number/application ID table according to the first embodi(cid:173)
`ment of the present invention.
`FIG. 5 is a diagram showing an example of a set of job
`commands.
`FIG. 6 is a flow chart showing a process performed by
`counter updating means to update a counter according to the
`first embodiment of the present invention.
`FIG. 7 is a diagram showing an example of a set of counters
`provided in a multifunction apparatus according to the first
`embodiment of the present invention.
`FIG. 8 is a flow chart showing a process ofuninstalling an
`application installed in a multifunction apparatus according
`to the first embodiment of the present invention.
`FIG. 9 is a diagram showing an example of a hierarchical
`structure of software modules of a multifunction apparatus
`according to a second embodiment of the present invention.
`FIG. 10 is a diagram showing an example ofa dialog screen
`for installing an application, according to the second embodi(cid:173)
`ment of the present invention.
`FIG. 11 is a flow chart showing a process performed in
`response to pressing of an OK button shown in FIG. 10,
`according to the second embodiment of the present invention.
`FIG. 12 is a diagram showing an example of a counter
`number/application ID table according to the second embodi(cid:173)
`ment of the present invention.
`FIG.13 is a diagram showing an example of a notice screen
`for notification of count-up units in installation of an appli(cid:173)
`cation, according to the second embodiment of the present 45
`invention.
`FIG.14 is diagram showing an example of a set of elements
`of application information according to the second embodi(cid:173)
`ment of the present invention.
`FIG. 15 is a flow chart showing a process performed by 50
`counter updating means to count up a counter according to the
`second embodiment of the present invention.
`FIG. 16 is a diagram showing an example of a set of
`counters provided in a multifunction apparatus according to
`the second embodiment of the present invention.
`FIG. 17 is a flow chart showing a process of uninstalling an
`application installed in a multifunction apparatus according
`to the second embodiment of the present invention.
`FIG. 18 is a flow chart showing a process of updating
`counters and managing counter upper limits for respective 60
`applications.
`FIG. 19 is a diagram showing an example of a counter
`upper limit table.
`FIG. 20 is a diagram showing an example of the content of
`a license file.
`FIG. 21 is a flow chart showing a process of producing a
`license file.
`
`4
`FIG. 22 is a flow chart showing a process associated with a
`license file.
`FIG. 23 is a diagram showing an example of a license file
`ID table.
`FIG. 24 is a diagram showing an example of an application
`key table.
`FIG. 25 is a flow chart showing a process of getting back an
`application.
`FIGS. 26A and 26B are diagrams showing examples of
`10 Web pages for getting back a license file.
`FIG. 27 is a block diagram showing a system in which all
`licenses are managed at one location and licenses are auto(cid:173)
`matically distributed.
`FIG. 28 is a flow chart showing a process of automatically
`15 distributing licenses.
`FIG. 29 is a diagram showing an example of a license usage
`status table.
`FIG. 30 is a flow chart showing a process of issuing a
`license request, performed by a device, in an automatic
`20 license distribution process.
`FIG. 31A is a diagram showing an example of an applica(cid:173)
`tion control screen, and FIG. 31B is a diagram showing an
`example of a login screen.
`FIG. 32 is a flow chart showing a process of issuing a
`25 license, performed by a host device, in the automatic license
`distribution process.
`FIG. 33 is a flow chart showing a process of returning a
`license, performed by a device, in the automatic license dis(cid:173)
`tribution process.
`FIG. 34 is a diagram showing an example of an application
`license database by which the number of users allowed to use
`applications is limited to a predetermined value.
`FIG. 35 is a flow chart showing a process of issuing a
`license file on the basis of information