throbber
I|||||||||||l||||I|||||fl||||||||||||||||||l||||l|||||||l||||||l||||||||
`US006Ti'138]B1
`
`(12) United States Patent
`Klein
`
`(1(I) Patent No.:
`(45) Date of Patent:
`
`US 6,771,381 B1
`Aug. 3, 2004
`
`(54)
`
`lJlS'l'RII.llJ'l'|<ll) C()Ml"I.i'l'|<IR
`ARCHITECTURE AND PROCESS FOR
`VIRTUAI. COPYING
`
`(T6)
`
`lnvenlorz
`
`I.:Ill!'('I'lCl3 C. Klein. 1010 Wayne Ave.,
`Silver Spring, MD (US) 20910
`
`[ ' } Ntitice:
`
`Subject in any disclaimer. the lerrn nfthi.H'.
`palenl is exlended or adjusted under 35
`U.S.(f.
`|54(h) hy (I days.
`
`(21) Appl. No.: l}9f43-8.300
`(22)
`Filed:
`Nov. 12, 1999
`
`[GU]
`
`Related US. Application Data
`Provisional application No. I‘){J;"lU8,'FOB, Iiled on Nov. I3,
`1908.
`
`Int. Cl? *n
`0n GIJGK l5i'lJ0
`(51)
`án
`(52) US. Cl.
`353fl.l5; 358.-’l.l
`
`(58) Field of Search .
`3,-3:i,'1.l. I.fi. 1.I3.
`3:'>Sf1_|:':, l_l(:, 402, 403, 40?, 42$; ?|[l:'8,
`I4. 15. 33. 62. 63. 64. 65. 7'3. T3
`
`(56)
`
`U.S.
`5.560.405 A "
`' cited by examiner
`
`Relt-rencl.-5 Cited
`l’.n’\'l‘l.iN'l' [)0{.'UM|.iN']'S
`9;"l9‘?7 Yeh .......................... .. 710.5303
`
`Priiriury Exu.-:ir'ner—ArI|1ur G. Evans
`ll. Dunner.
`(74) Arrorrrey, Agem. or
`.'*'r'rm—lr:|Ei
`Wilmer, (fuller, Pickering Hale and Dorr 1.1 _P
`(57)
`ABSTRACT
`
`li5q.;
`
`The purpose of Ihe \-"muzil Copier invention ("\"I‘.'_"') is to
`enzibic a Iypical PC user to add electronic paper processing
`to their exisiing business process. \«"C is an extension of Ihe
`concept we Lmdersland as copying. In its simples: form il
`cxlends lhe nulian of copying from a process 1hE|.I involves
`paper going Ihmugh a convunlinnal uopiur devicI:.
`to a
`process thal involves paper being scanned from a device al
`one localiun and copied In a device at anolher localiun. [I'1iI5
`r11nrI.: mphislicalcd fnrrn, \-"(T can copy paper frnrn a device
`.11 one localion direclly inlo a business applicaliorl residing
`on a network or on Ihc lnlernct, or visa vcrszi. The VC
`invcntiun is _~.-.nl‘|ware ihal manages paper 50 that ii can he
`electronically and seamlessly copied in and out 0]‘ devices
`and |.'3l|Sil'Il:S-5 aipplicalions (such as Micrntasufi
`()IT1<:::.
`MII:msul'l Exchange. Imus NLJICH) wiih an uplinnal single-
`slep Go operation. The \-''C‘ software can reside on a PC,
`LAN.-‘WAN server. digilal device (such as a digital copier),
`air am :1 web server II: he u(::.1:.~a;c(I over the Inlurnel.
`
`15 Claims, 44 Drawing Sheets
`
`W5Ufl
`[0()RBi\NBXi'OD€.I'POWER BUI].DERiDEL.PHI}
`
`WINDOWS MANAGER {MIT}
`
`1
`
`HP 1001
`HP lOOl
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 1 «:44
`
`US 6,771,381 B1
`
`HIGH—LEVEL DEVELOPER (VB, JAVA, DELPHI, ETC.)
`
`4 C
`
`ORE TECHNOLOGY (ENGINES)
`
`5
`
`FIG. 1
`
`2
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 2 «£44
`
`US 6,771,381 B1
`
`COMPONENT INTERFACE
`
`COMPONENT FACTORY 'C'—LEVEL API
`
`FIG. 2
`
`
`
`
`
`COMPONENT INTERFACE
`
`OBJECT MANAGER
`
`3
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 3 «:44
`
`US 6,771,381 B1
`
`
`
`
`LAYER 3 - ENGINE FUNCTIONS
`
`FIG. 4
`
`LAYER 2 - ENGINE CONFIGURATION
`
`LAYER 1 - ENGINE MANAGEMENT
`
`ORGINAL 'C'— LEVEL API
`
`
`
`LAYER 1 - ENGINE MANAGEMENT
`
`LAYER 2 - ENGINE CONFIGURATION
`
`LAYER 3 - ENGINE FUNCTIONS
`
`FIG - 6
`
`4
`
`

`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 4 of44
`
`US 6,'}"?l,381 B1
`
` IEngineManagement
`
`Interface
`
`ActivateEngine
`
`IsEngineActivated
`
`Arguments
`
`Description
`
`BOOL Activate {activates or deactivates an engine. This
`interface element will cause an engine to
`load itself to or unload itself from memory.
`Determine whether the engine has been
`successfully loaded into memory.
`
`
`FIG. 7
`
`
`
`of arguments In using the alue array.
`
`Setsetting
`
`DWORD Setting
`VARIANT Value
`
`Sets the setting Setting to a yalue of Value.
`the Setting argument IS a unique number
`that represents a specific setting type. The
`Value argument is a union argument type
`that can accept any style argument.
`includin an arm of elements.
`
`GetSetting
`
`'
`
`-
`
`gets the settin Setting and places the value
`in Value. the etting argument is a unique
`number that represents a specific setting
`type. The Value argument is a union
`argument type that can accept anylr style
`argument, including an array of e ements.
`
`FIG. 10
`
`IEngineManagement
`Interface
`
`Arguments
`
`Description
`
`Function
`
`Initiate _the function as represented b
`the Setting argument, usi
`a vanab e number
`
`FIG. 12
`
`5
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 5 of 44
`
`US 6,??1,381 B1
`
`ENGINE MANAGEMENT - LAYER I
`
`LOAD I UNLOAD ENGINE (FILE 1)
`
`
`
`
`
`
`128
`
`DYNAMIC LINKING ENGINE FUNCTION CALLS
`
`
`
`{FILE 2)
`
`INITIALIZE ENGINE SETTINGS
`
`(mus 3)
`
`FIG. 8
`
`6
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 6 of 44
`
`US 6,771,381 B1
`
`ENGINE FUNCTION A
`
`ENGINE DLL A
`
`ENGINE SETTING A
`
`ENGINE FUNCTION B
`
`ENGINE DLL B
`
`ENGINE SETTING B
`
`ENGINE SETTING C
`
`ENGINE FUNCTION C
`
`ENGINE DLL C
`
`FIG. 9
`
`7
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 7 «:44
`
`US 6,771,381 B1
`
`._Z___
`
`24
`W
`
`156
`
`
`
`
`
`
`
`
`
`PROMPT SETTING
`
`FIG. 11
`
`8
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 3 «:44
`
`US 6,771,381 B1
`
`153
`
`160
`
`'52
`
`164
`
`
`
`
`ENGINE FUCTION - LAYER 3
`
`PERFORM FUNCTION
`
`GET FUNCTION RESULTS
`
`CLEAR FUNCTION RESULTS
`
`EVENT FEEDBACK
`
`FIG. 13
`
`9
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 9 «:44
`
`US 6,771,381 B1
`
`
`
`50
`
`52
`
`40
`\
`
`53‘
`CPU
`
`‘-~ KEYBOARD MOUSE «M DISPLAY 4,43
`INTERFACE
`J2
`
`55
`\
`
`64
`
`60
`
`54
`
`62
`
`IN[21‘lE1IR]§f:EE
`
`DISK
`CONTROLLER
`
`-ROM
`
`-AM
`
`COMMUNICATIONS
`PORT
`
`gPfi1§%
`CD ROM
`/’
`FLOPPY
`66
`DRIVE --\
`70
`
`63
`
`INFRARED
`RECEIVER
`(OPTIONAL)
`
`INFRARED
`TRANSMITTER
`(OFFIONAL)
`
`73
`FIG. 15
`
`76
`
`74
`
`10
`10
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 10 of 44
`
`US 6,771,381 B1
`
`
`
`
`RECEIVER
`{OPTIONAL}
`
`T4
`RADIO
`TRANSMITTER
`(OPTIONAL)
`
`
`
`70
`
`32
`
`30
`
`11
`11
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 11 of 44
`
`US 6,771,381 B1
`
`84
`
`FIG. 17
`
`12
`12
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 12 M44
`
`US 6,771,381 B1
`
`VISUAL LNTERFACE
`(CORBANBXFOCXIPOWER BUILDER! DELPHI)
`
`WINDOWS MANAGER (MFCI
`
`122
`LEVEL3
`120
`LEVEL 2
`
`113
`LEVEL 1
`
`:
`-wmnows
`REPRESENTATION;
`-wmnows
`:
`ERROR MANAGER _
`-BRIDGE
`
`-SUPPLEMENTARY :
`
`:
`
`-wmnows
`ERROR MANAGER ’
`-BRIDGE
`
`-wmnows
`REPRESENTATION
`-wmnows
`ERROR MANAGER
`-BRIDGE
`
`-SUPPLEMENTARY -
`DIALOGS
`
`-SUPPLEMENTARY
`DIALOGS
`
`:
`' CONSISTENT
`1 16
`LEVEL3 ORJECIINTERFACE,
`
`' CONSISTENT
`OBJECT INTERFACE
`I BRIDGE
`
`0 CONSISTENT
`0B}EL'I'lNI“ERFACE
`' BRIDGE
`
`C“
`
`LEVEL2
`
`L [N
`
`-PROTECTION
`112
`LEVEL1 -ERROR MANAGER
`-ADMlNl5‘l‘RATl0N ,
`
`'
`
`:
`-PROTECHON
`-ERROR MANAGER ‘
`-ADMINISTRATION I
`
`-PROTECTION
`-ERROR MANAGER
`-ADMINISTRATTON
`
`T1‘-CNN0‘~0GY
`CATEGORLES
`
`SCAN
`
`UNDERLYING
`ENGINES
`
`KoFAx_x1oN1cs,
`sEA1=0Rr, TWAIN
`RIXELTRANSLATIONS
`
`.
`
`'
`
`IMAGE CLEANUP
`
`.
`
`sEQu01A,T1s,
`CLEAR LMAGE,
`SEAPORT
`
`XEROX, cAERE_
`CALERA, NESTOR,
`.RRIME REc0GNm0N,
`LIGATLJRE, MITEK
`
`FIG. 18
`
`13
`13
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 13 M44
`
`US 6,711,381 B1
`
`
`
` OBJECT MANAGER
`
`166
`
`16,135.20
`
`ENGINE OBJECT COMPONENT
`
`FIG. 19
`
`14
`14
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 14 0144
`
`US 6,771,381 B1
`
`SERVERILAN
`
`174
`
`MACPHNEICLJENT
`
`SERVERILAN
`
`170
`
`176
`
`
`
`01315131
`MANAGER
`LAYER
`
`132
`
`MACHINE’
`CLIENT
`
`
`
`186
`
`134
`
`1311
`
`MACHINE I CLIENT
`- OBJECT MANAGER
`' ENGINE OBJECT
`
`- CORE TECHNOLOGY
`
`CORE TECHNOLOGY
`E§gflI§0%}ig§-[CT
`
`FIG. 20
`
`15
`15
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Shea-t150f44
`
`US 6,771,381 B1
`
`
`
`
`ENGINE OBJECT COMPONENT
`
`16,1820
`
`FIG. 21
`
`16
`16
`
`OBJECT MANAGER
`
`LANIINTRANET, INTERNET. WEB
`
`[68
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Shea-t160f44
`
`US 6,771,381 B1
`
`ma
`
`
`
`THIN CLIENT
`
`WEB SERVER
`
`1'12
`
`132a
`
`1?8
`
`BROWSER!
`THIN CLIENT
`
`- CORE TECHNOLOGY
`
`MACHINE I CLIENT
`
`- OBJECT MANAGER
`' ENGINE OBJECT
`
`OBIECT
`MANAGER
`LAYER
`
`CORE TECHNOLOGY
`ENGINE OBJECT
`COMPONENT
`
`FIG. 22
`
`17
`17
`
`

`
`
`
`
`
`
`
`I3I8€‘ILL‘9SfltwoLImansvooz‘Efinv1uamd-S-[1I3I8€‘ILL‘9SfltwoLImansvooz‘Efinv1uamd-S-[1
`
`
`
`
`
`
`
`
`
`1818
`18
`
`

`
`ElE|ElEl|:iDE|C!E]DDE|CfL||_l|_JDL!t_iE!C|
`
`JLJ|:|D|J[|gU
`
`<1
`
`
`7 Ti
`
`E1 1:: D E] 5 £1 :1 :1
`
`||||| [EE
`
`
`
`Juawd'S'£]
`
`pnOn
`5"
`
`E
`
`C:
`- GU’)
`
`L‘
`%
`;
`
`4'
`FIG. 23B
`
`202'
`
`19
`19
`
`

`
`R. Open Document
`' '
`\, Close Document
`\
`\“ Zoom In
`-\
`-\" Zoom Out
`'
`'
`Q.
`Print Document
`-\_ Print Image
`-\ Annotation
`‘\ Tool Bar
`-\ Advanced
`-'
`Function
`n Toc-1Bar
`n Change View
`-\
`—
`
`
`
`EX“
`
`
`
`E1‘
`U:
`
`E
`E’.
`g

`
`E
`1°5*‘
`I‘-I

`g
`E
`5
`2’
`3
`
`c:
`V’Ox
`:3
`E51V-1
`
`‘L:
`
` Yn
`
`pm‘
`
`Image
`
`203'
`
`Text
`Image
`= ,11 __J|
`
`
`FIG_ 23C
`204"
`M"
`
`
`
`212"
`
`20
`20
`
`
`
`214'
`
`210"
`
`200"
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 20 M44
`
`US 6,771,381 B1
`
`183
`
`VIEWER PROCESS
`
`
`
`
`OBJECT MANAGER
`
`166
`
`16,1820
`
`ENGINE OBJECT COMPONENT
`
`FIG. 24
`
`21
`21
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 21 M44
`
`US 6,771,381 B1
`
`SERVERILAN
`
`H4
`
`190
`
`VIEWER
`PROCESS
`
`MACHINE I CLIENT
`
`SERVERJLAN
`
`170
`
`176
`
`173
`
`
`
`OBJECT
`MANAGER
`LAYER
`
`132
`
`MACHINE!
`CLIENT
`
`186
`
`134
`
`180
`
`MACHINE I CLIENT
`- OBJECT MANAGER
`' ENGINE OBJECT
`- CORE TECHNOLOGY
`
`
`
`CORE TECHNOLOGY
`E§g1,§§0%1§Jmm
`
`194
`
`I92
`
`VIEWER
`PROCESS
`
`VIEWER
`PROCESS
`
`FIG. 25
`
`22
`22
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 22 M44
`
`US 6,771,381 B1
`
`
` VIEWER PROCESS
`
`
`
`OBJECT MANAGER
`
`133
`
`
`
`153
`
`
`LANIINTRANET, INTERNET, WEB
`
` ENGINE OBIECT COMPONENT
`
`16,13,320
`
`
`FIG. 26
`
`23
`23
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 23 M44
`
`US 6,771,381 B1
`
`1742:
`
`176a
`
`1903
`
`WEB SERVER
`
`WEWER
`PROCESS
`
`BROWSER!
`THIN CLIENT
`
`
`
`'79“
`
`196a
`
`172
`
`182a
`
`173
`
`VIEWER
`PROCESS
`
`136
`
`
`
`BROWSER}
`THIN CLIENT
`
`M?fi,]EgER
`LAYER
`
`134
`
`I80
`
`MACHINE I CLIENT
`'0B3EC]‘MANAGER
`' ENGINE OBJECT
`
`- CORE TECHNOLOGY
`
`OBJECT
`Mg:¢§RER
`
`CORE TECHNOLOGY!
`Eggggoagggr
`
`VIEWER
`PROCESS
`
`VIEWER
`PROCESS
`
`FIG. 27
`
`24
`24
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 24 M44
`
`US 6,771,381 B1
`
`
`
`_ E._MA|L. LOAL FILES
`
`
`
`
`
`PFHNTEH
`
`DIGITAL COPiEFI
`
`MULTI-FUNCTHDNAL
`
`PER1PHERAL(li.e. FAX)
`
`FIG. 28
`
`25
`25
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 25 01°44
`
`US 6,771,381 Bl
`
`THE ('{'IMF.'\ \'Y IJM I11:-I}
`
`Elmlm
`
`Em
`
`I°=
`
`I=>
`
`Status
`
`Virtual copy Ready
`
`FIG. 29
`
`26
`26
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 25 of 44
`
`US 6,771,381 B1
`
`Power VC
`
`Emmi
`
`Open File
`
`E]
`
`E I:>
`
`Io:
`
`Virtual Copier
`
`FIG. 30
`
`27
`27
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 27 0l'44
`
`US 6,7'.’1,38l Bl
`
`CLIENT
`
`<1 pnWn <=>
`
`gr
`
`1:
`
`<3
`
`PROCESS
`
`PROCESS
`
`PROCESS
`
`FIG. 31
`
`28
`28
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 23 of 44
`
`US 6,Ti'l,38l B1
`
`Virtual Copier
`
`End User Application
`
`3rd party App
`
`FIG. 32
`
`29
`29
`
`

`
`US. Patent
`
`Aug.3,20u4
`
`Sheet 29 «M4
`
`US 6,771,381 B1
`
`3"‘ Party Application
`
`Virtual Copier Server
`Module
`
`FIG. 33
`
`30
`30
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 30 of 44
`
`Us 6,771,381 B1
`
`Start Copy
`
`Initiate Input
`
`Update Client
`
`Initiate Process
`
`Update Cllent
`
`.
`
`Module
`
`
`
`.
`
`
`
`Initiate Output
`
`FIG. 34
`
`31
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 31 of 44
`
`US 6,?71,3s1 B1
`
`
`
`FIG. 35
`
`32
`32
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 32 of 44
`
`US 6,771,381 B1
`
`lnputModu|es
`
`CopierModule
`
`0utpmMDdules
`
`Processhdodules
`
`Configure
`
`Collections of
`Copierlvfodule objects, of
`types InpuIModu1e,
`OuIpulModule, and
`Pr0cessModulI:
`respectively
`
`Load
`
`Unload
`
`IsLoaded (
`
`)
`
`Savesetting~;As
`Default (
`)
`
`Resetsettings (
`
`)
`
`lflbject
`
`I
`
`‘Collection
`
`‘Property
`
`‘
`
`‘Method
`
`‘
`
`
`
`EventI
`
`FIG. 36
`
`33
`33
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 33 of 44
`
`Us 6,771,381 B1
`
`
`
`0utputModuJe
`
`
`
`ProcessM0duIes
`
`PmI:e55Mo-dule
`
`I Object J ‘Collection
`
`34
`34
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 34 of 44
`
`US 6,771,381 B1
`
`.
`W“ A
`3 Pages
`
`File B
`I Page
`
`,
`F"° C
`3 Pages‘.
`
`File D
`1 Page
`
`File
`A
`
`File
`A
`
`File
`A
`
`File
`B
`
`File
`C
`
`File
`C
`
`File
`C
`
`File
`D
`
`Page
`I
`
`Page
`2
`
`Page
`3
`
`Page
`I
`
`Page
`1
`
`Page
`2
`
`Page
`3
`
`Page
`1
`
`File
`
`\/Document
`Page
`
`Page
`1
`
`Page
`2
`
`Page | Page
`3
`4
`
`Page
`5
`
`Page
`6
`
`Page
`7
`
`Page
`3
`
`FIG. 38
`
`35
`35
`
`Disk files of
`actual
`images:
`
`\/Document
`i mom a]
`
`layout
`
`
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 35 of 44
`
`US 6,771,381 B1
`
`
`
`{Collection
`
`Properly
`
`I
`
`’\Method
`
`r
`
`Even!
`
`I
`
`FIG. 39
`
`36
`36
`
`

`
`U.S. Patent
`
`Aug. 3, 21:04
`
`sum 36 0:44
`
`US 6,771,381 B1
`
`
`
`|_.._:___.__.l
`
`SuhModuIeID
`
`
`
`ErrorCade
`
`ErmrText
`
`Severity
`
`Lobjectj
`
`I Collection
`
`
`
` Property
`
`’
`
`}Method
`
`r
`
`Event
`
`‘
`
`FIG. 40
`
`37
`37
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 37 M44
`
`US 6,771,381 B1
`
`rCo[iection
`
`Property
`
`|
`
`'Meth0d
`
`\
`
`[Event
`
`r
`
`FIG. 41
`
`38
`38
`
`

`
`U.S. Patent
`
`Aug. 3. 2004
`
`Sheet 38 M44
`
`US 6,771,381 B1
`
`Sewer Module
`
`Events Generated by Server
`
`vsc Pro - ramslarl
`
`vscMoc|LIleLo:1dStarI
`
`vseModu |eL0adEnd
`
`vseModu}cGoStart
`
`{vscM0duIeCancclcd)
`
`(vsePr0gramCancc|ed)
`vseModuleGoEnd
`
`vse Pro rarnEr1d
`
`End virtual copy operation (Go)
`
`
`
`Unload IOPModules ! vscModuleUnI0adSlart
`
`e vseModu|eUn|oadEnd
`
`39
`39
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 39 of 44
`
`US 6,771,381 Bl
`
`Client Module
`
`Server Module
`
`Initiate Server
`
`Presentavailable I
`
`.
`
`Select modules
`
`Program Object
`
`touse I
`Startavirtualcopy I G00Method
`
`Process Server
`feedback
`
`Status & Error
`Events
`
`FIG. 43
`
`40
`40
`
`

`
`U.S. Patent
`
`Aug. 3, 21:04
`
`Sheet 40 of 44
`
`US 6,771,381 B1
`
`IOP Module
`
`Application Manager Ciass
`
`Event Manager Class
`
`
`
`Panel Manager
`Class
`
`Document
`Navigation Class
`
`Layout Manager
`Class
`
`Server Module
`Methods
`
`'
`
`¥ Propeny
`
`| Method
`
`I
`
`I Event
`
`\
`
`The Client Module has a fixed set of features that it needs to perform:
`
`FIG. 44
`
`41
`41
`
`

`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 41 of 44
`
`US 6,'}"?l,381 B1
`
`
`
`
`
`Configure( )
`
`GD (VI)ucument Feedback)
`
`ResetSettings(
`
`}
`
`SaveSetIingsAsl)efault (
`
`)
`
`
`
`
`
`FIG. 45
`
`42
`42
`
`

`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 42 of 44
`
`US 6,'}"?l,381 B1
`
`
`
`
`
`
`
`Conection
`
`Properly
`
`FIG. 46
`
`43
`43
`
`

`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 43 of 44
`
`US 6,'}"?l,381 B1
`
`SubMuduleID
`
`StatusType
`
`Statushlumber
`
`StalusText
`
`| Object
`
`|:oIIecfion
`
`’Pr0perty
`
`l
`
`[Method
`
`'
`
`
`
`Event
`
`I
`
`FIG. 47
`
`44
`44
`
`

`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 44 M44
`
`US 6,771,381 B1
`
`Server Module
`
`Sewer Module Intedace Io JOP
`
`
`
`Iop Modme
`
`interface mass
`
`
`
`Feedback
`
`Configuration Class
`
`Configure ( 1
`
`FIesetSetlings( 1
`
`Savesetiings...
`
`
`
`
`Go [VDocument Feedback)
`
`Configme { )
`
`F{esetSetlings( ]
`
`SaveSetlingsAsDeiau|t { ){llll
`
`Executive Class
`
`Go {VDocument]u
`
`
`
`|Obje.-ct‘
`
`| Collection
`
`N
`
`l Property I
`
`Method
`
`\
`
`FIG. 48
`
`45
`45
`
`

`
`US 6,771,381 B1
`
`5
`
`ll)
`
`15
`
`3|'l
`
`1
`I)IS'l‘RlBU'l‘ED COM PUTER
`r\RCHIT[-ICTURE AND PROCESS FOR
`\u’IR'l‘l_lr\L COPYING
`
`RELr'fl'l.iD Al’Pi..l(TA'l'I ONS
`
`'lhis application claims priority to US. Provisional Appli-
`cation 6{l.-‘|tl8,T98. filed Nov. I3. 1998, incorporated herein
`by reference.
`This application is related to, a continuation—in—part app|i~
`cation of, and claims priority to,
`the following non-
`provisional applications: Ser. No. Dtlv'9S0,838, filed Oct. 15,
`199?, now U.S. Pat. No. t'J,lS5,59(|;
`Ser. No.08r91l,I'.l83, filed Aug. 14, I991 now abandoned;
`Ser. No. U8.-’95{i.9ll. Iiled Oct. I5, 199?. now abandoned:
`Ser. No. DB.-’9St}.83'l'. filed Oct. 15, 199'.-", now abandoned;
`Ser. No. tJBi’95(l‘,T38. filed Oct. 15, 199?, now abandoned;
`Ser. No. U8i’95{J.?4l. filed Oct. I5, 1997. now abandoned:
`all of which are hereby incorporated try reference.
`This application is related to. and claims priority to. the
`following provisional applications by way the claim of
`priority of the above listed non—provisional applications:
`Oct. 18. 1996, Ser. No. t50,’(|28,l29;
`Oct. 18. I996, Ser. No. fit'J,’(I23.523;
`Oct. 18. 1996, Set. No. fiUi’(|28,l281
`Oct. 18. 1995, Ser. No. 60,"(l28.t597;
`Uct. IS,
`I991’), Scr. No. 6[l,"lJ2S,639;
`Oct. 18, I996. Ser. No. 603198.685; all of which are
`hereby incorporated by reference.
`|"l1iLD 0|‘ THE lNVl:'NTlt)N
`
`The present invention is generally related to a computer
`architecture and process for stand-alone andinr distributed
`cnvirortment. and more particularly to a computer architec-
`ture and process using a substantially uniform management
`in a stand—alone and.-‘or distributed computing environment
`including, for example. client server andfor intranet andfor
`internet operating environments.
`BACKGROUND OF TIIE RELATED ART
`
`2
`Additionally. every r’\i’l manages errors differently further
`complicating the problems described above. Some r\l‘ls
`return a consistent error code for each function. Error
`management in this case is very organized and manageable.
`Other Al’ls return error codes as one of the parameters
`passed to the function. There are i-’-Wis that mix the choice of
`error management and have some functions return an error
`code while other functions pass the error code as a parameter
`of a function. Errors can also be managed by a callback
`function, eliminating the need for passing any error code as
`part of the function. ln some instances of a poorly imple-
`menlcd AP1 the errors are not passed back at all.
`Every engine, such as a text retrieval ur an OCR (Optical
`Character Recognition) engine, has a Unique interface. This
`interface is generally a "C"—level AP! [Application Program
`Interface). Further, an AP] can at any time be synchronous.
`asynchronous, manage one or more callbacks, require input,
`pass hack output. carry a variety of different styles of
`functions, return values or not return values, and implement
`the unpredictable. This unpredictability in 111315 further
`compounds the problem of developing a sane way of inter-
`facing between components and i-'\[’[s.
`"lb date, because of the cornplexitics of “(.T"-level r’\l‘ls
`and components interfacing thereto, the only way to create
`a component out of an existing “C"—level AP] is to have an
`experienced programmer in the held to do the work. Humans
`can intelligently anaiyzc an API, and create :1 component
`based on intelligent decisions and experiences.
`In most
`cases, the learning curve for understanding and integrating
`a new engine can be one man-month to several man-years
`and generally requires highly experienced "EC" program-
`mers. Requiring a human to perform the necessary work is
`costly, and subject to real-life human constraints.
`Since there is no structure or format for implementing
`"C"-level :\Pls,
`the ability to automatically transform a
`unique Al’l
`into a standard component would seem
`impossible, since that would take a nearly—human level of
`intelligence.
`in spite of the continued automation of
`in addition,
`business processes. companies are increasing their paper use
`by 35-30% and spending up to 15% of their total budget on
`managing paper. Companies are often running dual
`pro-ces-res—a computerized process along with the corre-
`sponding paper tiling sysle111——and paying an extraordinary
`price for it. Just a few examples will illustrate the problem:
`1} accounting clerks are maintaining paper invoices with
`information that
`is also being re-keyed into accounting
`systems. 2) administrative assistants are filing incoming
`correspondence in cabinets for customers whose records are
`also being electronically maintained by contact management
`systems, 3) help desk operators are storing complaints sent
`in on paper while also tracking those complaints in a
`computerized system. Additional industry trends include the
`following:
`For every SIOOM in increased revenues, a company will
`use 8.8 million additional pages of paper
`The Document Management market is expected to grow
`at 30% per year
`The digital device market is growing at 30% per year
`Estimates show the web—based document imaging market
`growing at 50% per year
`The digital device manufacturers. especially the copier
`companies, are heavily promoting the ability to connect
`their devices to networks. but have not been able to
`deliver an eliective 9:-ftware solution to date.
`l3usines¢.t:s continue to automate more processes, but
`managing the associated paper is often ignored, resulting in
`inefficiency and higher costs.
`46
`46
`
`45
`
`51.!
`
`A "C" or "C++"- Level Al'l (hereinafter "C" Level),
`which is the native language and interface for a vast reposi-
`tory of core technologies from small software vendors and
`research laboratories, are unique to each designer. The
`designer of a text retrieval "C"—AP[ will generally imple-
`ment an interface that is completely dilferent than a second
`inVet'ltot‘ creating a "C“-level Api fur OCR.
`Every "C"-level r’\l’| is unique. both in its choice of AP!
`syntax as well as its method for implementing the syntax.
`Some r\l‘l's consist of one or two functions that
`take
`parameters ofiering options for different features offered by
`the technology. Other AP[s consist of hundreds of fitnctions 5,
`with few arguments, where each Function is associated with
`a particular feature of the core technology. Other APls
`provide a mixture ofsome features being combined with one
`function with many at'gumcnL-t. while other features are
`separated into individual l‘l.It‘JCllOfJ calls.
`Without any constraints. each designer oi‘ a core technol-
`ogy chooses to implement his or her technology with an
`interfatx that
`is suitable to the subject or simply was the
`most expedient choice of the moment. Since there are no
`constraints, a "IC"-level API has a totally unpredictable
`interface that can often be the hindrance to using the core
`technology.
`
`60
`
`65
`
`

`
`3
`I have dctcnninud that a component factory, if it is to ht:
`truly auton1atctJ or manually ettpcdilcd. must be able to take
`any "(T”-levcl AP! and transfonn it into a component.
`I have also detcnnined an efficient and workable design
`for an architecture to define the migration path for any
`"C“'—|evc| AP] into a component.
`is desirable to develop
`I have also determined that
`it
`software tools for automatically generating reusable soft-
`ware components from core software technologies, thus
`making these software technologies available to a much
`larger user laase.
`is desirable to design a
`I have further determined that it
`distributed computer al‘Ci1iIct.'|l.It‘0 and prtttncss for manually
`andlur automatically generating reusable software compo-
`nents. ’ll1e computer architecture may be implemented using
`a client server andfor intranet antlfor intcrnet operating
`environments.
`I have further dctennined that it is desirable to design a
`computer architecture and process for image viewing in a
`stand—alone and.-“or distributed environment. The computer
`architecture and process optionally uses a substantially
`uniform management layer in a stand—alone andior distrib-
`uted computing environment including, for example, client
`server andfor intranet andior internet operating environ~
`mcnts.
`I have further determined that it
`is desirable to enable a
`typical Pt.‘ user to add clcclronir: papcr processing to their
`existing business prot:es.<;.
`I have further determined that
`it
`is desirable to enable
`software that manages paper so that it can l:-t: electronically
`and seamlessly copied in and out of devices and husincss
`applications (such as Microsoft Office, Microsoft Exchange,
`Lotus Notes} with an optional single-step Go operation.
`SUMMARY OF THE INVENTION
`One would expect the translating a “C"—levcl API from its
`native state into a component would require human—|evcl
`intelligence. This is mainly because "C"'—|eve| APIS have
`virtually no constraints as to how they can be implemented.
`This means that
`there are an infinity variations of APIS,
`which can only be managed by human—level intelligence.
`While this point is true, [ have determined that the appro-
`priate solution starts at the other side of the cquation, which
`is the component itself.
`My solution starts out with a definition of a component
`that can sustain the featuretfunctiun requirementv. of any
`AP[. In other words, the interface of a generic component
`can be defined such that
`the features. and functions. er
`virtually any AP] can he re-implemented within its hounds.
`'|’l1c two known end-points are. for example. the "L"-Ievcl
`AP! that generally starter with each component (although
`other programming languages may also he used and are
`within the scope of the present invention), and the compo-
`nent interface that rcprcscnts any set of features.-‘functions on
`the other side. The component factory migratm the original
`"C"~|evc| Al’! from its original state into the generic inter-
`face defined by the topmost layer. The first feature that can
`be demonstrated is that
`there is a topmost layer that can
`define a component interface that can represent the features.’
`functions of most core technologieit.
`The component factory migrates the "C"-level AP] to the
`topmost
`level. Doing this in one large step would be
`impossible since the “C"—level AP] has a near-infinite vari-
`ety of styles. However, the architecture advantageously has
`enough well-defined and wcll-structured layers for imple-
`mentlng the topmost component interface, for creating the
`component factory.
`
`3|‘!
`
`45
`
`60
`
`65
`
`US 6,771,381 B1
`
`ll)
`
`l5
`
`4
`The computer architecture is designed for managing a
`diverse set of independent corc technologies ("engines")
`using a single consistent framework. The architecture bal-
`ances two seemingly opposing requlrements:
`the need to
`provide a single consistent
`interface to many different
`engines with the ability to access the unique features of each
`engine.
`The benefit of the architecture is that it enables a company
`to rapidly "wrap" a sophisticated technology so that other
`high-level developers can easily learn and implement the
`core technology. The computer architecture is therefore a
`middicwarc or enabling technology.
`it provides a
`Another benefit of the architecture is that
`high-level spccifitralittrt for a consistent interface to any core
`technology. Once a high-level developer learns the interface
`described herein for one engine, that knowledge is easily
`transferable to other engines that are implemented using the
`architecture. For example, once a high-level developer
`learns to use the computer architecture for OCR (Optical
`Character Recognition), using the computer architecture for
`other engines, such as barcode recognition or
`forms
`processing, is trivial.
`The architecture described herein is, at once, a framework
`for rapidly wrapping sophisticated technologies into high-
`level components, as well as a framework for high-level
`developers to communicate with a diverse set of engines.
`The ereatlng of a component factory is based an the fact that
`the architecture defines a clear path for "wrapping" any
`(T-level Al’! into a component using simple structures and
`many rotc steps. This process is currently being done in an
`inefficient manner by a programmer in the field.
`In addition, the method described herein for creating a
`component factory creates a wcll-defined multi-tiered archi-
`tecture for a component and automates, substantially
`automates. or manually cxpcditcs hereinafter automate the
`process of migrating a "(."’-.I'\l’l from iL-i native state through
`the various tiers of the architecture resulting in a standard-
`ized component. Advantagcously.
`the method described
`herein does not base the component factory on making
`human—|evel
`intelligent decisions on how to translate a
`"C"—APl
`into a component. Rather, by creating a well-
`defined architecture described below that is multi~tiered, the
`method is a series of incremental steps that need to be taken
`to migrate the “C"-AP] from one tier within the architecture
`to the next. [n this way each incremental step is not a major
`one, but in sequence the cntire series of steps will result in
`it component.
`the
`Since each step of migration is not a major one,
`chances for automating these steps is significantly higher
`and the likelihood of h-tzlng able to Create the component
`factory becomes feasible. This approach is in fact what
`makes the method cost-cllectivc. sinct:
`the alternative
`approach.
`i.e., computer-generated human-level decision
`making, has many years before becoming sophisticated
`enough to replace humans in any realistic decision-making
`prnocss.
`'l'l1c main features of the architcctun: are twofold:
`1) Defining system architecture that describes in detail
`how to implement a component from a "C""—level API;
`2) Creating a component factory by automating the migra-
`tion ol" at “C"-level API
`from one tier within the
`architecture to the next.
`The latter feature is the key to actually making the compo-
`nent factory feasible. Wlth a fixed architecture that can be
`used to implement a “C”-levcl API as a component (using a
`programmer), that same architecture can be used as the basis
`for the component factory model.
`47
`47
`
`51.!
`
`

`
`US 6,771,381 B1
`
`ll)
`
`l5
`
`..
`
`3|'l
`
`5
`In order to make the component factory. each step of the
`arcl'Iilt:(:lt.trt: needs to he designed In facililate automation or
`manually expedited, In other words. 1 have determined that
`automatingiexpediting the process of taking the original
`"C"-level AP! and migrating it to a Level
`I layer. and then
`a Level 1 to a Level 2. and then a Level 2 to a Level 3 layer,
`and so on. the component has been implemented automati-
`cally or more efliciently. The component factory is therefore
`a sum of the ability to automate migrating the "C"-level API
`from one layer to the next within a well-defined architecture
`for implementing components.
`There are numerous core technologies, such as text-
`retrieval and ICR (Intelligent Cltaractcr Recognition). that
`have already been implemented, and are only available as
`"C"-level r’\|’ls. Many. ifrtot most. core tcchnologic=. arc lirst
`released exclusively as "(."'-lcvcl M’ls. While there are
`integrators and corporations who have the team of technolo-
`gists who can integrate these "C”—leve| APls in—house, most
`companies are looking for component versions that can be
`implemented at a much higher level.
`Therefore, many of the core technologies that are only
`available in a "C"’—1eve1AP! are not being used due to their
`inaccessible interface. The benefit of the component factory
`is that
`it can rapidly make available core technologies
`implemented as "C" .«’\Pls that would otherwise he undt:ruti-
`lined or dormant in research labs by converting them to
`high-level components.
`that can he used by millions of
`power-PC users.
`With the advent of the World Wide Web (WEB) this
`opportunity has increased exponentially. The WEB is now
`home to a vast number of WEB authors with minimal lbnnal
`training who can implement
`l['f'ML pages and build web
`sites. One of the fundamental technologies for extending the
`capability of the WEB from simple page viewing to inter-
`active and sophisticated applicatiom is components.
`Aoornpo nent extenck the capability of I [TML by enabling
`a WEB author to add core technology as a pre-packaged
`technology. Since components are fundamental
`to the
`growth and usability of the WEB. having a component
`factory that can translate “C”-level toolkits. into components
`that are then usable within WEB sites opens a vast and new
`worldwide market to these technologies.
`The purpose of the Virtual Copier ("VC") aspect of the
`present
`invention is to enable a typical PC user to add
`electronic paper processing to their existing business pro-
`cess. VC is an extension of the concept we understand as
`copying. in its simplest fonn it extends the notion of copying
`from a process that involves paper going through a conven-
`tional copier device, to a process that involves paper being
`scanned from a device at one location and copied to a device
`at another location. In its more sophisticated form, VC can
`copy paper from a device at one location directly into a
`business application residing on a network or on the Internet,
`or visa versa. The VC invention is software that manages
`paper so that it can be electronically and iusamlcssly copied
`in and out of devices and business applications (such as
`1\-'licrosolt()ffice. Microsoft Exchange. Lotus Notcs)with an
`optional single—step Go operation. The VC software can
`reside on a PC. l..AN.-‘WAN sewer. digital device (such as a
`digital copier), or on a web sewer to be accessed over the
`lntcrnet.
`Wrtual Copier is designed to solve the corporate paper
`problem by enabling existing web—ba.sed and c|ient—server
`applications to manage paper as part of their solution.
`Virtual Copier links the familiar and universal world of
`paper and digital devices to web~hased and c|ient—server
`applications. The result is that the automated business pro-
`
`6
`t.‘{:tL'-ics become the primary storage of paper in electronic
`form. Information that is typically managed and processed
`in paper fonn is "copicrl" into the system and managed by
`the business processes with which users are accustomed.
`which is made possible by using Virtual Copier. Simple
`extensions of Wrtual Copier support seamless electronic
`outsourcing of paper processing and archival services over
`the web.
`Virtual Copier is a unique combination of an intuitive
`application built on an open component architecture that
`delivers a simple innovation: provide paper pruceiising to
`existing lrtiranet and client-server business processes with-
`out any fuss. Whether it is an oilice clerk that needs to easily
`copy a report from a desktop scanner to the company’s
`Intranet-networkcrl copicr. or an accounting software inte-
`grator that wants to Cmlkid paper proces-ting. Virtual Copier
`offers a simple solution. lb the offict: clerk Virtual Copier is
`a document imaging application packaged in the familiar
`setting of an ollice copier. To the integrator, the underlying
`open architecture of Virtual Copier oflers a simple integra-
`tion path [or embedding paper processing into its client-
`server

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