Title of Invention

A METHOD OF ADVERTISEMENT AND DETECTION OF PRINTER DRIVERS AS A NETWORK SERVICE

Abstract An ingestible composition to prolong the useful life of an enteral feeding tube and a system of an enteral feeding tube and the composition is provided. The complete enteral feeding solution contains an edible antimicrobial agent which is 0.05% to 1.0% by weight alkyl paraben, the alkyl group having 1- 10 carbon atoms. Methyl, ethyl, or propyl paraben are particularly preferred
Full Text

FIELD OF TECHNOLOGY
This invention, in general, relates to printing and in particular to the advertisement and detection of printer drivers on a network-connected computer. More particularly this invention deals with the advertisement & detection of printer drivers as a network service. This invention can be equally applied to drivers for network and non-network print-devices.
DESCRIPTION OF RELATED ART
The most common method used for installation of printer driver software onto a computer is by using the driver's installation disc provided by the print-device manufacturer. Typically, there are two methods of installation of a driver from an installation disc. In the first method, the user runs the driver installation program present on the disc. This program typically lists the drivers available on the disc and the user needs to select the driver that he wishes to install. Following this, the installation program installs the driver on the computer. The disadvantage of this method is that, every user who installs this software needs to be furnished with the driver installation disc. Alternatively, an image of the disc has to be created as a shared network resource. In the second method, the user needs to point to the appropriate driver information file, present on the driver installation disc. This method is used in Microsoft "Windows™" operating system. The "Add Printer" wizard is used to point to a inf file which is used by the wizard to install the driver referred to by the .inf file. Apart from the drawback mentioned above, experience has shown that many users do not understand the installation process and require assistance to correct errors that are made during the installation process.
Another prior art method for installation of such software on a network-connected computer is the technique used by Microsoft "Point-and-Print" procedure. This method is sometimes known as a "Network Install". Once the driver is installed on a server (using above-mentioned method 1 or 2), computers can install the driver by simply dragging the printer icon into their "Printers" folder, or by doing

an "Add Printer/Network Printer" installation, or by dragging a document onto the printer icon, if an appropriate driver does not already exist on the client PC, one is copied from the server. The disadvantage of this method is that the user requires prior knowledge of the shared printer and the drivers associated with it. This information cannot be acquired at the time of installation; it needs to be obtained manually from the administrator.
One further method requires that client software search for appropriate drivers on some pre-configured internet web-site. On locating the driver file(s), the program downloads them to the computer and installs them. The disadvantage of this method is that the computer needs to be connected to the internet for the installation and the installation process depends on the bandwidth available and quality of the internet connection.
Another prior art method for installation of such software on a network-connected computer is by hosting driver files on a server and the URL of the server is programmed into the imaging device firmware. User accesses the imaging device to obtain the URL and then downloads the driver files from the server. Disadvantage of this method is that the device firmware needs to be pre¬programmed for this URL information.
OBJECTS OF THE INVENTION
The primary object of the invention is to provide a method for advertisement and detection of printer drivers as a service on the network.
It is another object of this invention to provide a method for enabling a computer to search the client network (LAN) and detect previously installed drivers on other client/server processors and to leverage the same.
It is a further object of the invention to invent a method for installation of printer drivers in a network connected computer where the limitations of the prior art are overcome.

SUMMARY OF THE INVENTION
This invention proposes a method for advertisement and detection of printer drivers as network service. The present invention is based on client-server architecture and employs any implementation of a network service/resource discovery protocol.
This protocol may be standard (for e.g. Service Location Protocol by IETF, Jini by Sun Microsystems, UPnP - Universal Plug and Play by Microsoft Corp.), proprietary or awaiting standardization.
Enabling a computer to employ a print-device is often a complex task. In order to install a print-device, a user needs to configure a print queue which, in the least, requires creation of a communication port and installation of drivers.
Printing documents or images using a computer is typically accomplished with the assistance of software components called printer drivers. Pnnter drivers are computer programs that essentially perform the following tasks.
• Rendering the print jobs by invoking print-device & hardware specific commands
• Dispatch of the rendered image to the print spooler program
METHOD FOR DETECTION OF PRINTER DRIVERS IN THE NETWORK
This invention provides two methods for detection of printer drivers in the network. Both methods consider the printer driver information as a network service.
Bv Advertisement
Server programs running on network-connected computers advertise drivers

installed on that computer and Client or user programs, running on the same network listen to this advertisement The advertisement contains, information such as the location of the server program, the list of printer drivers available and details required for its installation.
Detection bv advertisement
1. The server program periodically learns the details of all installed printer-drivers on the computers in the same network and advertises these details on the network. These advertisements are sent out periodically (using a configurable update timer) and/or when any detail in the earlier advertisements has changed.
2. A client program receives this advertisement and caches these details. It refreshes this cache, each time a new advertisement is received.
3. When the user wants to install a print-device on a specific client computer, the information in this cache is used to build a list of printer driver names, each name in the list corresponding to one unique entry of printer driver present in the cache.
4. This list, which is in a readable form, is then displayed to the user.
5. The user selects the printer driver to be installed, from the list,
6. The printer driver files for this installation are then fetched from the location (this information being present in the cache) and installed on the client computer.
Bv Request
Client or User Programs running on network-connected computers send out requests for printer drivers and Server programs, also running on network-connected computers, respond to these requests. The response contains the location of the server program and the list of printer drivers available.
Detection bv Request

1. When the user wants to install a printer driver on the client computer, he is given the option of searching the network for printer drivers. He has the option of searching all possible printer drivers or a specific printer driver.
2. When the user selects this option, the client program sends out a request for printer drivers on the network.
3. All server programs receive this request and respond with details of the requested (ALL or specific) printer drivers.
4. The response form the server programs contains information about the location of the server computer and the details of the printer drivers requested (ALL drivers or specific driver(s)).
5. The client program receives this response and uses it to build a list of printer driver names, each name in the list corresponding to one unique entry of printer driver present in the response.
6. This list, which is in a readable form, is then displayed to the user,
7. The user selects the printer driver to be installed, from the list.
8. The printer driver files for this installation are then fetched from the location (this information being present in the response) and installed on the client computer.
A method of advertisement and detection of printer drivers comprising the steps of:
a) learning the printer driver details by the server program from the network;
b) advertising printer driver details on the network by the server program;
c) receiving the advertisement by the client computer;
d) updating the cache memory of the client computer;
e) building the list of printer driver details by the client program;
f) displaying the information of the driver details in the client computer; and
g) installation of the printer driver from the actual location.
Accordingly this invention further relates to a method of advertisement and detection of printer drivers comprising further steps of requesting for print drivers on the network by the client program, searching all possible printer drivers or a

specific printer driver on the network by the client computer, receiving the request by the server program, responding for the request by the server program, receiving the response by the client program, building the list of printer driver details by the client program, displaying the information of the driver details in the client computer and further installation of the printer driver from the actual location.
The other objects, features and advantages of the present invention will be apparent from the accompanying drawings and the detailed description as follows:
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
Figure 1 is the block diagram of the present invention where driver details are
detected by server advertisement.
Figure 2 is the block diagram of the present invention where driver details are
detected by client request.
Figure 3 is the flow chart of the present invention where driver details are
detected by server advertisement.
Figure 4 is the flow chart of the present invention where driver details are
detected by client request.
DETAILED DESCRIPTION OF THE INVENTION
The preferred embodiments of the present invention will now be explained with reference to the accompanying drawings. It should be understood however that the disclosed embodiments are merely exemplary of the invention, which may be embodied in various forms. The following description and drawings are not to be construed as limiting the invention and numerous specific details are described to provide a thorough understanding of the present invention, as the basis for the claims and as a basis for teaching one skilled in the art how to make and/or use the invention. However in certain instances, well-known or conventional details

are not described in order not to unnecessarily obscure the present invention in detail.
The server program is made to run on a network-connected computer that has printer drivers installed on it. The purpose of the server program is to advertise the printer drivers installed on that computer and to respond to client program requests.
The client program is made to run on a computer that requires or may require installing printer drivers on it. The purpose of the client program is to receive printer driver advertisements and to request the server program for printer driver information.
Detection bv advertisement
Referring the Figure 1 , the block diagram of the present invention where driver details are detected by server advertisement. 140,150,160 represent server programs that periodically learn the details of all the printer-drivers installed on that computer and advertise these details on the network 130. These advertisements 170,180,190 are sent out periodically (using a configurable update timer) and/or when any detail in the earlier advertisements has changed. 110 represent the client computer where the printer 120 is connected. A client program receives the advertisement 200 and caches these details 100. It refreshes this cache, each time a new advertisement is received.
The method of detection of the printer driver by advertisement with respect to the figure 3 is explained below .The server program periodically learns the details of all installed printer-drivers on the computer 10. Then the server program advertises these details on the network 12. These advertisements are sent out periodically (using a configurable update timer) and/or when there is any change in the printer driver details thus learnt. A client program receives this advertisement 14 and caches these details. It

refreshes this cache, each time a new advertisement is received. Before doing so, the client checks in cache any previous corresponding entry 16. If there is no entry earlier the received printer driver information is added to the cache 18. If the received printer driver information is not new, a check is done for any printer parameter updation 20. If there is a change, updation of the existing entry is done 18. When the user wants to install a print-device on the specific client computer 22, the information in this cache is used to build a list of printer driver names, each name in the list corresponding to one unique entry of printer driver present in the cache. This list, which is in a readable form, is then displayed to the user 24. The user selects the printer driver to be installed, from the list 26. The printer driver files for this installation are then fetched from the location (this information being present in the cache) and installed on the client computer 28.
Detection bv Request
Figure 2 describes the block diagram of the present invention where dnver details are detected by client request. When the user wants to install a printer driver 230 on the client computer, he is given the option of searching the network for printer drivers. He has the option of searching all possible printer drivers or a specific printer driver When the user selects this option, the client program sends out a request 310 for printer drivers on the network. All server programs 250,260.270 receive this request and respond with details of the requested (ALL or specific) printer drivers 280,290,300. The response form the server programs contains information about the location of the server computer and the details of the printer drivers requested (ALL drivers or specific driver(s)). The client program 220 receives this response and uses it to build a list of printer driver names, in the cache 210, each name in the list corresponding to one unique entry of printer driver present in the response. This list, which is in a readable form, is then displayed to the user. The user selects the printer driver to be installed, from the list. The printer driver files for this installation are then fetched from the location (this information being present in the response) and installed on the client computer.

The method of detection of the printer driver by client request as given above may be explained step by step with respect to the flowchart given in figure 4 as follows:
When the user wants to install a printer driver on the client computer 30, he is given the option of searching the network for printer drivers. He has the option of searching all possible printer drivers or a specific printer driver. When the user selects this option, the client program sends out a request for printer drivers on the network 32, All server programs receive this request and responds with details of the requested (ALL or specific) printer drivers 34. The response form the server programs contains information about the location of the server computer and the details of the printer drivers requested (ALL drivers or specific driver(s)). The client program receives this response and uses it to build a list of printer driver names, each name in the list corresponding to one unique entry of printer driver present in the response 36. This list, which is in a readable form, is then displayed to the user 38. The user selects the printer driver to be installed, from the list 40. The printer driver files for this installation are then fetched from the location (this information being present in the response) and installed on the client computer 42.
This invention eliminates the need for possessing an installation disc or image dump or access to a website for the purpose of installation of printer drivers. Existing installations are leveraged to do the job.
Conversely, printer-drivers installed on a computer were hitherto never envisaged as a network resource. This invention recognizes the need for printer-drivers to be seen as sharable network resources and provides a solution for the same.
Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other

changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the invention.
In the description herein, numerous specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, materials, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention.
A "processor" or "process" includes any human, hardware and/or software system, mechanism or component that processes data, signals or other information. A processor can include a system with a general-purpose central processing unit, multiple processing units, dedicated circuitry for achieving functionality, or other systems. Processing need not be limited to a geographic location, or have temporal limitations. For example, a processor can perform its functions in "real time," "offline," in a "batch mode," etc. Portions of processing can be performed at different times and at different locations, by different (or the same) processing systems.
A "computer-readable medium" for purposes of embodiments of the present invention may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, system or device. The computer readable medium can be, by way of example only but not by limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, system, device, propagation medium, or computer memory.
Reference throughout this specification to "one embodiment", "an embodiment", or "a specific embodiment" means that a particular feature, structure, or

characteristic described in connection with the embodiment is included in at least one embodiment of the present invention and not necessarily in all embodiments. Thus, respective appearances of the phrases "in one embodiment", "in an embodiment", or "in a specific embodiment" in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics of any specific embodiment of the present invention may be combined in any suitable manner with one or more other embodiments. It is to be understood that other variations and modifications of the embodiments of the present invention described and illustrated herein are possible in light of the teachings herein and are to be considered as part of the spirit and scope of the present invention.
Embodiments of the invention may be implemented by using a programmed general purpose digital computer, by using application specific integrated circuits, programmable logic devices, field programmable gate arrays, optical, chemical, biological, quantum or nano-engineered systems, components and mechanisms may be used. In general, the functions of the present invention can be achieved by any means as is known in the art. Distributed or networked systems, components and circuits can be used. Communication, or transfer, of data may be wired, wireless, or by any other means.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application. It is also within the spirit and scope of the present invention to implement a program or code that can be stored in a machine-readable medium to permit a computer to perform any of the methods described above.
As used in the description herein and throughout the claims that follow, "a", "an", and "the" includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the

meaning of "in" includes "in" and "on" unless the context clearly dictates otherwise.
The foregoing description of illustrated embodiments of the present invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope of the present invention, as those skilled in the relevant art will recognize and appreciate. As indicated, these modifications may be made to the present invention in light of the foregoing description of illustrated embodiments of the present invention and are to be included within the spirit and scope of the present invention.
Thus, while the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of embodiments of the invention will be employed without a corresponding use of other features without departing from the scope and spirit of the invention as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit of the present invention. It is intended that the invention not be limited to the particular terms used in following claims and/or to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include any and all embodiments and equivalents falling within the scope of the appended claims.



We Claim
1. A method of advertisement and detection of printer drivers comprising the
steps of:
a) learning the printer driver details by the server program from the
network;
b) advertising printer driver details on the network by the server program;
c) receiving the advertisement by the client computer;
d) updating the cache memory of the client computer;
e) building the list of printer driver details by the client program;
f) displaying the information of the driver details in the client computer; and
g) installation of the printer driver from the actual location.

2. A method as claimed in claim 1, wherein learning the said details of printer drivers is done periodically.
3. A method as claimed in claim 1, wherein advertising the said details of printer driver is done periodically.
4. A method as claimed in claim 1, wherein advertising the said details of printer driver is done when there is any change in the printer driver details thus learnt.
5. A method as claimed in claim 1, wherein advertising the said details of printer drivers is done periodically by using a configurable update timer.
6. A method as claimed in claim 1, wherein receiving the advertisement by the client computer further comprises the step of checking the cache memory for a corresponding entry.
7. A method as claimed in claim 1, wherein updating the cache memory for a corresponding entry further comprises a step of adding the entry into the cache if the entry is new.
8. A method as claimed in claim 1, wherein updating the cache memory comprises the step of updation in the cache if the entry has a change in existing printer parameters,
9. A method as claimed in claim 1, wherein building the list of printer driver details by the client program ensures a unique entry in the cache memory.

10. A method as claimed in claim 1, wherein building the list of printer driver details by the client program includes storing the printer driver location and name.
11. A method as claimed in claim 1, wherein displaying the information of the driver details in the client computer is in a readable form.
12. A method as claimed in claim 1, wherein installation of the printer driver is activated by the user selection.
13. A method as claimed in claim 1, wherein installation of the printer driver is done by fetching the required driver from the actual location.
14. A method of advertisement and detection of printer drivers comprising the steps of:

a) requesting for print drivers on the network by the client program;
b) searching all possible printer drivers or a specific printer driver on the network by the client computer;
c) receiving the request by the server program;
d) responding for the request by the server program;
e) receiving the response by the client program;
f) building the list of printer driver details by the client program;
g) displaying the information of the driver details in the client computer;
and
h) installation of the printer driver from the actual location.
15. A method as claimed in claim 14, wherein requesting for print drivers on the network by the client program is for all possible print drivers or a specific print driver.
16. A method as claimed in claim 14, wherein requesting for print drivers on the network by the client program is initiated by user selecting this option.
17. A method as claimed in claim 14, wherein receiving the request by the server program is for all possible print drivers or a specific print driver.
18. A method as claimed in claim 14, wherein responding for the request by the server program contains information about the location of the server computer and the details of the printer drivers requested.

19. A method as claimed in claim 14, wherein building the list of printer driver
details by the client program ensures a unique entry in the cache memory.
20. A method as claimed in claim 14. wherein building the list of printer driver
details by the client program includes storing the printer driver location
and name.
21. A method as claimed in claim 14, wherein displaying the information of
the driver details in the client computer is in a readable form.
22. A method as claimed in claim 14, wherein installation of the printer driver is activated by the user selection.
23. A method as claimed in claim 14, wherein installation of the printer driver is done by fetching the required driver from the actual location.
24. A method for advertisement and detection of printer drivers as a network
service such as substantially herein described particularly with reference
to the drawings.
Dated this 10th day of May 2004
Signature


Documents:

437-che-2004-abstract.pdf

437-che-2004-claims filed.pdf

437-che-2004-claims granted.pdf

437-che-2004-correspondnece-others.pdf

437-che-2004-correspondnece-po.pdf

437-che-2004-description(complete) filed.pdf

437-che-2004-description(complete) granted.pdf

437-che-2004-drawings.pdf

437-che-2004-form 1.pdf

437-che-2004-form 26.pdf

437-che-2004-other documents.pdf


Patent Number 210154
Indian Patent Application Number 437/CHE/2004
PG Journal Number 50/2007
Publication Date 14-Dec-2007
Grant Date 21-Sep-2007
Date of Filing 11-May-2004
Name of Patentee M/S. SAMSUNG INDIA SOFTWARE OPERATIONS PRIVATE LIMITED
Applicant Address BAGMANE LAKEVIEW,BLOCK "B" NO.66/1, BAGMANE TECH PARK, C.V.RAMAN NAGAR, BYRASANDRA,BANGALRE 560 093.
Inventors:
# Inventor's Name Inventor's Address
1 MANOHAR R BLOCK "B" NO.66/1C.V.RAMAN NAGAR, BYRASANDRA,BANGALRE 560 093.
PCT International Classification Number A 04 L 21/02
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 NA