US20180039451A1 - Stored image data failure correction - Google Patents
Stored image data failure correction Download PDFInfo
- Publication number
- US20180039451A1 US20180039451A1 US15/227,998 US201615227998A US2018039451A1 US 20180039451 A1 US20180039451 A1 US 20180039451A1 US 201615227998 A US201615227998 A US 201615227998A US 2018039451 A1 US2018039451 A1 US 2018039451A1
- Authority
- US
- United States
- Prior art keywords
- image
- bitmaps
- digital storage
- stored
- portions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1215—Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1234—Errors handling and recovery, e.g. reprinting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1242—Image or content composition onto a page
- G06F3/1243—Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1282—High volume printer device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00007—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for relating to particular apparatus or devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00026—Methods therefor
- H04N1/00037—Detecting, i.e. determining the occurrence of a predetermined state
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00071—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
- H04N1/00082—Adjusting or controlling
- H04N1/00084—Recovery or repair, e.g. self-repair
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32358—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
- H04N1/324—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter intermediate the transmitter and receiver terminals, e.g. at an exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0082—Image hardcopy reproducer
Definitions
- This invention pertains to the field of digital storage arrays and more particularly to a method for recovering image data that is lost when a digital storage device fails.
- Very high speed commercial digital presses print variable data at rates of thousands of pages per minute.
- the receiver media on which the data is printed is in the form of a web that is transported past stationary printheads. During transport, the web has considerable inertia and cannot be readily subjected to rapid changes in speed. It is desirable to continuously transport the web of receiver media at a constant speed, or with relatively slow speed adjustments.
- the continuous transport of the web of receiver media also necessitates a continuous supply of data in the form of printable image data.
- This image data must be buffered so as to be available when it is needed, since any delay would result in blank pages unless the web of receiver media is stopped.
- Considerable time is required to fill a buffer with the printable image data, since the print job is initially supplied in an image description format which must be converted to image bitmaps. That conversion is typically in the form of raster image processing and is performed by one or more downstream processors.
- the processing speed that defines the sustained output speed of each of the downstream processors is generally limited by the content of the input descriptions, since the time to raster image process the image description for an individual print page tends to be highly data dependent.
- the present invention represents a method for storing image data using an array of digital storage devices, including:
- This invention has the advantage that the rendered image bitmaps can be re-rendered more efficiently when a digital storage device storing a portion of the rendered image bitmaps fails.
- FIG. 1 illustrates a set of documents that make up a portion of a print job
- FIG. 2 is schematic side view of a high speed variable printing system
- FIG. 3 is a block diagram of a data station for supplying print data to the printheads of a high speed variable printing system in accordance with the invention
- FIG. 4 illustrates an embodiment of a digital storage system having an array of digital storage devices
- FIG. 5 is a flow chart illustrating a method for storing image data using an array of digital storage devices in accordance with the present invention.
- High speed variable printing systems are used in the commercial printing industry for a wide variety of printing applications such as printing short run catalogs and advertisements or transactional printed products such as bills and investment reports. It is common for the print jobs printed by high speed variable printing systems to be made up of a sequence of printed images.
- the print jobs are typically received in the form of a page description language (also referred to as an image description language), such as PostScript, PDF, AFP, IJPDS, and IPDS, which provide image descriptions of each image (i.e., each page).
- Each image can be made up of a number of components, where the components can include continuous tone image components and vector format image components.
- Continuous tone image components are commonly used for photographic images, and are specified by an array of pixels having pixel values representing the intensity of each pixel, typically for a plurality of color planes.
- Common continuous tone image formats include JPEG, TIFF, GIF, BMP, and PNG.
- Vector format image components are specified by a geometrical description that can be scaled in size. It is commonly used for text and computer generated image components.
- Common vector format image formats include CGM, SVG, and PPT.
- the sequence of images (i.e., pages) in a print job can include a mix of fixed data, which are common from one page to the next or from one group of pages (book or financial statement) to the next group of pages and variable data with changes from image to image.
- FIG. 1 illustrates a portion of an exemplary print job 10 including a series of individual images 12 , such as financial statements.
- the images 12 include fixed graphics elements 18 , such as logos, and fixed text elements 20 that are common to a plurality of images 12 , together with variable figure elements 22 and variable text elements 24 that are specific to a particular image 12 .
- the formation of the images 12 in a print job 10 can involve data merger operations in which variable data (e.g., mailing addresses or financial transaction data) is extracted from a database or spreadsheet and the extracted variable data is inserted into a form or template that has fixed text elements 20 or fixed graphics elements 18 .
- the template can also include variable graphic elements 22 , such as a graph in which the content of the graphic element depends on variable data extracted from the database of spreadsheet.
- a high speed variable printing system 200 has a print engine 212 (also referred to herein as a printer) that prints on a receiver 214 .
- the term “receiver” refers to media that accepts a printed image and is singular or plural, as indicated by context.
- the receiver 214 can be multiple cut-sheets.
- the receiver 214 is in the form of a web that is an elongate, continuous piece. The use of a web typically allows the print engine 212 to attain higher speeds in transport, than other forms of receiver 214 , such as cut-sheets.
- the receiver 214 is typically paper, but can also be any of a large number of other types of print media.
- the receiver 214 can be thin or thick paper stock (coated or uncoated) or transparency stock.
- the receiver 214 has a first surface 214 a and an opposed second surface 214 b, one or both of which may be printed.
- the receiver 214 in FIG. 2 is a web.
- the web is moved from a supply 201 to a take-up 203 by a transport system 205 . Between the supply 201 and take-up 203 , the web is threaded around a number of rollers 216 and past a sequence of printheads 218 .
- the printheads 218 can be continuous ink jet printheads, drop on demand ink jet printheads, electrophotographic toning stations (with or without transfer rollers or the like), or other equivalent units of a variable printing technology.
- the printheads are generally discussed in terms of an embodiment, in which the printheads 218 are arranged in a sequence, and wherein each printhead 218 extends across the full width of the receiver 214 . It will be understood that like considerations apply to other embodiments. For example, instead of using a full width printhead 218 , a group of printheads 218 can be arranged in parallel (non-sequentially) to print a wider receiver 214 .
- the different printheads 218 each print image data for a printable image plane.
- a unit of image data that corresponds to an image plane is referred to herein as a “segment”.
- the image planes are printed in registry with each other and, in combination, provide a printed page.
- a piece of media can include printed pages on one or both surfaces.
- Each printed page can define an image area corresponding to the full dimensions as the sheet or can define a smaller area within those dimensions.
- a print job 10 ( FIG.
- Each image 12 can include a plurality of image planes represents a part of a document that is conveniently printed separately.
- each image plane can use a different color of ink.
- ink jet printheads different image planes can be used to divide an image into different patterns of relatively spaced apart deposited drops. The resulting combined image is unchanged, but the different patterns improve drying, during the printing process.
- FIG. 2 Two sets of four printheads 218 are shown in FIG. 2 .
- the invention is not limited as to a particular number of printheads 218 or sets of printheads 218 .
- the partially printed image (not shown) on a first surface 214 a of the receiver 214 is dried by a dryer 220 (e.g., by contact with a heated drum).
- the web is then flipped over by a turn station 222 before passing the second set of printheads 218 and the second side 214 b is then dried by a second dryer 221 .
- a print job 10 including the image descriptions for multiple pages (images 12 ) is supplied from various image data sources by one or more input units 224 .
- a data processing system 226 performs at least some of the operations necessary to convert the image descriptions to an image data format appropriate for the printheads 218 .
- a main controller 230 is used to control the operation of the print engine 212 , including sending image data to the printheads 218 over data paths 236 to print the image data provided by the data processing system 226 .
- the functions of a system manager and user interface can also be provided by the data processing system 226 .
- the system manager provides a communication hub, and system level administration and control features for other system components.
- the user interface provides setup and status information for the operation of the printing system 200 . Via this user interface, the user can input data pertaining to the physical characteristics of the printer, such as the relationships of the printheads, desired colors the system is capable of printing, and other information.
- the main controller 230 Upon a power-up or a reset, the main controller 230 initializes the printing system 200 to a ready state.
- the job data can include a single print job 10 or a series of print jobs 10 .
- the printing data represents the location, color, and intensity of each image pixel, and is in the form of one or more data files, which typically include or are accompanied by control commands.
- data files can be supplied in a PDL (page description language) format, such as Postscript or IPDS or IJPDS.
- Printing data can be supplied from multiple sources, for combination during printing.
- One input unit 224 is typically a locally connected host computer capable of supplying the printing data in a continuous stream.
- Software controls the flow of data from the host computer and via a host interface.
- the connection between the data processing system 226 and the host computer can be uni-directional or can be bi-directional to allow status information and the like to be presented on a user interface of the host computer. Suitable software for this purpose is well known to those of skill in the art.
- Other types of input units 224 can be used instead of, or in addition to, a host computer.
- printing data can be supplied by a media reader using transferable media, such as CDs, DVDs, or by network connection to another computer.
- An image data source is a device that can provide digital data defining a version of the image.
- Such types of devices are numerous and include computers, microcontrollers, computer workstations, scanners, and digital cameras. Multiple devices can be interconnected on a network. These image data sources are at the front end and generally include an application program that is used to create or find an image to output.
- FIG. 3 illustrates block diagram of an embodiment of a data processing system 226 for supplying print data to the printheads 218 of the printing system 200 .
- the data processing system 226 includes a frontend processing unit 227 and a backend processing unit 228 .
- the processing performed by the frontend processing unit 227 and the backend processing unit 228 can be combined into a single processing unit.
- the frontend processing unit 227 receives incoming print jobs 10 , which include image descriptions for a plurality of images 12 ( FIG. 1 ).
- the image descriptions are typically provided using a page description language PDL.
- the output of the frontend processing unit 227 is blocks of image data in a ready to print (RTP) format (hereafter referred to as RTP elements 72 ) for elements in the images.
- RTP elements 72 are stored in an RTP storage 74 for retrieval by the backend processing unit 228 .
- the processing of the frontend processing unit 227 can include buffering the received print jobs 10 in a spool disk 58 .
- An input module 60 receives the print jobs and queues the image descriptions for processing by the raster image processor (RIP) 62 .
- the RIP 62 processes the various fixed and variable continuous tone and vector format image components that make up an image 12 , and creates bitmapped image elements 64 for each color plane. As discussed in the aforementioned U.S. Pat. No. 5,966,504 (Sity), it is only necessary to create bitmapped image elements 64 once for each of the fixed image components (e.g., fixed graphics elements 18 and fixed text elements 20 in FIG. 1 ) rather than recreate them for each page that in which those fixed image components exist.
- the fixed image components e.g., fixed graphics elements 18 and fixed text elements 20 in FIG. 1
- the bitmapped image elements 64 are modified by an image processor 66 to provide modified bitmapped image elements 68 .
- the bitmapped image processor 64 can perform various image processing modifications including anti-aliasing and trapping.
- An RTP preparation module 70 converts the modified bitmapped image elements 68 into ready-to-print (RTP) format, the converted image elements being referred to as RTP elements 72 .
- the RTP elements 72 are stored in RTP storage 74 .
- the RTP format is a proprietary format of the Eastman Kodak Company for ripped jobs (sometimes referred to as “RIPed jobs”), which contains both fixed and variable elements in a compressed format.
- the RTP format is an element-based format in which rendered reusable and non-reusable elements are represented as separate RTP elements 72 .
- a ripped job includes a set of RTP pages and each RTP page refers to a set of RTP elements 72 .
- the ripping of a fixed element is performed only once per job, thus saving processing time and a single copy is stored per job, thus saving storage space. This is a significant advantage in common VDP (variable data printing) jobs, where many pages share the same master background and the unique variable information is only a small part of the page.
- Each RTP element 72 can be stored as a compressed raster-element.
- the RTP elements 72 are prepared accordingly to accommodate the specifics of the fusion cards, also called merger cards, and the characteristics of the print engine 212 .
- the backend processing unit 228 assembles the RTP elements 72 into image bitmaps 80 and stores them in page buffers in a data storage system 82 for later printing by the printheads 218 of the print engine 212 .
- the backend processing unit 228 includes a data feeder 76 , which loads the RTP data, and schedules work for the one or more merger units 78 , initiating merge operations and monitoring the merge process carried out by the merger units 78 .
- the merger units 78 typically include processing boards (sometimes referred to as “merger cards” or “merger boards”) that are configured to merge and assemble the RTP elements 72 into a continuous-tone (i.e., “contone”) image bitmaps.
- the continuous-tone image bitmaps are further processed by the merger units 78 according to engine specifications to provide image bitmaps 80 , wherein each image bitmap 80 includes an array of image pixels appropriate for printing.
- This processing can include linearizing the tone scale, applying various look-up table (LUT) transformations, applying halftone screening to the continuous-tone image bitmaps to produce halftoned image bitmaps, and compressing the resulting halftoned image bitmaps.
- LUT look-up table
- the merging process performed by the merger units 78 can be implemented either in software or in hardware, typically the merger is implemented in hardware in order to meet the speed requirements of the printer engine speed.
- the image bitmaps 80 are stored in page buffers in a data storage system 82 until they are transferred to the print engine 212 for printing by the printheads 218 of the print engine 212 .
- the data processing system 226 can include a single merger unit 78 or multiple merger units 78 .
- the merger unit 78 will handle all the process colors (e.g. Cyan (C), Magenta (M), Yellow (Y) and Black (K)).
- each merger unit 78 can be responsible for one or more process colors. For example, in the case of two merger units 78 , one merger unit 78 can handle the C and M color channels whereas the other merger unit 78 can handle the Y and K color channels.
- the output of the one or more merger units 78 is passed to the data storage system 82 , which can typically hold the image bitmaps 80 for up to several hundred pages of the print job 10 .
- both the frontend processing unit 227 and the backend processing unit 228 can involve distribution of the processing operations to multiple parallel processors as discussed in commonly-assigned U.S. Pat. No. 8,064,084 (Khain), which is incorporated herein by reference.
- the data storage system 82 typically includes a storage array 88 of digital storage devices 86 as illustrated in FIG. 4 .
- the digital storage devices 86 can use any appropriate form of digital storage.
- the digital storage devices 86 can include magnetic storage disks, or solid state drives, or combinations thereof.
- a storage manager 84 controls where the different image bitmaps 80 are stored on different of the digital storage devices 86 .
- the image bitmaps 80 are broken into a set of image bitmap portions, with each image bitmap portion being stored on one of the digital storage devices 86 .
- the storage manager 84 uses an allocation table 90 to indicate where each image bitmap portion of each image bitmap 80 is stored in the storage array 88 of digital storage devices 86 .
- An image bitmap portion stored in the data storage system 82 can correspond to an entire image bitmap 80 for an image 12 ( FIG. 1 ), or to a subset of an image bitmap 80 .
- a particular print job 10 may have M pages (i.e., images 12 ), each having four color planes; cyan, magenta, yellow, and black (CMYK).
- the data processing system 226 FIG. 3
- Each of the image bitmaps 80 can then be subdivided into three portions (which can, for example, be labeled as segment I, segment II, and segment III).
- the allocation table 90 is updated to indicate where that image bitmap portion is stored.
- the image bitmap portion can be identified by a print job reference number, a page reference number, a color plane reference number and a segment reference number, and the location that the image bitmap portion is stored can be identified by a digital storage device reference number, a sector reference number, and a track reference number.
- the storage manager 84 refers to the allocation table 90 to enable the various image bitmap portions of each image bitmap 80 for each image 12 in the print job 10 to be retrieved from the storage array 88 of digital storage devices 86 in the proper order to enable the segments of the various color planes to be properly correlated to each other for each image 12 in the print job 10 .
- the present invention overcomes this problem by recognizing that only those portions of the image bitmaps 80 that were saved on the defective digital storage device 86 of the data storage system 82 have been lost. The portions of the image bitmaps that were stored on the other digital storage devices are still available for printing. It this therefore not necessary to re-render the entire print job 10 , but rather it is only necessary to re-render those portions of the print job 10 that correspond to the portions of the image bitmaps 80 that were stored on the defective digital storage device 86 that still needed to be printed.
- FIG. 5 shows a flow chart illustrating a method for storing image data using a storage array 88 ( FIG. 6 ) in accordance with the present invention.
- a print job 10 includes image descriptions 300 for a plurality of images.
- a render images step 305 processes the image descriptions 300 to form corresponding image bitmaps 310 using a process such as that discussed relative to FIG. 3 .
- Each image bitmap 310 includes an array of image pixels adapted to be printed on the printing system 200 ( FIG. 2 ).
- a store image bitmaps step 315 is then used to store the image bitmaps 310 in a storage array 88 of digital storage devices 86 ( FIG. 4 ). This involves dividing the image bitmaps 310 up into image bitmap portions 325 , wherein different image bitmap portions 325 are stored in different digital storage devices 86 in the storage array 88 .
- the image bitmaps 310 are divided into image bitmap portions 325 that can be stored in memory blocks having a predefined size. The optimal size is determined by the overall transfer rate including access time of the digital storage device. In an exemplary embodiment, the smallest supported block size that achieves 95%+ of the digital storage device peak bandwidth is used.
- An allocation table 90 is formed indicating where each image bitmap portion 325 is stored in the storage array 88 . Together, the image bitmap portions 325 and the allocation table 90 can be referred to as stored data 320 pertaining to the print job 10 . In some embodiments, the stored data 320 can also include other information such as metadata pertaining to how and when the print job 10 is to be printed.
- the image bitmap portions 325 can be compressed before storage in the storage array 88 (e.g., in a compressed image format such as JPEG or TIFF). In some cases, the image bitmaps 310 can be compressed before they are divided into different image bitmap portions 325 (e.g., each image bitmap portion 325 can include a certain number of bytes of compressed image data). In other cases, the image bitmaps 310 can be divided into different image bitmap portions 325 and each of the image bitmap portions 325 can be compressed individually.
- a compressed image format such as JPEG or TIFF
- a print image bitmaps step 330 is used to print the print job 10 by accessing the stored image bitmap portions 325 in the appropriate order and providing them to the print engine 212 of the printing system 200 ( FIG. 2 ), producing printed images 335 .
- one of the digital storage devices 86 in the storage array 88 may fail entirely, or a portion of the stored image bitmap portions 325 may become corrupted or unreadable due to a partial failure.
- a detect failure step 340 detects that there has been a failure. Errors can be detected by the digital storage device controller.
- a re-render lost portions step 345 is used to re-render the portions of the image bitmaps 310 that were stored in the failed digital storage device 86 .
- the allocation table 90 is analyzed (e.g., by the storage manager 84 ( FIG. 4 )) to determine which image bitmap portions 325 were stored in the failed digital storage device 86 .
- the re-render lost portions step 345 re-renders those portions to provide re-rendered image bitmap portions 350 by processing corresponding portions of the image descriptions 300 .
- the re-rendered image bitmap portions 350 are assembled from RTP elements 72 , which had been stored on the RTP storage 74 at the time those portions of the image bitmaps 310 were originally rendered as was discussed earlier with respect to FIG. 3 . At least some of the RTP elements 72 needed to produce the re-rendered image bitmap portions 350 may still be stored in the RTP storage 74 . In such cases, re-rendering the image bitmap portions 325 that were stored in the failed digital storage device 86 only requires using the RIP 62 of the frontend processing unit 227 to regenerate from the original image descriptions 300 any of the required RTP elements 72 that are no longer stored in the RTP storage 74 .
- the data feeder 76 and the merger units 78 of the backend processing unit 228 can then be used to assemble the re-rendered image bitmap portions 350 from the RTP elements 72 .
- the RTP elements 72 are representations of portions of the original image descriptions 300 . Therefore, even if none of the required RTP elements 72 need to be regenerated, within the context of the present disclosure, determining the re-rendered image bitmap portions 350 from the stored RTP elements 72 is considered to be equivalent to determining the re-rendered image bitmap portions 350 from the image descriptions 300 .
- the image bitmaps 310 are compressed before they are divided into image bitmap portions 325 , it may be necessary to re-render some or all of the full image bitmap 310 in order to recreate the lost image bitmap portion(s) 325 .
- regions of the image bitmaps 310 that are required to recreate the compressed image bitmap portions 325 that were stored in the failed digital storage device 86 are determined.
- the required regions of the image bitmaps 310 are then re-rendered, and re-compressed.
- the compressed image bitmap portions 325 that were stored in the failed digital storage device are then extracted from the compressed image bitmap regions.
- a store image bitmap portions step 355 is then used to store the re-rendered image bitmap portions 350 on one or more of the remaining non-failed digital storage devices 86 in the storage array 88 .
- the allocation table 90 is also updated by the storage manager 84 ( FIG. 4 ) in accordance with the locations that the re-rendered image bitmap portions 350 were stored.
- the image bitmaps 310 including the re-rendered image bitmap portions 350 can then be printed using the print image bitmaps step 330 to provide the printed images 335 .
- the analysis to determine which image bitmap portions 325 were stored in the failed digital storage device 86 includes a determination of which images 12 in the print job 10 include image bitmap portions 325 that were stored on the failed digital storage device 86 . Only those image bitmap portions 325 corresponding to unprinted images 12 need to be re-rendered. While the re-rendered image bitmap portions 350 are being assembled, the printing system 200 can continue to print any images 12 that do not include any image bitmap portions 325 that were stored on the failed digital display device 86 . However, while the printing system 200 can continue to print the images 12 that did't affected by the failed digital storage device 86 , the number of images 12 that are available to be printed is reduced accordingly. As taught in commonly-assigned U.S.
- the main controller 230 can initiate a reduction in print speed in response to the reduced number of printable images 12 stored in the data storage system 82 to reduce the risk that the print engine 212 will deplete the data storage system 82 of printable images 12 .
- a storage manager 84 allocates the image bitmap portions 325 among the digital storage devices 86 of the storage array 88 in such a way as to reduce the risk that the loss of a single digital storage device 86 will deplete the data storage system 82 of printable images 12 .
- the rendered image bitmaps 310 for the N different color planes for a sequences of document pages 12 can be uniformly allocated between the M different digital storage devices. Such an allocation can ensure that at least of fraction (M ⁇ N)/M of the rendered images 12 in the data storage system 82 will not include image bitmap portions 325 on any single digital storage device 86 that might could fail.
- the invention has been described in the context of a method for storing image bitmaps 310 using a storage array 88 of digital storage devices 86 , and for re-rendering and re-storing those image bitmap portions 325 that were stored in a digital storage device 86 that was found to have failed.
- the invention is also applicable to the storing of other types image data in storage arrays 88 of digital storage devices 86 .
- the method of the present invention can also be applied to the RTP elements 72 stored in the RTP storage 74 (see FIG. 3 ).
- the inventive method includes receiving image descriptions 300 for a plurality of images 12 in a print job 10 , wherein the image descriptions 300 are described using an image description language.
- the image descriptions 300 are processed to render image bitmaps in the form of RTP elements 72 that each correspond to different elements of the images 12 , wherein the RTP elements 72 each include an array of image pixels.
- the image bitmaps of the RTP elements 72 are stored in the RTP storage 74 which includes a storage array 88 of digital storage devices 86 , wherein different RTP elements 72 are stored in different digital storage devices 86 .
- a storage manager 84 forms an allocation table 90 which indicates where each RTP element 72 is stored in the storage array 99 of digital storage devices 86 .
- a recovery process is initiated that includes analyzing the allocation table 90 to determine which RTP elements 72 were stored in the failed digital storage device 86 .
- the frontend processing unit 227 is then used to re-render the RTP elements 72 that had been stored in the failed digital storage device 86 by processing corresponding portions of the image descriptions 300 .
- the re-rendered RTP elements 72 are then stored on the remaining non-failed digital storage devices 86 in the storage array 88 and the allocation table 90 is updated accordingly.
- the print engine can continue to print images 12 whose image bitmaps 310 had already been determined and stored in the data storage system 82 .
- the step of determining which RTP elements 72 were stored in the failed digital storage device 86 can include an analysis of the images 12 in the queue to be processed by the backend processing unit 228 to determine which of these images 12 do not include any RTP elements 72 that were stored on the failed digital storage device.
- the backend processing unit 228 can continue to create image bitmaps 310 for such images 12 until the frontend processing unit 227 can re-render and re-store the RTP elements 72 that had been lost when the digital storage device 86 failed.
- the invented method can comprise a computer program that can be stored in one or more non-transitory, tangible, computer readable storage medium, for example; magnetic storage media such as magnetic disk (such as a floppy disk) or magnetic tape; optical storage media such as optical disk, optical tape, or machine readable bar code; solid-state electronic storage devices such as random access memory (RAM), or read-only memory (ROM); or any other physical device or media employed to store a computer program having instructions for controlling one or more computers to practice the method according to the present invention.
- magnetic storage media such as magnetic disk (such as a floppy disk) or magnetic tape
- optical storage media such as optical disk, optical tape, or machine readable bar code
- solid-state electronic storage devices such as random access memory (RAM), or read-only memory (ROM); or any other physical device or media employed to store a computer program having instructions for controlling one or more computers to practice the method according to the present invention.
Abstract
Description
- This invention pertains to the field of digital storage arrays and more particularly to a method for recovering image data that is lost when a digital storage device fails.
- Very high speed commercial digital presses print variable data at rates of thousands of pages per minute. Typically, the receiver media on which the data is printed is in the form of a web that is transported past stationary printheads. During transport, the web has considerable inertia and cannot be readily subjected to rapid changes in speed. It is desirable to continuously transport the web of receiver media at a constant speed, or with relatively slow speed adjustments.
- The continuous transport of the web of receiver media also necessitates a continuous supply of data in the form of printable image data. This image data must be buffered so as to be available when it is needed, since any delay would result in blank pages unless the web of receiver media is stopped. Considerable time is required to fill a buffer with the printable image data, since the print job is initially supplied in an image description format which must be converted to image bitmaps. That conversion is typically in the form of raster image processing and is performed by one or more downstream processors. The processing speed that defines the sustained output speed of each of the downstream processors is generally limited by the content of the input descriptions, since the time to raster image process the image description for an individual print page tends to be highly data dependent. It is possible for the image description for a single print page to require a substantial amount of time to be converted to the printable image data output. Another limitation that affects the raster image processing is the supply of input data to the downstream processors. Variable data supplied by a secondary source can be subject to limitations of communication bandwidth or the processing capability of a host computer. With many print jobs, portions of the print job are simultaneously raster image processed and buffered before they are delivered to final raster image processor for assembly into a print engine ready format.
- In high speed printing, a continuing problem is reliably supplying data at a rate sufficiently matched to the print engine. One approach to solving this problem is pausing the transport of the receiver media through the media transport path until sufficient data is available. This approach can be problematic, particularly for receiver in the form of a web being transported at high transport speeds. Another approach is to restrict how a print job is input. While this can be workable, it greatly encumbers the flexibility to make any last minute changes in the image data.
- Commonly-assigned U.S. Pat. No. 6,762,855 (Goldberg et al.) discloses a system that uses buffer management logic to adjust transport speed on a per-document basis. Control buffers accumulate slack time left over from raster image processing non-complex documents and then allocate that slack time to complex documents to optimize average raster image processing time with the speed of the print engine.
- The rate at which print data must be buffered necessitates high read and write data rates with the buffer memory in a memory storage unit. To overcome the inherent data transfer rate limitation of a memory storage unit, one method for achieving such data rates has been to use a plurality of memory storage units that can be concurrently accessed. However, the increase in the number of memory storage units brings with it an increased risk that one of the memory storage units will fail, bringing with it a risk of a total printing system failure.
- There remains a need to provide the high data rates required for storing and accessing image data for high speed printing without producing an undue risk of a printing system failure.
- The present invention represents a method for storing image data using an array of digital storage devices, including:
- receiving image descriptions for a plurality of images, wherein the image descriptions are described using an image description language;
- rendering the images by processing the image descriptions to create corresponding image bitmaps, each image bitmap including an array of image pixels;
- storing the image bitmaps in the array of digital storage devices, wherein different portions of the image bitmaps are stored in different digital storage devices in the array of digital storage devices;
- forming an allocation table indicating where each portion of the image bitmaps is stored in the array of digital storage devices;
- detecting that one of the digital storage devices has failed;
- analyzing the allocation table to determine which portions of the image bitmaps were stored in the failed digital storage device;
- re-rendering the portions of the image bitmaps that were stored in the failed digital storage device by processing corresponding portions of the image descriptions; and
- storing the re-rendered portions of the image bitmaps in the array of digital storage devices.
- This invention has the advantage that the rendered image bitmaps can be re-rendered more efficiently when a digital storage device storing a portion of the rendered image bitmaps fails.
-
FIG. 1 illustrates a set of documents that make up a portion of a print job; -
FIG. 2 is schematic side view of a high speed variable printing system; -
FIG. 3 is a block diagram of a data station for supplying print data to the printheads of a high speed variable printing system in accordance with the invention; -
FIG. 4 illustrates an embodiment of a digital storage system having an array of digital storage devices; and -
FIG. 5 is a flow chart illustrating a method for storing image data using an array of digital storage devices in accordance with the present invention. - It is to be understood that the attached drawings are for purposes of illustrating the concepts of the invention and may not be to scale. Identical reference numerals have been used, where possible, to designate identical features that are common to the figures.
- In the following description, some embodiments of the present invention will be described in terms that would ordinarily be implemented as software programs. Those skilled in the art will readily recognize that the equivalent of such software may also be constructed in hardware. Because image manipulation algorithms and systems are well known, the present description will be directed in particular to algorithms and systems forming part of, or cooperating more directly with, the method in accordance with the present invention. Other aspects of such algorithms and systems, together with hardware and software for producing and otherwise processing the image signals involved therewith, not specifically shown or described herein may be selected from such systems, algorithms, components, and elements known in the art. Given the system as described according to the invention in the following, software not specifically shown, suggested, or described herein that is useful for implementation of the invention is conventional and within the ordinary skill in such arts.
- The invention is inclusive of combinations of the embodiments described herein. References to “a particular embodiment” and the like refer to features that are present in at least one embodiment of the invention. Separate references to “an embodiment” or “particular embodiments” or the like do not necessarily refer to the same embodiment or embodiments; however, such embodiments are not mutually exclusive, unless so indicated or as are readily apparent to one of skill in the art. The use of singular or plural in referring to the “method” or “methods” and the like is not limiting. It should be noted that, unless otherwise explicitly noted or required by context, the word “or” is used in this disclosure in a non-exclusive sense.
- High speed variable printing systems are used in the commercial printing industry for a wide variety of printing applications such as printing short run catalogs and advertisements or transactional printed products such as bills and investment reports. It is common for the print jobs printed by high speed variable printing systems to be made up of a sequence of printed images. The print jobs are typically received in the form of a page description language (also referred to as an image description language), such as PostScript, PDF, AFP, IJPDS, and IPDS, which provide image descriptions of each image (i.e., each page).
- Each image can be made up of a number of components, where the components can include continuous tone image components and vector format image components. Continuous tone image components are commonly used for photographic images, and are specified by an array of pixels having pixel values representing the intensity of each pixel, typically for a plurality of color planes. Common continuous tone image formats include JPEG, TIFF, GIF, BMP, and PNG. Vector format image components are specified by a geometrical description that can be scaled in size. It is commonly used for text and computer generated image components. Common vector format image formats include CGM, SVG, and PPT.
- The sequence of images (i.e., pages) in a print job can include a mix of fixed data, which are common from one page to the next or from one group of pages (book or financial statement) to the next group of pages and variable data with changes from image to image.
FIG. 1 illustrates a portion of anexemplary print job 10 including a series ofindividual images 12, such as financial statements. Theimages 12 include fixedgraphics elements 18, such as logos, and fixedtext elements 20 that are common to a plurality ofimages 12, together withvariable figure elements 22 andvariable text elements 24 that are specific to aparticular image 12. In some cases, the formation of theimages 12 in aprint job 10 can involve data merger operations in which variable data (e.g., mailing addresses or financial transaction data) is extracted from a database or spreadsheet and the extracted variable data is inserted into a form or template that has fixedtext elements 20 or fixedgraphics elements 18. The template can also include variablegraphic elements 22, such as a graph in which the content of the graphic element depends on variable data extracted from the database of spreadsheet. - Referring to
FIG. 2 , a high speedvariable printing system 200 has a print engine 212 (also referred to herein as a printer) that prints on areceiver 214. The term “receiver” refers to media that accepts a printed image and is singular or plural, as indicated by context. In some embodiments, thereceiver 214 can be multiple cut-sheets. In the particular embodiments discussed herein, thereceiver 214 is in the form of a web that is an elongate, continuous piece. The use of a web typically allows theprint engine 212 to attain higher speeds in transport, than other forms ofreceiver 214, such as cut-sheets. Thereceiver 214 is typically paper, but can also be any of a large number of other types of print media. For example, thereceiver 214 can be thin or thick paper stock (coated or uncoated) or transparency stock. Thereceiver 214 has afirst surface 214 a and an opposed second surface 214 b, one or both of which may be printed. - The
receiver 214 inFIG. 2 is a web. The web is moved from asupply 201 to a take-up 203 by atransport system 205. Between thesupply 201 and take-up 203, the web is threaded around a number ofrollers 216 and past a sequence ofprintheads 218. In various embodiments, theprintheads 218 can be continuous ink jet printheads, drop on demand ink jet printheads, electrophotographic toning stations (with or without transfer rollers or the like), or other equivalent units of a variable printing technology. For simplicity, in the discussion here, the printheads are generally discussed in terms of an embodiment, in which theprintheads 218 are arranged in a sequence, and wherein eachprinthead 218 extends across the full width of thereceiver 214. It will be understood that like considerations apply to other embodiments. For example, instead of using afull width printhead 218, a group ofprintheads 218 can be arranged in parallel (non-sequentially) to print awider receiver 214. - The
different printheads 218 each print image data for a printable image plane. A unit of image data that corresponds to an image plane is referred to herein as a “segment”. The image planes are printed in registry with each other and, in combination, provide a printed page. The term “printed page” as used herein, thus, corresponds to the image printed on a single side of a piece of media. A piece of media can include printed pages on one or both surfaces. Each printed page can define an image area corresponding to the full dimensions as the sheet or can define a smaller area within those dimensions. A print job 10 (FIG. 1 ) can include a plurality of documents, where a document can include one or more pages (i.e., images 12) intended to be a unit for delivery to a single recipient; examples of multi-sheet documents include books, financial statements, and multiple sheet advertising material. Eachimage 12 can include a plurality of image planes represents a part of a document that is conveniently printed separately. For example, each image plane can use a different color of ink. With ink jet printheads, different image planes can be used to divide an image into different patterns of relatively spaced apart deposited drops. The resulting combined image is unchanged, but the different patterns improve drying, during the printing process. - Two sets of four
printheads 218 are shown inFIG. 2 . The invention is not limited as to a particular number ofprintheads 218 or sets ofprintheads 218. InFIG. 2 , after passing one set ofprintheads 218, the partially printed image (not shown) on afirst surface 214 a of thereceiver 214 is dried by a dryer 220 (e.g., by contact with a heated drum). The web is then flipped over by aturn station 222 before passing the second set ofprintheads 218 and the second side 214 b is then dried by asecond dryer 221. - In an exemplary configuration, a
print job 10 including the image descriptions for multiple pages (images 12) is supplied from various image data sources by one ormore input units 224. As will be described later, adata processing system 226 performs at least some of the operations necessary to convert the image descriptions to an image data format appropriate for theprintheads 218. Amain controller 230 is used to control the operation of theprint engine 212, including sending image data to theprintheads 218 overdata paths 236 to print the image data provided by thedata processing system 226. - In some configurations, the functions of a system manager and user interface (not separately illustrated) can also be provided by the
data processing system 226. The system manager provides a communication hub, and system level administration and control features for other system components. The user interface provides setup and status information for the operation of theprinting system 200. Via this user interface, the user can input data pertaining to the physical characteristics of the printer, such as the relationships of the printheads, desired colors the system is capable of printing, and other information. Upon a power-up or a reset, themain controller 230 initializes theprinting system 200 to a ready state. - As discussed further below, the job data can include a
single print job 10 or a series ofprint jobs 10. The printing data represents the location, color, and intensity of each image pixel, and is in the form of one or more data files, which typically include or are accompanied by control commands. For example, data files can be supplied in a PDL (page description language) format, such as Postscript or IPDS or IJPDS. Printing data can be supplied from multiple sources, for combination during printing. Commonly-assigned U.S. Pat. No. 5,966,504 (Sity), entitled “Apparatus and method for printing,” which is incorporated herein by reference, discloses an example of this type of procedure. - One
input unit 224 is typically a locally connected host computer capable of supplying the printing data in a continuous stream. Software controls the flow of data from the host computer and via a host interface. The connection between thedata processing system 226 and the host computer can be uni-directional or can be bi-directional to allow status information and the like to be presented on a user interface of the host computer. Suitable software for this purpose is well known to those of skill in the art. Other types ofinput units 224 can be used instead of, or in addition to, a host computer. For example, printing data can be supplied by a media reader using transferable media, such as CDs, DVDs, or by network connection to another computer. An image data source is a device that can provide digital data defining a version of the image. Such types of devices are numerous and include computers, microcontrollers, computer workstations, scanners, and digital cameras. Multiple devices can be interconnected on a network. These image data sources are at the front end and generally include an application program that is used to create or find an image to output. -
FIG. 3 illustrates block diagram of an embodiment of adata processing system 226 for supplying print data to theprintheads 218 of theprinting system 200. In the illustrated configuration, thedata processing system 226 includes afrontend processing unit 227 and abackend processing unit 228. Optionally, the processing performed by thefrontend processing unit 227 and thebackend processing unit 228 can be combined into a single processing unit. Thefrontend processing unit 227 receivesincoming print jobs 10, which include image descriptions for a plurality of images 12 (FIG. 1 ). The image descriptions are typically provided using a page description language PDL. The output of thefrontend processing unit 227 is blocks of image data in a ready to print (RTP) format (hereafter referred to as RTP elements 72) for elements in the images. TheRTP elements 72 are stored in anRTP storage 74 for retrieval by thebackend processing unit 228. - The processing of the
frontend processing unit 227 can include buffering the receivedprint jobs 10 in aspool disk 58. Aninput module 60 receives the print jobs and queues the image descriptions for processing by the raster image processor (RIP) 62. TheRIP 62 processes the various fixed and variable continuous tone and vector format image components that make up animage 12, and createsbitmapped image elements 64 for each color plane. As discussed in the aforementioned U.S. Pat. No. 5,966,504 (Sity), it is only necessary to createbitmapped image elements 64 once for each of the fixed image components (e.g., fixedgraphics elements 18 and fixedtext elements 20 inFIG. 1 ) rather than recreate them for each page that in which those fixed image components exist. - The
bitmapped image elements 64 are modified by animage processor 66 to provide modifiedbitmapped image elements 68. Thebitmapped image processor 64 can perform various image processing modifications including anti-aliasing and trapping. AnRTP preparation module 70 converts the modifiedbitmapped image elements 68 into ready-to-print (RTP) format, the converted image elements being referred to asRTP elements 72. TheRTP elements 72 are stored inRTP storage 74. - The RTP format is a proprietary format of the Eastman Kodak Company for ripped jobs (sometimes referred to as “RIPed jobs”), which contains both fixed and variable elements in a compressed format. The RTP format is an element-based format in which rendered reusable and non-reusable elements are represented as
separate RTP elements 72. According to this format, a ripped job includes a set of RTP pages and each RTP page refers to a set ofRTP elements 72. The ripping of a fixed element is performed only once per job, thus saving processing time and a single copy is stored per job, thus saving storage space. This is a significant advantage in common VDP (variable data printing) jobs, where many pages share the same master background and the unique variable information is only a small part of the page. EachRTP element 72 can be stored as a compressed raster-element. TheRTP elements 72 are prepared accordingly to accommodate the specifics of the fusion cards, also called merger cards, and the characteristics of theprint engine 212. - The
backend processing unit 228 assembles theRTP elements 72 into image bitmaps 80 and stores them in page buffers in adata storage system 82 for later printing by theprintheads 218 of theprint engine 212. Thebackend processing unit 228 includes adata feeder 76, which loads the RTP data, and schedules work for the one ormore merger units 78, initiating merge operations and monitoring the merge process carried out by themerger units 78. - The
merger units 78 typically include processing boards (sometimes referred to as “merger cards” or “merger boards”) that are configured to merge and assemble theRTP elements 72 into a continuous-tone (i.e., “contone”) image bitmaps. The continuous-tone image bitmaps are further processed by themerger units 78 according to engine specifications to provideimage bitmaps 80, wherein eachimage bitmap 80 includes an array of image pixels appropriate for printing. This processing can include linearizing the tone scale, applying various look-up table (LUT) transformations, applying halftone screening to the continuous-tone image bitmaps to produce halftoned image bitmaps, and compressing the resulting halftoned image bitmaps. Though the merging process performed by themerger units 78 can be implemented either in software or in hardware, typically the merger is implemented in hardware in order to meet the speed requirements of the printer engine speed. The image bitmaps 80 are stored in page buffers in adata storage system 82 until they are transferred to theprint engine 212 for printing by theprintheads 218 of theprint engine 212. - According to the performance requirements of the
printing system 200, thedata processing system 226 can include asingle merger unit 78 ormultiple merger units 78. In adata processing system 226 equipped with asingle merger unit 78, themerger unit 78 will handle all the process colors (e.g. Cyan (C), Magenta (M), Yellow (Y) and Black (K)). In adata processing system 226 equipped withmultiple merger units 78, eachmerger unit 78 can be responsible for one or more process colors. For example, in the case of twomerger units 78, onemerger unit 78 can handle the C and M color channels whereas theother merger unit 78 can handle the Y and K color channels. The output of the one ormore merger units 78 is passed to thedata storage system 82, which can typically hold the image bitmaps 80 for up to several hundred pages of theprint job 10. - It must be appreciated that both the
frontend processing unit 227 and thebackend processing unit 228 can involve distribution of the processing operations to multiple parallel processors as discussed in commonly-assigned U.S. Pat. No. 8,064,084 (Khain), which is incorporated herein by reference. - To handle the storage and data rate requirements associated with high speed printing, the
data storage system 82 typically includes astorage array 88 ofdigital storage devices 86 as illustrated inFIG. 4 . Thedigital storage devices 86 can use any appropriate form of digital storage. For example, in an exemplary embodiment, thedigital storage devices 86 can include magnetic storage disks, or solid state drives, or combinations thereof. - As the image bitmaps 80 for the different color planes are created by the one or
more merger units 78, astorage manager 84 controls where the different image bitmaps 80 are stored on different of thedigital storage devices 86. Typically, the image bitmaps 80 are broken into a set of image bitmap portions, with each image bitmap portion being stored on one of thedigital storage devices 86. To enable the image bitmaps 80 to be retrieved in the proper sequence, thestorage manager 84 uses an allocation table 90 to indicate where each image bitmap portion of eachimage bitmap 80 is stored in thestorage array 88 ofdigital storage devices 86. An image bitmap portion stored in thedata storage system 82 can correspond to anentire image bitmap 80 for an image 12 (FIG. 1 ), or to a subset of animage bitmap 80. - By way of example, a
particular print job 10, may have M pages (i.e., images 12), each having four color planes; cyan, magenta, yellow, and black (CMYK). The data processing system 226 (FIG. 3 ) can determineimage bitmaps 80 for each color plane of each page. Each of the image bitmaps 80 can then be subdivided into three portions (which can, for example, be labeled as segment I, segment II, and segment III). As each of the image bitmap portions are stored in one of thedigital storage devices 86, the allocation table 90 is updated to indicate where that image bitmap portion is stored. For example, the image bitmap portion can be identified by a print job reference number, a page reference number, a color plane reference number and a segment reference number, and the location that the image bitmap portion is stored can be identified by a digital storage device reference number, a sector reference number, and a track reference number. - As the
print job 10 is being printed, thestorage manager 84 refers to the allocation table 90 to enable the various image bitmap portions of eachimage bitmap 80 for eachimage 12 in theprint job 10 to be retrieved from thestorage array 88 ofdigital storage devices 86 in the proper order to enable the segments of the various color planes to be properly correlated to each other for eachimage 12 in theprint job 10. - It is not uncommon for one of the
digital storage devices 86 to fail or become corrupted, losing some or all of the data stored on it. If one of thedigital storage devices 86 storing a portion of the image data for aprint job 10 fails during the printing of theprint job 10, it is not possible to retrieve those portions of the image bitmap data that were stored on thatdigital storage device 86. In prior art systems, detection of such a digital storage device failure would cause a fatal printing system error, aborting the printing of theprint job 10. The printing system would then need to re-render the unprinted portions of theprint job 10 after a system restart. This leads to a significant loss in productivity. - The present invention overcomes this problem by recognizing that only those portions of the image bitmaps 80 that were saved on the defective
digital storage device 86 of thedata storage system 82 have been lost. The portions of the image bitmaps that were stored on the other digital storage devices are still available for printing. It this therefore not necessary to re-render theentire print job 10, but rather it is only necessary to re-render those portions of theprint job 10 that correspond to the portions of the image bitmaps 80 that were stored on the defectivedigital storage device 86 that still needed to be printed. -
FIG. 5 shows a flow chart illustrating a method for storing image data using a storage array 88 (FIG. 6 ) in accordance with the present invention. Aprint job 10 includesimage descriptions 300 for a plurality of images. A render images step 305 processes theimage descriptions 300 to form corresponding image bitmaps 310 using a process such as that discussed relative toFIG. 3 . Eachimage bitmap 310 includes an array of image pixels adapted to be printed on the printing system 200 (FIG. 2 ). - A store image bitmaps step 315 is then used to store the image bitmaps 310 in a
storage array 88 of digital storage devices 86 (FIG. 4 ). This involves dividing the image bitmaps 310 up intoimage bitmap portions 325, wherein differentimage bitmap portions 325 are stored in differentdigital storage devices 86 in thestorage array 88. In an exemplary configuration, the image bitmaps 310 are divided intoimage bitmap portions 325 that can be stored in memory blocks having a predefined size. The optimal size is determined by the overall transfer rate including access time of the digital storage device. In an exemplary embodiment, the smallest supported block size that achieves 95%+ of the digital storage device peak bandwidth is used. - An allocation table 90 is formed indicating where each
image bitmap portion 325 is stored in thestorage array 88. Together, theimage bitmap portions 325 and the allocation table 90 can be referred to as storeddata 320 pertaining to theprint job 10. In some embodiments, the storeddata 320 can also include other information such as metadata pertaining to how and when theprint job 10 is to be printed. - In some embodiments, the
image bitmap portions 325 can be compressed before storage in the storage array 88 (e.g., in a compressed image format such as JPEG or TIFF). In some cases, the image bitmaps 310 can be compressed before they are divided into different image bitmap portions 325 (e.g., eachimage bitmap portion 325 can include a certain number of bytes of compressed image data). In other cases, the image bitmaps 310 can be divided into differentimage bitmap portions 325 and each of theimage bitmap portions 325 can be compressed individually. - In normal operation, a print image bitmaps step 330 is used to print the
print job 10 by accessing the storedimage bitmap portions 325 in the appropriate order and providing them to theprint engine 212 of the printing system 200 (FIG. 2 ), producing printedimages 335. - However, in some cases, one of the
digital storage devices 86 in thestorage array 88 may fail entirely, or a portion of the storedimage bitmap portions 325 may become corrupted or unreadable due to a partial failure. In this case, a detectfailure step 340 detects that there has been a failure. Errors can be detected by the digital storage device controller. - Upon detecting a failure of one of the
digital storage devices 86 in thestorage array 88, a re-render lost portions step 345 is used to re-render the portions of the image bitmaps 310 that were stored in the faileddigital storage device 86. To enable this, the allocation table 90 is analyzed (e.g., by the storage manager 84 (FIG. 4 )) to determine whichimage bitmap portions 325 were stored in the faileddigital storage device 86. Once the lost portions have been identified, the re-render lost portions step 345 re-renders those portions to provide re-renderedimage bitmap portions 350 by processing corresponding portions of theimage descriptions 300. - In an exemplary configuration, the re-rendered
image bitmap portions 350 are assembled fromRTP elements 72, which had been stored on theRTP storage 74 at the time those portions of the image bitmaps 310 were originally rendered as was discussed earlier with respect toFIG. 3 . At least some of theRTP elements 72 needed to produce the re-renderedimage bitmap portions 350 may still be stored in theRTP storage 74. In such cases, re-rendering theimage bitmap portions 325 that were stored in the faileddigital storage device 86 only requires using theRIP 62 of thefrontend processing unit 227 to regenerate from theoriginal image descriptions 300 any of the requiredRTP elements 72 that are no longer stored in theRTP storage 74. Thedata feeder 76 and themerger units 78 of thebackend processing unit 228 can then be used to assemble the re-renderedimage bitmap portions 350 from theRTP elements 72. It should be noted that theRTP elements 72 are representations of portions of theoriginal image descriptions 300. Therefore, even if none of the requiredRTP elements 72 need to be regenerated, within the context of the present disclosure, determining the re-renderedimage bitmap portions 350 from the storedRTP elements 72 is considered to be equivalent to determining the re-renderedimage bitmap portions 350 from theimage descriptions 300. - In some cases, it may be necessary to re-render a larger portion of the image bitmaps 310 than that corresponding to the lost
image bitmap portions 325. For example, if the image bitmaps 310 are compressed before they are divided intoimage bitmap portions 325, it may be necessary to re-render some or all of thefull image bitmap 310 in order to recreate the lost image bitmap portion(s) 325. In an exemplary arrangement, regions of the image bitmaps 310 that are required to recreate the compressedimage bitmap portions 325 that were stored in the faileddigital storage device 86 are determined. The required regions of the image bitmaps 310 are then re-rendered, and re-compressed. The compressedimage bitmap portions 325 that were stored in the failed digital storage device are then extracted from the compressed image bitmap regions. - A store image bitmap portions step 355 is then used to store the re-rendered
image bitmap portions 350 on one or more of the remaining non-faileddigital storage devices 86 in thestorage array 88. The allocation table 90 is also updated by the storage manager 84 (FIG. 4 ) in accordance with the locations that the re-renderedimage bitmap portions 350 were stored. The image bitmaps 310 including the re-renderedimage bitmap portions 350 can then be printed using the print image bitmaps step 330 to provide the printedimages 335. - In some embodiments, the analysis to determine which
image bitmap portions 325 were stored in the faileddigital storage device 86 includes a determination of whichimages 12 in theprint job 10 includeimage bitmap portions 325 that were stored on the faileddigital storage device 86. Only thoseimage bitmap portions 325 corresponding tounprinted images 12 need to be re-rendered. While the re-renderedimage bitmap portions 350 are being assembled, theprinting system 200 can continue to print anyimages 12 that do not include anyimage bitmap portions 325 that were stored on the faileddigital display device 86. However, while theprinting system 200 can continue to print theimages 12 that weren't affected by the faileddigital storage device 86, the number ofimages 12 that are available to be printed is reduced accordingly. As taught in commonly-assigned U.S. Pat. No. 6,762,855 (Goldberg, et al.), entitled “Variable speed printing system,” themain controller 230 can initiate a reduction in print speed in response to the reduced number ofprintable images 12 stored in thedata storage system 82 to reduce the risk that theprint engine 212 will deplete thedata storage system 82 ofprintable images 12. - In some embodiments a
storage manager 84 allocates theimage bitmap portions 325 among thedigital storage devices 86 of thestorage array 88 in such a way as to reduce the risk that the loss of a singledigital storage device 86 will deplete thedata storage system 82 ofprintable images 12. In one such embodiment, there are Mdigital storage devices 86 in thestorage array 88 and there are N color planes to be printed, where M>N. The rendered image bitmaps 310 for the N different color planes for a sequences of document pages 12 can be uniformly allocated between the M different digital storage devices. Such an allocation can ensure that at least of fraction (M−N)/M of the renderedimages 12 in thedata storage system 82 will not includeimage bitmap portions 325 on any singledigital storage device 86 that might could fail. - The invention has been described in the context of a method for storing
image bitmaps 310 using astorage array 88 ofdigital storage devices 86, and for re-rendering and re-storing thoseimage bitmap portions 325 that were stored in adigital storage device 86 that was found to have failed. The invention is also applicable to the storing of other types image data instorage arrays 88 ofdigital storage devices 86. For example, the method of the present invention can also be applied to theRTP elements 72 stored in the RTP storage 74 (seeFIG. 3 ). - As applied to storage of the image bitmaps of the
RTP elements 72, the inventive method includes receivingimage descriptions 300 for a plurality ofimages 12 in aprint job 10, wherein theimage descriptions 300 are described using an image description language. Theimage descriptions 300 are processed to render image bitmaps in the form ofRTP elements 72 that each correspond to different elements of theimages 12, wherein theRTP elements 72 each include an array of image pixels. The image bitmaps of theRTP elements 72 are stored in theRTP storage 74 which includes astorage array 88 ofdigital storage devices 86, whereindifferent RTP elements 72 are stored in differentdigital storage devices 86. Astorage manager 84 forms an allocation table 90 which indicates where eachRTP element 72 is stored in the storage array 99 ofdigital storage devices 86. - If the system detects that one of the
digital storage devices 86 has failed, a recovery process is initiated that includes analyzing the allocation table 90 to determine whichRTP elements 72 were stored in the faileddigital storage device 86. Thefrontend processing unit 227 is then used to re-render theRTP elements 72 that had been stored in the faileddigital storage device 86 by processing corresponding portions of theimage descriptions 300. There-rendered RTP elements 72 are then stored on the remaining non-faileddigital storage devices 86 in thestorage array 88 and the allocation table 90 is updated accordingly. while thefrontend processing unit 227 is re-rendering and re-storing theRTP elements 72 that had been stored in the faileddigital storage device 86, the print engine can continue to printimages 12 whose image bitmaps 310 had already been determined and stored in thedata storage system 82. - In some embodiments of the invention, the step of determining which
RTP elements 72 were stored in the faileddigital storage device 86 can include an analysis of theimages 12 in the queue to be processed by thebackend processing unit 228 to determine which of theseimages 12 do not include anyRTP elements 72 that were stored on the failed digital storage device. Thebackend processing unit 228 can continue to createimage bitmaps 310 forsuch images 12 until thefrontend processing unit 227 can re-render and re-store theRTP elements 72 that had been lost when thedigital storage device 86 failed. - The invented method can comprise a computer program that can be stored in one or more non-transitory, tangible, computer readable storage medium, for example; magnetic storage media such as magnetic disk (such as a floppy disk) or magnetic tape; optical storage media such as optical disk, optical tape, or machine readable bar code; solid-state electronic storage devices such as random access memory (RAM), or read-only memory (ROM); or any other physical device or media employed to store a computer program having instructions for controlling one or more computers to practice the method according to the present invention.
- The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.
-
- 10 print job
- 12 image
- 18 fixed graphics element
- 20 fixed text element
- 22 variable graphics element
- 24 variable text element
- 58 spool disk
- 60 input module
- 62 raster image processor (RIP)
- 64 bitmapped image elements
- 66 image processor
- 68 modified bitmapped image elements
- 70 RTP preparation module
- 72 RTP elements
- 74 RTP storage
- 76 data feeder
- 78 merger units
- 80 image bitmaps
- 82 data storage system
- 84 storage manager
- 86 digital storage device
- 88 storage array
- 90 allocation table
- 200 printing system
- 201 supply
- 203 take-up
- 205 transport system
- 212 print engine
- 214 receiver
- 214 a first surface
- 214 b second surface
- 216 roller
- 218 printhead
- 220 dryer
- 221 dryer
- 222 turn station
- 224 input unit
- 226 data processing system
- 227 frontend processing unit
- 228 backend processing unit
- 230 main controller
- 236 data path
- 300 image descriptions
- 305 render images step
- 310 image bitmaps
- 315 store image bitmaps step
- 320 stored data
- 325 image bitmap portions
- 330 print image bitmaps step
- 335 printed images
- 340 detect failure step
- 345 re-render lost portions step
- 350 image bitmap portions step
- 355 store image bitmap portions step
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/227,998 US9886220B1 (en) | 2016-08-04 | 2016-08-04 | Stored image data failure correction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/227,998 US9886220B1 (en) | 2016-08-04 | 2016-08-04 | Stored image data failure correction |
Publications (2)
Publication Number | Publication Date |
---|---|
US9886220B1 US9886220B1 (en) | 2018-02-06 |
US20180039451A1 true US20180039451A1 (en) | 2018-02-08 |
Family
ID=61027049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/227,998 Active 2036-08-06 US9886220B1 (en) | 2016-08-04 | 2016-08-04 | Stored image data failure correction |
Country Status (1)
Country | Link |
---|---|
US (1) | US9886220B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019130705A (en) * | 2018-01-30 | 2019-08-08 | 株式会社沖データ | Image processing system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966504A (en) * | 1996-03-24 | 1999-10-12 | Scitex Corporation Ltd. | Apparatus and method for printing |
US20090248998A1 (en) * | 2008-03-25 | 2009-10-01 | Fuji Xerox Co., Ltd | Storage system, control unit, image forming apparatus, image forming method, and computer readable medium |
US8064084B2 (en) * | 2008-04-02 | 2011-11-22 | Eastman Kodak Company | Distributed processing of print jobs |
US20130335763A1 (en) * | 2012-06-18 | 2013-12-19 | Brother Kogyo Kabushiki Kaisha | Control device |
US20160088189A1 (en) * | 2014-09-18 | 2016-03-24 | Konica Minolta, Inc. | Image processing apparatus and image processing method for the same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6762855B1 (en) | 2000-07-07 | 2004-07-13 | Eastman Kodak Company | Variable speed printing system |
IL154234A (en) | 2003-01-30 | 2010-12-30 | Mosaid Technologies Inc | Method and system for providing dc power on local telephone lines |
-
2016
- 2016-08-04 US US15/227,998 patent/US9886220B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966504A (en) * | 1996-03-24 | 1999-10-12 | Scitex Corporation Ltd. | Apparatus and method for printing |
US20090248998A1 (en) * | 2008-03-25 | 2009-10-01 | Fuji Xerox Co., Ltd | Storage system, control unit, image forming apparatus, image forming method, and computer readable medium |
US8064084B2 (en) * | 2008-04-02 | 2011-11-22 | Eastman Kodak Company | Distributed processing of print jobs |
US20130335763A1 (en) * | 2012-06-18 | 2013-12-19 | Brother Kogyo Kabushiki Kaisha | Control device |
US20160088189A1 (en) * | 2014-09-18 | 2016-03-24 | Konica Minolta, Inc. | Image processing apparatus and image processing method for the same |
Also Published As
Publication number | Publication date |
---|---|
US9886220B1 (en) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8154766B2 (en) | Image processing device, image forming system, image forming method and computer readable medium storing program | |
US7911636B2 (en) | Multi-head press data delivery rate control | |
US8867065B2 (en) | Page parallel RIP printing methods and systems | |
US8064084B2 (en) | Distributed processing of print jobs | |
US6480866B2 (en) | Method and apparatus to facilitate creation of documents from individual pages | |
US8780373B2 (en) | Serial raster image processors used for error correction in a parallel raster image processor environment | |
US20080285074A1 (en) | Systems, devices, and methods for variable data printing | |
US8810847B2 (en) | Information processing apparatus, information processing method, and storage medium storing program thereof | |
US20110317208A1 (en) | Printing apparatus and control method thereof | |
US20090086254A1 (en) | Systems and Methods for Dynamic Printer Configuration | |
US9886220B1 (en) | Stored image data failure correction | |
US8397162B2 (en) | Method, printing system and computer program for generating and processing document data streams | |
JP2010534151A (en) | Job start control for job queuing | |
US8035836B2 (en) | Fast job halt in a high speed press | |
US20160196093A1 (en) | Processing print jobs in reverse order | |
JP5693841B2 (en) | Program, printing control method, and printing system | |
JP2014022872A (en) | Printed matter inspection apparatus, data processing method and data processing program in printed matter inspection apparatus | |
US8860994B2 (en) | Electronic replacement of pre-printed forms | |
US11704077B2 (en) | Rasterized print job compression | |
US8339659B2 (en) | Partitioning of sheetside bitmaps for transfer from a print controller to printhead controllers | |
US10789030B2 (en) | Document pooling mechanism | |
US20100103452A1 (en) | Method and apparatus for creating page description language data for parallel processing | |
US10248371B1 (en) | Print job order optimization mechanism | |
US20150331651A1 (en) | Reduction of the data volume of print resources | |
US20160247048A1 (en) | Print job re-preflight mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: EASTMAN KODAK COMPANY, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DELLERT, DAVID W.;BRENT, DAVID R.;SIGNING DATES FROM 20160729 TO 20160804;REEL/FRAME:039338/0899 |
|
AS | Assignment |
Owner name: BANK OF AMERICA N.A. AS AGENT, MASSACHUSETTS Free format text: SECURITY INTEREST;ASSIGNORS:EASTMAN KODAK COMPANY;FAR EAST DEVELOPMENT LTD.;FPC INC.;AND OTHERS;REEL/FRAME:039447/0815 Effective date: 20160809 Owner name: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT, NEW YO Free format text: SECURITY INTEREST;ASSIGNORS:EASTMAN KODAK COMPANY;FAR EAST DEVELOPMENT;FPC INC.;AND OTHERS;REEL/FRAME:039451/0011 Effective date: 20160809 Owner name: JP MORGAN CHASE BANK, N.A., DELAWARE Free format text: SECURITY INTEREST;ASSIGNORS:EASTMAN KODAK COMPANY;FAR EAST DEVELOPMENT;FPC INC.;AND OTHERS;REEL/FRAME:039449/0901 Effective date: 20160809 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: PAKON, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: FPC, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: KODAK PORTUGUESA LIMITED, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: KODAK IMAGING NETWORK, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: KODAK AMERICAS, LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: KODAK PHILIPPINES, LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: EASTMAN KODAK COMPANY, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: NPEC, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: FAR EAST DEVELOPMENT LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: LASER PACIFIC MEDIA CORPORATION, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: QUALEX, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: CREO MANUFACTURING AMERICA LLC, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: KODAK AVIATION LEASING LLC, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: KODAK REALTY, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 Owner name: KODAK (NEAR EAST), INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:050239/0001 Effective date: 20190617 |
|
AS | Assignment |
Owner name: KODAK PHILIPPINES, LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: KODAK AMERICAS, LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: KODAK (NEAR EAST), INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: KODAK REALTY, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: PAKON, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: CREO MANUFACTURING AMERICA LLC, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: EASTMAN KODAK COMPANY, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: LASER PACIFIC MEDIA CORPORATION, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: NPEC, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: KODAK AVIATION LEASING LLC, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: PFC, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: KODAK PORTUGUESA LIMITED, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: FAR EAST DEVELOPMENT LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: QUALEX, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 Owner name: KODAK IMAGING NETWORK, INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JP MORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:049901/0001 Effective date: 20190617 |
|
AS | Assignment |
Owner name: FPC INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: KODAK AMERICAS LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: KODAK PHILIPPINES LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: KODAK REALTY INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: KODAK (NEAR EAST) INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: LASER PACIFIC MEDIA CORPORATION, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: NPEC INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: EASTMAN KODAK COMPANY, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: FAR EAST DEVELOPMENT LTD., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 Owner name: QUALEX INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:052773/0001 Effective date: 20170202 |
|
AS | Assignment |
Owner name: ALTER DOMUS (US) LLC, ILLINOIS Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNOR:EASTMAN KODAK COMPANY;REEL/FRAME:056733/0681 Effective date: 20210226 Owner name: ALTER DOMUS (US) LLC, ILLINOIS Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNOR:EASTMAN KODAK COMPANY;REEL/FRAME:056734/0001 Effective date: 20210226 Owner name: ALTER DOMUS (US) LLC, ILLINOIS Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNOR:EASTMAN KODAK COMPANY;REEL/FRAME:056734/0233 Effective date: 20210226 Owner name: BANK OF AMERICA, N.A., AS AGENT, MASSACHUSETTS Free format text: NOTICE OF SECURITY INTERESTS;ASSIGNOR:EASTMAN KODAK COMPANY;REEL/FRAME:056984/0001 Effective date: 20210226 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |