Distribution of software in a computer network environment
First Claim
1. In a network client in communication with a network server over a computer network, a method of distributing a software file resident on the network server to the network client, the method comprising the steps of:
- receiving a command that the software file is to be downloaded to the network client;
automatically retrieving, in response to the command, information indicative of a platform of the network client;
appending to an HTTP formatted request message that requests that the software file be downloaded to the network client a data field comprising a representation of the information indicative of the platform of the network client;
issuing to the network server the HTTP formatted request message;
receiving from the network server in response to the issued HTTP formatted request message the software file; and
installing the software file in an appropriate memory location associated with the network client.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of distributing software files resident on a network server to a network client. To effectuate the distribution, the network client issues an HTTP formatted request message to the network server which requests that certain software files resident on the network server be downloaded to the network client. The HTTP formatted request message may include information indicative of one or more of the operating system or processor architecture associated with the network client that the network server can use as an aide in determining which software files to return to the network client. The software files are bundled into a cabinet file by the network server and returned to the network client which, in turn, automatically unbundles the cabinet file, checks the authenticity of certain of the individual software files, and installs the software files in an appropriate memory location associated with the network client. In this manner, a world wide distributed printing solution is provided that is capable of working transparently on intranets and the Internet.
-
Citations
18 Claims
-
1. In a network client in communication with a network server over a computer network, a method of distributing a software file resident on the network server to the network client, the method comprising the steps of:
-
receiving a command that the software file is to be downloaded to the network client; automatically retrieving, in response to the command, information indicative of a platform of the network client; appending to an HTTP formatted request message that requests that the software file be downloaded to the network client a data field comprising a representation of the information indicative of the platform of the network client; issuing to the network server the HTTP formatted request message; receiving from the network server in response to the issued HTTP formatted request message the software file; and installing the software file in an appropriate memory location associated with the network client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a network client in communication with a network server over a computer network, a method of distributing software files resident on the network server to the network client, the method comprising the steps of:
-
receiving a command that the software files are to be downloaded to the network client; automatically retrieving, in response to the command, information indicative of a platform of the network client; appending to an HTTP formatted request message that requests that the software files be downloaded to the network client a data field containing the information indicative of the platform of the network client; issuing to the network server the HTTP formatted request message; receiving from the network server in response to the issued HTTP formatted request message a cabinet file which contains the software files appropriate for the platform of the network client, the cabinet file having a file extension; checking the file extension of the cabinet file and, as a function of the file extension, executing an appropriate installation application which is component application of the operating system environment resident on the network client which performs the steps of extracting the software files from the cabinet file and installing the software files in an appropriate memory location associated with the network client. - View Dependent Claims (8, 9, 10)
-
-
11. A method of distributing software in a computer network comprising a network client linked to a network server having resident software files, the method comprising the steps of:
-
displaying a graphical user interface to a user on the network client which allows a user to issue a command that the software files are to be downloaded to the network client; automatically retrieving, in response to the command, information indicative of a platform of the network client; appending to an HTTP formatted request message that requests that the software files be downloaded to the network client a data field comprising data representative of the information indicative of the platform of the network client; issuing from the network client to the network server the HTTP formatted request message; collecting the software files at the network server as a function of the information wherein all executable software files have an associated digital signature; packaging the collected software files into a cabinet file having a file extension; sending the cabinet file to the network client from the network server; and performing at the network client a check of the file extension of the sent cabinet file and, as a function of the file extension, executing an appropriate installation application which is component application of the operating system environment resident on the network client which performs the steps of extracting the software files from the cabinet file, initiating a check of the authenticity of each of the executable software files as a function of the digital signatures, and, if the executable software files are deemed to be acceptable, installing the software files in an appropriate memory location associated with the network client. - View Dependent Claims (12, 13)
-
-
14. A computer-readable media having computer-executable instructions for use in performing a distribution of a software file resident on a network server to a network client, the instructions performing steps comprising:
-
automatically retrieving from the network client in response to a command to initiate the distribution of the software file information indicative of a platform of the network client; appending to an HTTP formatted request message that requests that the software file be downloaded a data filed comprising data representative of the information indicative of the platform of the network client; issuing to the network server the HTTP formatted request message; and installing the software file in an appropriate memory location associated with the network client in response to a return receipt of the software file from the network server. - View Dependent Claims (15, 16, 17)
-
-
18. An HTTP formatted message for use in requesting the distribution of software resident on a network server to a network client whereby a printer may be installed on the network client, the message comprising:
-
a first data field containing data representing a URL address of the network server; a second data field containing data representing a request to the network server to return the software; a third data field containing data representing an identification of the printer which is to be installed; and a fourth data field containing data representing an identification of the platform of the network client comprising a representation of a major version number of an operating system resident on the network client, a representation of a minor version number of the operating system, a representation of the brand of the operating system, and a representation of a processor architecture of the network client.
space="preserve" listing-type="tabular">______________________________________ APPENDIX A {WinPrtHTMLPreProc=WinPrint} <
!PRINTER PROPERTY>
<
!build 6/19 v1.0>
<
!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<
html>
<
head>
<
meta http-equiv="Refresh" content="120">
<
meta http-equiv="Content-Type" content ="text/html">
<
meta name ="GENERATOR" content ="Microsoft FrontPage 2.0">
<
title>
Properties for {=WinPrint.Printername}<
/title>
<
script language="VBScript">
sub cmdCliInfo.sub.-- onClick() Document.MyForm.vParam.value = Obj. ClientInfo Document.MyForm.Submit end sub <
/script>
<
/head>
<
form method=get action="{=WinPrint.ActionTagPrefix }WinPrin t/PrinterProperty{=WinPrint.ActionTagPostfix }">
<
body bgcolor="#808080" link="#000080"vlink="#800080" topmargin="0" leftmargin="0">
<
table border="0" cellpadding="0" cellspacing="0" width="100% ">
<
tr>
<
td align="right" colspan="14">
<
img src="{=WinPrint.We bDataURL}prprops.gif">
<
/td>
<
td bgcolor="#808080">
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td colspan="15">
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td width="5%">
&
nbsp;
<
/td>
<
td width="8%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="1%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="10%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="10%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="10%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="10%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="10%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="11%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="3%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="3%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="10%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="2%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="2%" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td width="5%">
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td colspan="13" bgcolor="#800000">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
th align="left" colspan="13" bgcolor="#800000">
<
font color="#FFFFFF" size="5" face="Arial" >
&
nbsp;
Properties for<
em>
{=WinPrint.PrinterName}<
/em>
on <
em>
{=WinPrint.M achineName}<
/em>
<
/font>
<
/th>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td colspan="13" bgcolor="#800000">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#C0C0C0">
<
font size="2" face="Arial">
Printer Model;
<
/font>
<
/td>
<
td colspan="9" bgcolor="#C0C0C0">
<
font size="2" face="Arial">
{=WinPrint.DriverName}<
/font>
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#C0C0C0">
<
font size="2" face="Arial" Status;
<
/font>
<
/td>
<
td colspan="9" bgcolor="#C0C0C0">
<
font size="2" face="Arial">
{=WinPrint.PrtStatusShort}<
/font>
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#C0C0C0">
<
font size="2" face="Arial">
Location;
<
/font>
<
/td>
<
td colspan="9" bgcolor="#C0C0C0">
<
font size="2" face="Arial">
{=WinPrint.Location}<
/font>
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#C0C0C0">
<
font size="2" face="Arial"} Comment;
<
/font>
<
/td>
<
td colspan="9" bgcolor="#C0C0C0">
<
font size="2" face="Arial">
{=WinPrint.Comment}<
/font>
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td bgcolor="C0C0C0">
&
nbsp;
<
/td>
<
td align="right" colspan="10" bgcolor="#C0C0C0">
<
input type="Submit" value="Apply">
&
nbsp;
&
nbsp;
&
n bsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
/form>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11"bgcolor="#000000">
<
font color="#FFFFF" size="2" face="Arial">
&
nbsp;
&
nbsp;
<
/font>
<
font color="#FFFFFF" size="1"face="Arial">
<
strong>
Links<
/s trong>
<
/font>
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#C0C0C0 ">
<
font size="2" face="Arial">
{=WinPrint.IfInstallSupported} &
nbsp;
&
nbsp;
<
form name="MyForm" action="{=WinPrint.PrinterCommandURL }?CreateExe" method="post">
<
input name="vParam" value="0" type="hidden">
<
input type="button"value="Install Printer"name=cmdCliInfo" >
<
/form>
{=Winprint.Endif} <
/font>
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#C0C0C0">
<
font size="2" face="Arial">
&
nbsp;
&
nbsp;
<
a href="{=WinPrint.PrinterC ommandURL}?PrinterSchedule">
Printer Scheduling<
/a>
<
/font>
<
/ td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#C0C0C0">
<
font size="2" face="Arial">
&
nbsp;
&
nbsp;
<
a href="{=WinPrint.PrinterC ommand URL}?PrinterShare">
PrinterSharing<
/a>
<
/font>
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#C0C0C0">
<
font size="2" face="Arial">
&
nbsp;
&
nbsp;
<
a href="{=WinPrint.PrinterC ommandURL}?PageSetup">
PageSetup<
/a>
<
/font>
<
td bgcolor="# FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td bgcolor="C0C0C0">
&
nbsp;
<
/td>
<
td align="right" colspan="10" bgcolor="#C0C0C0">
<
a href="{=WinPrint.PrtFolderURL}">
<
{fontsize="2" face=" Arial">
<
strong>
<
img src="{=Winprint.WebDataURL}prfolder.gif" align="middle" border="0">
<
/strong>
<
/font>
<
/a>
&
nbsp;
&
nbsp;
<
a href="{=WinPrint.PrtFolderURL}">
<
font size="2" face="Ar ial">
<
strong>
View Printers on {=WinPrint.MachineName}<
/strong>
<
/font>
<
/a>
&
nbsp;
&
n bsp;
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" #bgcolor="#C0C0C0">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td>
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td colspan="11" bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td bgcolor="#FFFFFF">
&
nbsp;
<
/td>
<
td>
&
nbsp;
<
/td>
<
/tr>
<
tr>
<
td colspan="15" bgcolor="#808080">
&
nbsp;
<
/td>
<
/tr>
<
/table>
<
object id="Obj" classid="clsid;
92337A8C-E11D-11D0-BE48-00 C04FC30DF6" align="baseline" border="0" width="10" height="10">
<
/object>
<
/body>
<
/html>
______________________________________
-
Specification