`
`Commands for Managing and Replying to E-mails
`
`Cross-References to Related Applications
`
`[0001]
`
`This application is a continuation of U.S. Patent Application Serial No.
`
`12/903,048 filed October 12, 2010, which is a continuation of U.S. Patent Application
`
`Serial No. 10/016,223 filed November 1, 2001, and which claims benefit of U.S.
`
`Provisional Patent Application Serial No. 60/245, 101 filed November 1, 2000. The
`
`complete disclosures of the above applications are hereby incorporated by reference
`
`herein for all purposes.
`
`Technical Field of invention
`
`[0002]
`
`Present invention relates to device synchronization and digital output and, in
`
`particular, to providing pervasive output for information apparatuses.
`Summary of the Invention
`
`[0003]
`
`An Information apparatus refers to both stationary computers and mobile
`
`computing devices (pervasive devices). Examples of information apparatuses include
`
`without
`
`limitation desktop computers,
`
`laptop computers, palmtop
`
`(hand-held)
`
`computers, personal digital assistants (PDAs), Internet-enabled cellular phones, smart
`
`phones, pagers, Internet appliances, e-books, digital pads, Web pads, and digital
`
`capturing devices (e.g., digital cameras and video cameras). An output device 140 may
`
`include a fax machine, printer, copier, image or video display device, projector, and an
`
`audio output device.
`
`[0004]
`
`For simplicity and convenience, hereafter, the following description may refer
`
`to an output device as a printer and an output process as printing. However, it should
`
`be understood that the term printer and printing is used as a specific example to simplify
`
`description or may be one exemplary embodiment. The reference to printing used here
`
`is intended to be applied or extended to the larger scope and definition of output
`
`devices and should not be construed as restricting the scope and practice of present
`
`invention.
`
`[0005]
`
`Fueled by ever-increasing bandwidth and processing power and ever(cid:173)
`
`increasing numbers of wireless mobile devices and available software applications for
`
`1
`
`ROKU EXH. 1009
`
`
`
`pervasive devices, millions of users are or will be creating, downloading, and
`
`transmitting content and
`
`information using
`
`their pervasive computing devices.
`
`Unfortunately, the small display screen of a pervasive device may not provide a good
`
`viewing experience. As a result, there is a need to allow users to easily output content
`
`and information from their pervasive computing devices to any output device. People
`
`need to output directly and conveniently from their pervasive information apparatus,
`
`without depending on synchronizing with a stationary computer (e.g., desktop personal
`
`computer) for printing, as an example.
`[0006]
`
`To illustrate, an information worker at an airport receiving e-mail in his hand(cid:173)
`
`held computer may want to walk up to a nearby printer or fax machine to have his e(cid:173)
`
`mail printed.
`
`In addition, the mobile worker may also want to print a copy of his to-do
`
`list, appointment book, business card, and his flight schedule from his mobile device.
`
`As another example, a traveler stopping at a convenience store, gas station, or kiosks
`
`may want to print out a copy of the map he just downloaded from the Internet using his
`
`Internet enable wireless phone (information apparatus).
`
`In still another example, an
`
`individual who just finished a stock trade or performed an e-commerce transaction using
`
`his PDA (information apparatus) may want to print out a copy of his transaction
`
`confirmation, invoice or receipt. In yet another example, a user who takes a picture with
`
`a digital camera may want to easily print it out to a nearby printer.
`[0007] Conventionally, an output device (e.g., a printer)
`
`is connected
`
`to an
`
`information apparatus via a wired connection such as a cable line. A wireless
`
`connection is also possible by using, for example, radio communication or infrared
`
`communication. Regardless of whether the connection is wired or wireless, a user must
`
`first install in the information apparatus a printer driver corresponding to a particular
`
`printer model and make. Using a device-dependent or specific driver, the information
`
`apparatus may process output content or a digital document into the printer input space.
`
`The printer input space corresponds to the type of input that a printer understands
`
`(herein referred to as print data). For example, the printer input space or print data may
`
`include a printer-specific input format (e.g., image, graphics, file, data format), encoding,
`
`page description language, markup language, instructions, protocols or data that can be
`
`understood or used by a particular printer make and model.
`
`2
`
`ROKU EXH. 1009
`
`
`
`[0008]
`
`Print data may be proprietary or a published standard or a combination of the
`
`two. A printer input space or print data is therefore, in general, device dependent.
`
`Different printer models may specify their own input, designed or adopted for optimal
`
`operation by the printer manufacturer according to a specification. Consequently,
`
`different printers usually require use of specific printer drivers for accurate printing. A
`
`device driver (printer driver in this example) may control, manage, communicate, and
`
`output print data to a printer. Sometimes, instead of using a printer or device driver, the
`
`device driving feature may be included as part of an application software. The
`
`application in this example may process the document and communicate directly with
`
`an output device without utilizing a device driver. Print data is an output data sent to a
`
`printer. However, the term print data used here is intended to be applied or extended to
`
`the larger scope and definition of output data which applies to any output devices
`
`including display, projection and audio devices, and this should not be construed as
`
`restricting the scope and practice of present invention.
`[0009]
`
`Installation of a printer driver or application may be accomplished by, for
`
`example, manual installation using a CD or floppy disk supplied by the printer
`
`manufacturer. Or alternatively, a user may be able to download that particular driver or
`
`application from a network. For a home or office user, this installation process may take
`
`anywhere from several minutes to several hours depending on the type of driver and
`
`user's sophistication level with computing devices and networks. Even with plug-and(cid:173)
`
`play driver installation, the user is still required to execute a multi-step process for each
`
`printer. This installation and configuration process adds a degree of complexity and
`
`work to end-users who may otherwise spend their time doing other productive or
`
`enjoyable work. Moreover, many unsophisticated users may be discouraged from
`
`adding new peripherals (e.g., printers, scanners, etc.) to their home computers or
`
`networks to avoid the inconvenience of installation and configuration. Therefore, there
`
`is a need to provide a way for a user to more conveniently or easily output digital
`
`content to an output device without the inconvenience of manually finding and installing
`
`new device drivers or printer drivers. Installation of printer drivers, if needed, should be
`
`more automatic and transparent to end-users.
`
`3
`
`ROKU EXH. 1009
`
`
`
`[0010]
`
`In addition, conventional printing methods may pose significantly higher
`
`challenges and difficulties for mobile device users than for home and office computer
`
`users. The requirement for pre-installation of a device-dependent driver is in conflict
`
`with the concept of mobile (pervasive) computing and output. For example, a mobile
`
`user may want to print e-mail, PowerPoint® presentation documents, web pages, or
`
`other documents in an airplane or at an airport, gas station, convenience store, kiosk,
`
`hotel, conference room, office, home, etc. It is highly unlikely that the user would find at
`
`any of these locations a printer of the same make and model as is at the user's base
`
`station. Therefore, the user may have to install and configure a printer driver each time
`
`at each of these locations before printing. Alternatively, it is also not a viable option
`
`usually to pre-install all of the possible hundreds, or even thousands, of printer drivers
`
`available to the user's information apparatus. A mobile information device usually has
`
`limited memory and storage capacity. As a consequence, the user would currently be
`
`required to install and configure a printer driver each time at each such different location
`
`before printing. Moreover, the user may not want to be bothered with looking for a
`
`driver or downloading it and installing it just to print out one page of email at the airport.
`
`This is certainly an undesirable and discouraging process to promote pervasive or
`
`mobile computing. Therefore, a more convenient or automated printing solution is
`
`needed so that a user can simply walk up to a printer and easily print a digital document
`
`without having to install or pre-install a particular printer driver.
`[0011]
`
`Network printing may partially solve the above problem in a local area
`
`network (LAN). Network printing was first motivated to allow people to share printing
`
`resources within a network. Printers are often connected to the network using a
`
`network adapter or network card. Print servers may be used to manage print jobs (such
`
`as spooling). Different clients may send print jobs to the print server for queuing,
`
`prioritizing and managing. The driver of each networked printer may be stored in the
`
`network (for example, in an application server) and available for clients to download.
`[0012]
`
`The above configuration is often used in a local area network (LAN) such as
`
`in an office building. An office worker with a mobile or static computing device
`
`connected to this network may be able to send a print job to any printer that is
`
`connected to the same network. He either has the necessary printer drivers pre-
`
`4
`
`ROKU EXH. 1009
`
`
`
`installed in his device or he can download a driver from the LAN before printing to a
`
`particular printer. But once outside of the office building, or meaning outside of his
`
`wired or wireless network coverage, the office worker can no longer print to any printer
`
`he or she desires.
`[0013]
`
`In one instance, it has been argued that the idea of local network printing can
`
`be further extended to the Internet as the larger and public network.
`
`In an ideal
`
`situation, every printer and every computing device (information apparatus)
`
`is
`
`connected to the same network, for example the Internet. But in reality, extending
`
`network printing to a big super-network or the Internet is still unavailable.
`[0014]
`
`Nevertheless, one drawback of network printing may be higher cost. To
`
`connect the output devices and information apparatus to the same network, additional
`
`hardware or software may need to be installed. And therefore, the costs of output
`
`devices may be raised substantially.
`
`In addition to hardware and software costs there
`
`are also service charges to maintain the connectivity to a large network such as the
`
`Internet. Furthermore, a large permanent network infrastructure would need to be built
`
`and made available to each location.
`[0015]
`
`In addition to costs, another drawback of network printing is reliability.
`
`Network printing requires perfect function in any part of the chain of network hardware,
`
`software and services.
`
`If any component of the link is down or not fully functional, for
`
`any reason, printing service may be unavailable, interrupted or result in inaccuracies.
`[0016]
`
`Finally, another drawback of network printing is the issue of security. A user
`
`does not feel secure if confidential documents or information must pass through the
`
`entire network before reaching the printer immediately in front of him or her. There may
`
`be the fear that the confidential document could be intercepted, viewed, copied or
`
`stored within any segment of the connected network. There can also be the fear that
`
`the document could actually be printed to a different printer instead of the intended one.
`
`This problem may be caused by, for example, errors in directory service software, a
`
`software component that is not up-to-date or corrupted, inconsistent or incompatible
`
`software and/or hardware versions, or any combination of human, software, network, or
`
`hardware errors. There is also risk when downloading a software component (e.g.,
`
`printer driver) from the network to an information apparatus. This software component
`
`5
`
`ROKU EXH. 1009
`
`
`
`maybe damaged, corrupted or carrying a malicious attack or virus or otherwise modified
`
`by hackers. A damaged software component can disrupt or corrupt the user's
`
`information apparatus. Finally, some internal corporate or local networks may reject
`
`unknown documents trying to reach their printers and other output devices protected
`
`within a firewall. It is therefore more desirable if the communication and exchange of
`
`information are done locally between users' information apparatus and the selected
`
`output device, all within the range of the users watchful, and inspecting eyes.
`[0017]
`
`Accordingly, the present invention provides a convenient method of digital
`
`printing in which a user need not pre-install a device-dependent printer driver on an
`
`information apparatus in order to print.
`[0018]
`
`This invention can provide an easy, friendly and convenient process for
`
`printing. Unlike conventional printing, a user need not manually install a printer driver
`
`from a CD, floppy disk, or download it somewhere from an existing static network. With
`
`the apparatus and process of present invention, all the software components, data, or
`
`printer drivers can be loaded to the information apparatus through easy and automatic
`
`synchronization process between the information apparatus and a printer having an
`
`output controller of present invention. As a result, a mobile user with an information
`
`apparatus equipped with an output manager of present invention can print pervasively
`
`virtually at any time, anywhere, to any printer.
`[0019]
`
`Furthermore, this invention can provide a convenient method allowing users
`
`to print to any printer with or without connection to a static permanent network for both
`
`the information apparatus and the output device. Through local communication and
`
`synchronization directly between the information apparatus and the output device,
`
`hardware and software installation for static network connectivity may not be necessary.
`
`Therefore printing costs may be reduced.
`[0020]
`
`In addition, this invention can provide a more reliable printing method than
`
`conventional remote network printing methods or processes. By communicating locally
`
`between an information apparatus and an output device, the printing process does not
`
`depend on the perfect function of each element of a network chain. This chain may
`
`include, for example, network connections, network servers, application servers, service
`
`providers and application providers. Therefore, the chance of a successful printing
`
`6
`
`ROKU EXH. 1009
`
`
`
`under present invention is greatly enhanced as processing and communication involves
`
`fewer elements.
`[0021]
`
`This invention can further provide a more secure printing process than
`
`conventional network printing processes and methods. Uploading or downloading data
`
`or software components such as a printer driver from an output device immediately in
`
`front of user provides a more secure feeling than dealing with components from a
`
`remote location in the network. Components stored in a large network may be
`
`perceived to have more exposure to tampering (e.g., contaminated with a virus). An
`
`erroneous module or component in the network caused by a human or software or
`
`hardware error may also disrupt the function of the information apparatus. Furthermore,
`
`sending a confidential digital document or print data directly to the printer in front of user
`
`provides a more secure feeling than if the document is routed through a large network
`
`with a plurality of users and servers. There are greater possibilities of the document
`
`being intercepted, viewed, copied, stored or finally printed on a wrong printer in
`
`conventional network printing.
`
`[0022]
`
`In accordance with present invention, an electronic system and method of
`
`pervasive output allow an information apparatus to output digital content conveniently to
`
`virtually any output device. The information apparatus may be equipped with a central
`
`processing unit, input/output control unit, storage unit, memory unit, and wired or
`
`wireless communication unit or adapters. The information apparatus preferably also
`
`includes output manager that may be implemented as application software, a client
`
`application, or device driver (printer driver in case of printer). The output manager may
`
`include management and control capabilities with hardware and software components
`
`including for example one or more communication chipsets residing
`
`in
`
`its host
`
`information apparatus.
`[0023]
`
`The output manager in
`
`the information apparatus may be capable of
`
`communicating with, managing and synchronizing data or software components with an
`
`output device equipped with an output controller of present invention. Examples of
`
`output devices include, without limitation, printers, fax machines, copiers, image or
`
`video display devices, monitors, display screens, projectors, and audio output devices.
`
`7
`
`ROKU EXH. 1009
`
`
`
`[0024]
`
`The output controller may be a circuit board, card or software components
`
`residing in an output device. Alternatively, the output controller may be connected
`
`externally to an output device as an external component or "box." The output controller
`
`may be implemented with one or a combination of embedded processor, software,
`
`firmware, ASIC, DSP, FPGA, system on a chip, special chipsets, among others.
`
`In
`
`another embodiment, the functionality of the output controller may be provided by
`
`application software running on a PC, workstation or server connected externally to an
`
`output device.
`[0025]
`
`The output controller may include a processing unit, memory/storage unit and
`
`communication adapter unit, among others. The storage or memory unit of the output
`
`controller may store device drivers, software components or objects encapsulating
`
`device dependent data, algorithms, and code. Device dependent data may be, for
`
`example, parameters and information about the output device and output controller.
`
`Software components and objects may encapsulate for example code or executables of
`
`algorithms necessary for converting or encoding an image or document description or
`
`language into print data or output data compatible with a specific output device. The
`
`output manager may manage the process of uploading data and or software
`
`components from an output controller to an information apparatus in order to, for
`
`example, enable the information apparatus to generate and transmit print data or output
`
`data accurately to the output device or the output controller.
`[0026] Output data (or print data in the case where the output device is a printer)
`
`may be specific data, instructions, page description language, markup language,
`
`graphics and or image file format among others. Print data may also be encoded or
`
`compressed with one or more compression or encoding techniques. Furthermore, print
`
`data may use one or more open standards or one or more proprietary techniques and
`
`formats, or a combination. Output data (or print data for printers) refers to the electronic
`
`data sent from an information apparatus to the output device.
`[0027] One implementation of a digital content output process of this invention
`
`includes the following steps.
`
`1.
`
`2.
`
`A user requests to print a digital content from his/her information apparatus.
`
`The information apparatus detects available output devices by a discovery
`
`8
`
`ROKU EXH. 1009
`
`
`
`process.
`
`3.
`
`The
`
`information apparatus exchanges service
`
`information with output
`
`controllers associated with the available output devices in a service negotiation process.
`
`The user may then select one or more output devices based on the service information
`
`provided.
`
`4.
`
`The information apparatus communicates with output controller to identify and
`
`upload the necessary components to enable output to a specific output device as part of
`
`a synchronization process. The uploaded components or data may then be installed or
`
`configured in the information apparatus.
`
`5.
`
`The digital content intended for output is processed by one or more
`
`components to be compatible with the output device. The one or more components
`
`include the information apparatus with an output manager, an output controller and the
`
`output device.
`
`6.
`
`The printer engine or display engine or audio engine generates final output.
`
`[0028]
`
`In the output process of present invention, an output manager residing in the
`
`information apparatus may participate in, coordinate and manage the communication
`
`and exchange of information/components between its host information apparatus and
`
`output controllers.
`
`Brief Description of the Drawings
`
`[0029]
`
`Fig. 1 is a block diagram of an output system that can implement the process
`
`and apparatus of the present invention.
`
`[0030]
`
`Figs. 2A and 2B are block diagrams illustrating exemplary configurations of
`
`hardware components of wireless communication units.
`
`[0031]
`
`Fig. 3A-3C illustrates various configurations and implementations of output
`
`manager with respect to an information apparatus.
`
`[0032]
`
`Figs. 4A-4F illustrate various configurations and implementations of output
`
`controller with respect to a printer or output device.
`
`[0033]
`
`Fig.5 is a flow diagram of a pervasive output process of the present invention.
`
`[0034]
`
`Fig. 6 is a flow diagram of an exemplary implementation of service negotiation
`
`process optionally included in the output process of Fig. 5.
`
`9
`
`ROKU EXH. 1009
`
`
`
`[0035]
`
`Fig. 7 is a flow diagram of different possible configuration of print job process
`
`included in the output process of Fig. 5.
`
`[0036]
`
`Figs. 8A-8G show a series of graphical user interfaces (GUls) rendered at
`
`different times on a display screen of an information apparatus.
`
`[0037]
`
`Fig. 9A-9B is a block diagram of a conventional printing system or printer.
`
`Detailed Description of Preferred Embodiments
`
`[0038]
`
`FIG 1 is a block diagram illustrating exemplary components of an electronic
`
`communication system that may provide an operating environment for the present
`
`invention and includes an information apparatus 100, which is a computing device with
`
`processing capability. As illustrated in Fig. 1, examples of information apparatus 100
`
`may include, but are not limited to, a desktop personal computer (PC), laptop computer,
`
`palmtop computer, handheld or mobile device, personal digital assistant (PDA), smart
`
`phone, screen phone, set-top box, e-book, Internet pad, digital camera,
`
`Internet
`
`appliance, pager, etc.
`
`[0039]
`
`Information apparatus 100 may contain components (not shown) such as a
`
`processing unit, a memory unit, a storage unit and an input/output control unit, as are
`
`known in the art. Information apparatus 100 may also contain an interface (not shown)
`
`for interactions with users. The interface may be implemented in software or hardware
`
`or a combination. Examples of such an interface include, without limitation, a mouse, a
`
`keyboard, a touch-sensitive or non-touch-sensitive screen, one or more push buttons,
`
`soft keys, a stylus, a speaker, a microphone, etc.
`
`[0040]
`
`An information apparatus 100 may be a dedicated single task device (e.g.
`
`email terminal, web terminal, e-book, etc) or a general-purpose computing device with
`
`multiple features and functions.
`
`These multiple functions and features may be
`
`implemented by one or more software applications (e.g., applications 302, Fig. 3)
`
`installed in the information apparatus100, which may or may not include an operating
`
`system. A digital camera 112 equipped with processing capability and feature sets of
`
`the present invention is also an example of an information apparatus 100.
`
`[0041]
`
`Some information apparatuses 100 (e.g., dedicated devices) may be pre(cid:173)
`
`configured by manufacturers with fixed functionalities and features. Other information
`
`10
`
`ROKU EXH. 1009
`
`
`
`apparatuses 100 may allow users to install additional hardware components and
`
`application software (e.g., applications 302, Fig. 3) to expand or change functionality.
`
`Examples of functionalities and applications of information apparatuses 100 may
`
`include, for example, e-mail, messaging, voice communication, web browsing, image
`
`acquisition, text processing, graphics applications, document or image editing, and
`
`output functionalities, among others.
`[0042]
`
`Functionalities and feature sets of an information apparatus 100 may be
`
`implemented in software or hardware or a combination of both. When features are
`
`implemented in software, this software may be installed by the manufacturer or by
`
`users. Application software may be implemented using embedded software running on
`
`embedded processors or it may run on a specific operating system. Some or all or
`
`combinations of applications and feature sets may also be implemented in hardware or
`
`in silicon. Some functionality or feature sets may be implemented in special chip sets
`
`and may include one or more or combinations of, for example, application-specific
`
`integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal
`
`processors (DSPs), systems on a chip, firmwares, etc.
`[0043]
`
`Information apparatus 100 may or may not contain an operating system.
`
`In
`
`an implementation having an operating system, the operating system may provide a
`
`variety of application programming interfaces (APls) or object models (e.g., APls 300,
`
`Fig. 3) for software applications to interface and communicate with device drivers.
`
`Device drivers in an information apparatus 100 control and communicate with peripheral
`
`devices such as printers, copiers, fax machines, display monitors, screens, etc. Several
`
`different applications can share a common device driver through the use of APls or
`
`interfaces or object models provided by an operating system, as described below with
`
`reference to Fig. 3A.
`
`In implementations having no operating system or an operating
`
`system that does not support or provide a device driver API, each application may have
`
`to implement its own device driver or its own output and communication capability, as
`
`described below with reference to Figs. 3B and 3C. For example, to output a digital
`
`document to a printer, each application may have to implement its own printer-specific
`
`driving, processing and/or communication capability.
`
`11
`
`ROKU EXH. 1009
`
`
`
`[0044]
`
`In one
`
`implementation,
`
`information apparatus 100
`
`includes an output
`
`manager 308 (Figs. 3A-3C), which is typically implemented in software. Output
`
`manager 308 may be implemented or included in a client application, or as a stand(cid:173)
`
`alone application, or as part of another application software 302B (Fig. 3B), or in the
`
`form of a device driver (e.g., a printer driver, in case of a printer being the output
`
`device), which may be invoked, shared and used by one or more application software
`
`programs 302 (Figs. 3A-3C).
`[0045] One
`
`task
`
`for output manager 308
`
`is
`
`to manage and coordinate
`
`communication between information apparatus 100 and one or more output controllers
`
`120. Output manager 308 may, for example, implement an open-standard or a
`
`proprietary communication protocol to directly or indirectly interact with, manage, or
`
`utilize functionalities provided by hardware components residing in a host information
`
`apparatus 100. Such hardware components may include, for example, a processing
`
`unit, a memory unit and communication chipsets (not shown). Output manager 308
`
`may include one or more of the following features and functionalities:
`
`•
`
`Output manager 308 may communicate and interact with one or more
`
`software applications 302 included in a host information apparatus100 to provide
`
`pervasive output capability or feature to those software applications 302. The type of
`
`information passed from the software applications 302 to the output manager 308 may
`
`be, for example, a digital document or digital content data that needs output.
`
`In some
`
`instances, application software 302 may invoke or launch the output manager 308 as a
`
`separate application (as shown in Fig. 3C) or as an integrated part of the application
`
`software (as shown in Fig. 3B). Examples of possible communication and management
`
`between output manager 308 and application software 302 may include, among others,
`
`messages, objects models, instances, procedural calls, program invocation and APls,
`
`which may or may not be provided by an operating system.
`
`•
`
`Output manager 308 may manage and maintain wired or wireless
`
`communications with output controller 120. Output manager 308 may interact with
`
`functionalities implemented by hardware components of its host information apparatus
`
`100. As an example, the output manager 308 may manage and interact with the
`
`communication unit in the information apparatus 100. Figs. 2A and 2B show an
`
`12
`
`ROKU EXH. 1009
`
`
`
`example of communication units using wireless adapters, as described below in greater
`
`detail. A user may interact with the output manager 308 through a user interface
`
`provided by output manager 308 through the host information apparatus 100.
`
`•
`
`Output manager 308 may help discover available output devices 140, verify
`
`communication connections, identify devices available or compatible for service, or
`
`send or broadcast service requests to one or more devices.
`
`•
`
`Output manager 308 may communicate with output controller 120 to identify
`
`necessary software components, data, or any other device dependent information or
`
`parameters, if any, that need to be uploaded from the output controller 120 to the host
`
`information apparatus 100 to enable pervasive output. Software components may be,
`
`for example, a device driver, an application, a special code or algorithm, an executable
`
`object or device dependent data, parameter, information, etc.
`
`•
`
`Output manager 308 may coordinate with output controller 120 to upload the
`
`necessary components or data from the output controller 120 to its host information
`
`apparatus 100 so that the user can output digital content pervasively to that output
`
`controller 120 or its associated output device 140.
`
`•
`
`Output manager 308 may perform raster image processing operations (e.g.
`
`rasterization, color management, half-toning operations) or convert digital content from
`
`its original format into print data compatible for input to a specific output controller 120
`
`or output device 140. The digital content may be created, stored or received by the
`
`information apparatus 100. For example, an output manager 308 may convert digital
`
`document information from a certain format or language into a specific print data or
`
`intermediate format or language such as Postscript, PCL, EMF, XML, TIFF, JPEG,
`
`RTL, among others, for output.
`
`•
`
`Output manager 308 may coordinate or manage the communication between
`
`a host information apparatus 100 and output controller 120 to send or transmit the print
`
`data to the output controller 120.
`[0046] Output controller 120
`[0047]
`
`An output controller 120 may be implemented as software or hardware and
`
`may be connected to or integrated within an output device 140. Output controllers 120H
`
`illustrate hardware implementations in the form of a circuit board or card that is installed
`
`13
`
`ROKU EXH. 1009
`
`
`
`or integrated into an output device 140, such as a printer, copiers, fax machine, display
`
`screen among others.
`
`In another configuration (not shown), output controller 120 may
`
`be implemented as a software application or component that is installed or integrated
`
`into an output device 140. Output controller 120G illustrates a hardware implementation
`
`in the form of an external component or "box" that is separately connected to one or
`
`more output devices 140.
`[0048] Whether externally connected to or interna