|
|
|
Query processing (i.e., searching) |
Software distribution and maintenance system and method5835911
Abstract
A number of sets of software may be systematically distributed and maintained via a network connecting many vendors and users of client/server software. A client program in a user computer detects when software subject to maintenance is activated and transmits an inquiry over the network to the software vendor's computer for information on the current version of the software. The server program compares data in the inquiry with data relating to the latest version of the software and returns update instruction information and updated software if appropriate. The client program automatically updates the software to the latest version according to the update instruction information when it is received. The client program can also send inquires at predetermined times, or in response to a user command. The inquiry can include a request for purchase information in which case the server checks qualifications of the user, processes the inquiry according to vendor management data and returns the requested software, if appropriate. Other inquiries can also be made in response to user commands or automatically, e.g., to obtain information on the most recent version and transmission of data from client to server in response to an abnormal termination of client software.
Claims
What is claimed is:
1. A software distribution/maintenance system having a plurality of user computers and a vendor computer connected to the user computers via a network to manage and automatically update over the network a set of object software sent and stored in the user computers from the vendor computer via the network, comprising:
an object software library in the vendor computers;
first process means in the user computers for sending an inquiry with current configuration information of the object software stored in the user computers to the vendor computer via the network to inquire about a latest configuration, for receiving an answer from the vendor computer, and for updating the object software stored in the user computers according to an instruction in the answer; and
second process means in the vendor computer for receiving the inquiry from said first process means in the user computers, for generating update instruction information for the object software to match the current configuration of the object software in the user computers with the latest configuration of an updated version in said object software library stored in the vendor computer, and for returning via the network to said first process means the answer with the update instruction information and the updated version of the object software.
2. The software distribution/maintenance system according to claim 1, wherein said first process means in the user computers automatically informs via the network the vendor computer of an abnormal termination and state if an operation of the object software abnormally terminates in the user computers.
3. The software distribution/maintenance system according to claim 2, wherein said first process means automatically informs the vendor computer of the abnormal termination, an instruction causing the abnormal termination, a reason for the abnormal termination, a series of instructions which invoked the instruction causing the abnormal termination, and an environment of software and hardware used when the abnormal termination is detected.
4. The software distribution/maintenance system according to claim 2 or claim 3, wherein said first process means can automatically inform, via the networks the vendor computer of the abnormal termination by general-purpose electronic mail.
5. A software distribution/maintenance method for managing and automatically updating a set of object software stored in user computers from a vendor computer via a network, comprising:
sending, by a first process in the user computers, current configuration information of the object software to a second process in the vendor computer via the network with an inquiry for a latest configuration of the object software;
receiving by said second process in the vendor computer the inquiry from said first process;
generating update instruction information for the object software to update a configuration of the object software in the user computers with the latest configuration of an updated version of the object software in an object software library stored in the vendor computers;
returning via the network to said first process an answer with the update instruction information and the updated version of the object software; and
processing by said first process stored in the user computers the answer from said second process to update the object software according to the update instruction information in the answer, including preparing for compiling and linking of programs if necessary.
6. The software distribution/maintenance method according to claim 5, wherein when the object software is activated in the user computers, said first process
immediately sends the current configuration information of the object software to said second process in the vendor computer via the network to inquire about the latest configuration,
receives the answer from said second process,
updates the object software according to the update instruction information in the answer, and
prepares for compiling and linking programs if necessary.
7. The software distribution/maintenance method according to claim 5, wherein when said first process is activated in the user computers at a predetermined time, said first process
sends the current configuration information of the object software to said second process in the vendor computer via the network to inquire about the latest configuration,
receives the answer from said second process,
updates the object software according to the update instruction information in the answer, and
prepares for compiling and linking of programs if necessary to realize an automatic update of the object software.
8. The software distribution/maintenance method according to claim 5, wherein when a user instructs the user computers to activate said first process, said first process
sends the current configuration information of the object software to said second process in the vendor computer via the network to inquire about the latest configuration,
receives the answer from said second process,
updates the object software according to the update instruction information in the answer, and
prepares for compiling and linking of programs if necessary.
9. The software distribution/maintenance method according to claim 5, wherein following processes are interchangeably performed:
when the object software is activated in the user computers, said first process
immediately sends the current configuration information of the object software to said second process in the vendor computer via the network to inquire about the latest configurations,
receives the answer from said second process,
updates the object software according to the update instruction information in the answer, and
prepares for compiling and linking programs if necessary;
when said first process is activated in the user computers at a predetermined time, said first process
sends the current configuration information of the object software to said second process in the vendor computer via the network to inquire about the latest configuration,
receives the answer from said second process,
updates the object software according to the update instruction information in the answer, and
prepares for compiling and linking of programs if necessary to realize an automatic update of the object software; and
when a user instructs the user computers to activate said first process, said first process
sends the current configuration information of the object software to said second process in the vendor computer via the network to inquire about the latest configuration,
receives the answer from said second process,
updates the object software according to the update instruction information in the answer, and
prepares for compiling and linking of programs if necessary.
10. A software distribution/maintenance system for managing distribution of object software via a network by users who use one or more sets of the object software to be distributed, managed, and maintained and by software vendors who supply the users with the object software, comprising:
first process means for managing plural sets of the object software in each user computer;
vendor software libraries in at least one vendor computer;
second process means for providing services relating to said vendor software libraries in the at least one vendor computer; and
a network for connecting each user computer and the at least one vendor computer,
said first process means sending via the network an object software distribution/maintenance request message according to an instruction of the users or an instruction of a user-written program to said second process means of the at least one vendor computer containing desired object software, receiving an answer message from the second process means, and distributing or maintaining the object software; and
said second process means receiving the message from said first process means, referring to said vendor software libraries managed by the software vendors according to the message and settings made by the software vendors, generating an answer message in response to the object software distribution/maintenance request message, and sending the answer message to said first process means of a message sender.
11. The software distribution/maintenance system according to claim 10, wherein
when any object software managed by said first process means in the user computer abnormally terminates during its operation, said first process means detects and analyzes an abnormal condition, and then automatically sends a fault report to said second process means of the vendors over the network; and
said second process means of the vendors receives the fault report and informs the vendors of the fault report.
12. The software distribution/maintenance system according to claim 10 or claim 11, wherein when each version of the object software is provided for a number of the users by the vendors, a single computer user can be a user of a version of one piece of software and also a vendor of a version of another piece of software, and furthermore, a single computer can be provided with one or more first process means and one or more second process means.
13. The software distribution/maintenance system according to claim 10, claim 11, or claim 12, wherein
each user computer can be designed to store user management data for each of the users or each user group, and the data can be set for each object software; and
said first process means refers to the user management data to manage one or more sets of the object software.
14. The software distribution/maintenance system according to claim 13, wherein said user management data includes at least one of user identification information of each user or each user group, software management information of each object software used by each user, software configuration information, and message process method specification information.
15. The software distribution/maintenance system according to claim 14, wherein in specifying a method of processing a message according to the user management data, the users can specify a process method as a procedure for each function performed by said first process means.
16. The software distribution/maintenance system according to claim 15, wherein
in specifying a method of processing a message according to the user management data., a vendor confirmation procedure can be used so that the vendor can be conformed to protect user software.
17. The software distribution/maintenance system according to claim 10, claim 11, or claim 12, wherein when said second process means of the at least one vendor computer offers services using said vendor software libraries, said second process means can refer to vendor management data stored for each vendor software library.
18. The software distribution/maintenance system according to claim 17, wherein said vendor management data includes at least one of vendor identification information, software management information, software configuration information, message process method specification information, customer information, and fault history information.
19. The software distribution/maintenance system according to claim 18, wherein when a message process method is specified using the vendor management data, the software vendors can specify a procedure for each function performed by said second process means.
20. The software distribution/maintenance system according to claim 19, wherein a user confirmation procedure can be selected when a message process method is specified using the vendor management data.
21. The software distribution/maintenance systems according to claim 10 or claim 11, wherein
Each of the users can simultaneously obtain and use a plurality of versions of each object software.
22. A software distribution/maintenance method for managing distribution of object software via a network by users who use one or more sets of object software to be distributed, managed, and maintained and by software vendors who supply the users with the object software using, in user computers, the object software to be used by the users and a first process for managing one or more sets of object software; in each vendor computer, vendor software libraries and a second process for providing services relating to the vendor software libraries; and the network connecting each user computer to at least one vendor computer, comprising:
activating by a sending user the first process through a command input by the sending user in one of the user computers or through a command from a user program;
sending by the sending user from the first process in the one of the user computers via the network, an object software distribution/maintenance request message to the second process of the at least one vendor computer from which the object software is provided;
receiving by the second process in the at least one vendor computer, from which the object software is provided, the object software distribution/maintenance request message from the first process;
referring by the second process to the vendor software libraries managed by the software vendors according to the object software distribution/maintenance request message and settings made by the software vendors;
generating an answer message in response to the object software distribution/maintenance request message;
sending the answer message to the first process of the sending user;
receiving by the first process in the one of the user computers of the sending user the answer message from the second process; and
performing processes for distributing or maintaining the object software according to the answer message and settings made by the users.
23. The software distribution maintenance method according to claim 22,
wherein when executing object software managed by the first process in one of the user computers abnormally terminates during operation, the first process detects and analyzes an abnormal condition, and then sends a fault report message to a vendor of the executing object software via the network, and
wherein the second process receives the fault report message via the network, and informs the vendor of the abnormal condition.
24. The software distribution/maintenance method according to claim 22 or claim 23, wherein
each user computer stores user management data for each of the users or each user group, identifying one or more sets of the object software; and
said first process refers to the user management data to manage the one or more sets of the object software.
25. The software distribution/maintenance method according to claim 24, wherein the user management data includes at least user identification information of at least one of the users, software management information of each object software used by each user in an object software group, software configuration information, and message process method specification information; and
said first process refers to the user management data.
26. The software distribution/maintenance method according to claim 25, wherein in referring to a method of processing a message according to the user management data, the sending user can specify and use a process method as a procedure for each function performed by the first process.
27. The software distribution/maintenance method according to claim 26, wherein in referring to the method of processing the message according to the user management data, a user-defined vendor confirmation procedure is used so that the message received by the first process can be recognized as a correct message from a predetermined vender.
28. The software distribution/maintenance method according to claim 25, wherein when the sending user activates the first process in one of the user computers by inputting a command, the first process
obtains a user name, a command name, and an object software name to generate an interactive screen displaying messages according to the command,
promotes generation of a message in response to the command from the sending user by referring to the user management data of the sending user and the object software or by invoking a user-defined process procedure,
sends the message to the second process of the computer of the software vendors of the object software, and
returns to a standby state after recording transmission of the message.
29. The software distribution/maintenance method according to claim 25 or claim 26, wherein if the first process is activated in the one of the user computers by an input command from a program defined by the sending user or through an abnormal termination of the object software managed by the first process, the first process
obtains a user name, a command name, and an object software name,
promotes generation of a message in response to a command from the sending user by referring to the user management data of the sending user and the object software or by invoking a user-defined process procedure,
sends the message to the second process in the at least one vendor computer, and
returns to a standby state after recording transmission of the message.
30. The software distribution/maintenance method according to claim 25 or claim 26, wherein if the first process is activated in the one of the user computers by a message received from the network, then the first process
obtains from a header of the answer message a destination user name identifying a specified user, a command name, and an object software name,
uses the user management data for the specified user and the object software,
then obtains a sender name from the header of the answer message,
confirms that the message was sent by a correct vendor of the object software,
also confirms that the first process is in an answer-wait state,
refers to the user management data or invokes the user-defined process procedure depending on the command in the answer message,
analyzes or stores message data or stores or installs the software specified by the answer message, returns, in response to a specific message which requires acknowledgment, an acknowledgment or a process state in an acknowledgment message to the second process via the network, and
then returns to a standby state after recording transmission of the acknowledgment message.
31. The software distribution/maintenance method according to any of claim 25 to claim 27, wherein said first process performs following processes depending on a cause activating the first process:
when the sending user activates the first process in the sending user computers by inputting a command, the first process
obtains a user name, a command name, and an object software name to generate an interactive screen displaying message according to the input command,
promotes generation of a first message in response to the command from the sending user by referring to the user management data of the sending user and the object software or by invoking a user-defined process procedure,
sends the message to the second process of the at least one vendor computer storing the object software, and
returns to a standby state after recording transmission of the object software distribution/maintenance request message;
if the first process is activated in the one of the user computers by an input command from a program defined by the sending user or through an abnormal termination of the object software managed by the first process, the first process
obtains a user name, a command name, and an object software name,
promotes in response to an activated command generation of a second message in response to a command from the sending user by referring to the user management data of the sending user and the object software or by invoking a user-defined process procedure,
sends the second message to the second process of the at least one vendor computer storing the object software, and
returns to a standby state after recording transmission of the second message; and
if the first process is activated in the one of the user computers by a received message from the network, then the first process
obtains from a header of the received message a destination user name, a command name, and an object software name,
uses the user management data for a specified user and the object software,
then obtains a sender name from the header of the received message,
confirms that the received message was sent by a correct vendor of the object software,
also confirms that the first process is in an answer-wait state,
refers to the user management data or invokes the user-defined process procedure depending on the command name in the received message,
analyzes or stores message data or stores or installs the software specified by the received message,
returns, if the received message requires acknowledgment, an acknowledgment message with an acknowledgment or a process state to the second process via the network, and
then returns to a standby state after recording a transmission of the acknowledgment message.
32. The software distribution/maintenance method according to claim 31, wherein each time the first process is activated, a new process is generated to allow plural processes to be performed in parallel on processes other than for a single set of object software for a single user.
33. The software distribution/maintenance method according to claim 22 or claim 23, wherein when the second process in the at least one vendor computer offers services using the vendor software libraries, vendor management data, stored for each vendor software library, is referred to.
34. The software distribution/maintenance method according to claim 33, wherein when the second process refers to the vendor management data, reference is made corresponding to the vendor software library to at least vendor identification information, software management information, software configuration information, message process method specification information, customer information, update history information, and fault history information.
35. The software distribution/maintenance method according to claim 34, wherein when a message process method is referred to using the vendor management data, a procedure each function performed by the second process is invoked.
36. The software distribution/maintenance method according to claim 35, wherein when the message process method is referred to using the vendor management data, a user confirmation procedure can be invoked to confirm an identification of the sending user of the object software distribution/maintenance request message, determine a qualification of the sending user, and return an appropriate answer to the sending user.
37. The software distribution/maintenance method according to claim 36, wherein in the user confirmation procedure as a part of the vendor management data, the qualification of the sending user can be determined based on commercial relations including at least one of contracts relating to the object software, payments relating to the object software, and payments relating to new services for the object software.
38. The software distribution/maintenance method according to claim 36, wherein in the user confirmation procedure depending on the vendor management data, the object software is provided and distributed only to qualified users by referring to identification information including at least one of organizations, titles, and personal names thereof.
39. The software distribution/maintenance method according to claim 36, wherein
in the user confirmation procedure as a part of the vendor management data, the user can be identified by a password.
40. The software distribution/maintenance method according to claim 22 or claim 23, wherein the one of the user computers and the at least one vendor computer are connected to the network only when sending and receiving messages between each other or a relaying device in the network.
41. The software distribution/maintenance method according to claim 22, or claim 23 wherein the object software distribution/maintenance request message transmitted via the network has a destination and a source of the message, and a title column specifying a name of a software distribution/maintenance system, a name of a software distribution/maintenance process type, and a name of the object software.
42. The software distribution/maintenance method according to claim 22, claim 23, or any of claims 33 to 39, wherein the second process in the at least one vendor computer is normally in a standby state, and upon being activated by receiving the object software distribution/maintenance request message from the first process via the network
obtains a command name and an object software name of specified software from a header of the object software distribution/maintenance request message,
assigns processes to be performed,
obtains a name of the sending user and user identification information from the object software distribution/maintenance request message,
compares the name of the sending user with vendor management data to determine a user access qualification relating to the command name,
analyzes the object software distribution/ maintenance request message if the sending user qualifies,
provides summary information of the specified software,
provides new services for the specified software,
supplies updated software and instructions to correctly update the specified software, retrieves information of other messages,
generates the answer message,
records a summary of the answer message to the sending user,
sends the answer message to the first process of the sending user via the network, and
returns to the standby state.
43. The software distribution/maintenance method according to claim 42, wherein each time the second process is activated, a new process is generated to allow a plurality of processes to be concurrently performed on processes other than for a single set of object software for a single user.
44. The software distribution/maintenance method according to claim 22, or claim 23 wherein when the users obtain summary information of the object software not yet used by the users, following processes are performed:
in the one of the user computers,
the sending user
enters a summary inquiry command,
activates the first process in the one of the user computers,
sets a name of specified object software, a name of a specified vendor, a network address of the specified vendor, and an answer information storage directory, and
generates a summary information inquiry message;
the first process sends the summary information inquiry message to the second process of the specified vendor;
in the at least one vendor computer,
the second process is activated when the summary information inquiry message is received via the network;
the second process
refers to vendor management data about the specified object software cited by the summary information inquiry message to confirm an identification of the sending user and determine access qualification of the sending user;
invokes, if the sending user is qualified, a vendor-defined procedure to provide summary information in a summary information message; and
sends the summary information message to the first process of the sending user via the network.
45. The software distribution/maintenance method according to claim 22 or claim 23, wherein when the users newly obtain the object software not yet used by the users, following processes are performed:
in the one of the user computers,
the sending user
enters a new installation command,
activates the first process in the one of the user computers,
sets user identification information, software information of specified object software, vendor identification information, and user installation process information, and
generates a new installation request message; and
the first process sends the new installation request message to the second process managing the specified object software;
in the at least one vendor computer,
the second process is activated when the new installation request message is received via the network,
the second process
refers to vendor management data about the specified object software to confirm identification of the sending user and determine access qualification of the sending user;
invokes, if the sending user is qualified, a vendor-defined procedure for new installation to determine a version to be provided,
obtains a set of modules of the version to be provided,
organizes instruction information of the new installation in the one of the user computers, and
generates a new installation message as the answer message,
sends the new installation message as the answer message to the first process of the sending user via the network;
in the user computer,
the first process is activated when the new installation message is received via the network,
the first process
obtains a name of a destination user and a name of specified object software from a header of the new installation message,
refers to corresponding user management data,
confirms that the first process is currently in a new installation standby state and that a correct vendor sent the new installation message,
invokes a user-defined new installation process procedure,
refers to installation information in the new installation message,
stores the specified object software to be newly installed in the one of the user computers,
installs the set of modules if the new installation is acceptable,
records the new installation message and a process result, and
returns to the standby state.
46. The software distribution/maintenance method according to claim 22, or claim 23, wherein when the users add or switch to a new service of the object software already used by the users, following processes are performed:
in the one of the user computers,
the sending user
enters a new service request command,
activates the first process in the one of the user computers,
sets user identification information, software information of specified object software, vendor identification information, and user installation process information, and
generates a new service request message;
the first process sends the new service request message to the second process of the at least one vendor computer;
in the at least one vendor computer,
the second process is activated when the new service request message is received via the network;
the second process
refers to vendor management data about the specified object software cited by the new service request to confirm identification of the sending user and determine access qualification of the sending users,
invokes, if the sending user is qualified, a vendor-defined procedure for a supply of the new service to determine a version to be provided,
obtains a set of modules of the version to be provided,
organizes instruction information of installation in the one of the user computers,
specifies a process to be performed on an old service,
generates a new installation message as an answer, and
sends the new installation message as the answer to the first process of the sending user via the network;
in the user computer,
the first process is activated when the new installation message is received via the network;
the first process
obtains a name of a destination user and the name of the specified object software from a header of the new installation message,
refers to corresponding user management data,
confirms that the third process is currently in a new installation standby state and a correct vendor sent the new installation message,
invokes a user-defined process procedure,
refers to installation information in the new installation message,
stores specified software supplied as the new service in the one of the user computers,
stores the new service of the specified software if the new service is acceptable,
records the new installation message and a process result, and
returns to the standby state.
47. The software distribution/maintenance method according to claim 22 or claim 23, wherein when the users inquire of the vendors about an update state of installed object software already used by the users and request updated object software, following processes are performed:
in the one of the user computers,
the sending user
enters an update inquiry command,
activates the first process in the one of the user computers,
sets user identification information, software information of the installed object software, vendor identification information, software management information, and user installation process information, and
generates an update inquiry message;
the first process sends the update inquiry message to the second process of a specified vendor identified by the vendor identification information;
in the at least one vendor computer,
the second process is activated when the update inquiry message is received via the network;
the second process
refers to vendor management data about the installed object software cited by the update inquiry message to confirm identification of the sending user and determine access qualification of the sending user,
invokes, if the sending user is qualified, a vendor-defined update inquiry answering procedure to determine a version type to be supplied and a latest version and compares the latest version with a current version of the sending user;
if the current version of the sending user matches the latest version, then the second process
generates a non-update message, and
sends the non-update message to the first process of the sending user;
if the undated object software with the version type of the current version of the installed object software exists, then the second process
generates module delete/add instruction information about modules to be added in an update instruction message as an answer, and
sends the answer to the first process of the sending user via the network;
if the current version should be switched to a newly served version of the installed object software, then the second process
generates the non-update message and an information message about the newly served version, and
sends the non-update message and the information message to the first process of the sending user via the network;
in the one of the user computers,
the first process is activated when a received message is the update instruction message or the non-update message received via the network;
the first process
obtains a name of a destination user and a name of specified object software from a header of the received message,
refers to corresponding user management data, and
confirms that the first process is currently in a standby state after inquiry and that a correct vendor sent the received message;
if the non-update message is received, the first process records the non-update message and returns to the standby state;
if the update instruction message is received, the first process
invokes a user-defined update reception process procedure,
refers to the module delete/add instruction information in the received message,
stores in the one of the user computers the specified object software specified by the update instruction message,
installs the specified object software if the specified object software is acceptable, and
records the received message and a process result, and returns to the standby state.
48. The software distribution/maintenance method according to claim 22 or claim 23, wherein when the users inquire about an update state of installed object software already used by the users and request updated object software, following processes are performed:
in the one of the user computers,
the first process
is activated according to an update inquiry command instruction of a user program,
invokes a user-defined automatically-editing update inquiry procedure,
refers to user management data, and
generates an update inquiry message;
the first process sends the update inquiry message to the second process of a specified vendor of the installed object software;
in the at least one vendor computer,
the second process is activated when the update inquiry message is received via the network;
the second process
refers to vendor management data about the installed object software cited by the update inquiry message to confirm identification of the sending user and determine access qualification of the sending user, and
invokes, if the sending user is qualified, a vendor-defined update inquiry answering procedure to determine a version type to be supplied and a latest version and compare the latest version with the current version of the sending user;
if the current version of the sending user matches the latest version, then the second process
generates a non-update message, and
sends the non-update message to the first process of the sending user;
if the installed object software of the version type of the current version of the sending user has been updated, then the second process
generates module delete/add instruction information and information about modules to be added in an update instruction message as an answer, and
sends the updated instruction message to the first process of the sending user via the network;
if the current version should be switched to a newly served version of the installed object software, then the second process
generates a non-update message and an information message about the newly served version, and
sends the non-update message to the first process of the sending user via the network;
in the user computer,
the first process is activated when the update instruction message or the non-update message is received from the second process via the network;
the first process
obtains a name of a destination user and a name of the object software from a header of a received message,
refers to corresponding user management data, and
confirms that the first process is currently in a standby state after inquiry and that a correct vendor sent the received message;
if the non-update message is received, the first process records the received message and returns to the standby state;
if the update instruction message is received, the first process
invokes a user-defined update reception process procedure,
refers to the module delete/add instruction information in the received message,
stores in the one of the user computers the modules to be added specified by the update instruction message,
installs the modules to be added if acceptable,
records the received message and a process result, and
returns to the standby state.
49. The software distribution/maintenance method according to any of claim 45 to claim 48, wherein if the first process receives a message from a sending vendor, and stores or installs in the one of the user computers new software, newly served software, or updated software received from the sending vendor, then the first process monitors a result of processes and sends to the second process via the network a process result confirmation message informing whether the processes have terminated normally or abnormally.
50. A software distribution/maintenance system having a plurality of user computers and a vendor computer to manage and automatically update object software provided for the plurality of user computers from the vendor computer, comprising:
network means for connecting the user computers to the vendor computer; and
process means in each of the user computers, for sending current configuration information of the object software stored in the user computers to the vendor computer via said network means to inquire about a latest configuration, for receiving an answer from the vendor computer, and for updating the object software stored in the user computers according to an instruction in a received answer.
51. The software distribution/maintenance system according to the claim 50, wherein said process means in the user computers automatically informs via said network means the vendor computer of an abnormal termination and state if an operation of the object software abnormally terminates in the user computers.
52. The software distribution/maintenance system according to claim 51, wherein said process means automatically informs the vendor computer of the abnormal termination, an instruction causing the abnormal termination, a reason for the abnormal termination, a series of instructions which invoked the instruction causing the abnormal termination, and an environment of software and hardware used when the abnormal termination is detected.
53. The software distribution/maintenance system according to claim 51, wherein said process means automatically informs via said network means the vendor computer of the abnormal termination by general-purpose electronic mail.
54. A software distribution/maintenance system having a plurality of user computers and a vendor computer to manage and automatically update object software provided for the plurality of user computers from the vendor computer, comprising:
network means for connecting the user computers to the vendor computers; and
process means in the vendor computer for receiving an inquiry from the user computer, for generating update instruction information for the object software to match a configuration of the object software in the user computer with the configuration of an updated version in an object software library stored in the vendor computer, and for returning via said network means to the user computer the update instruction information and the updated version of the object software.
55. A software distribution/maintenance method for managing and automatically updating a set of object software stored in user computers from a vendor computer via a network, comprising:
sending by a process in the user computers current configuration information of the object software to the vendor computer via the network to inquire about a latest configuration;
receiving by the process an answer with update instruction information from the vendor computer; and
updating the object software according to the update instruction information about the object software to match a configuration of the object software with the latest configuration stored in an object software library in the vendor computer, including preparing for compiling and linking of programs if necessary.
56. The software distribution/maintenance method according to claim 55, wherein when the object software is activated in the user computers, the process in the user computers
immediately sends the current configuration information of the object software to the vendor computer via the network to inquire about the latest configuration,
receives the answer from the vendor computer, updates the object software according to the update instruction information in the answer, and
prepares for compiling and linking of programs if necessary.
57. The software distribution/maintenance method according to claim 55, wherein when the process is activated in the user computers at a predetermined time, the process
sends the current configuration information of the object software to the vendor computer via the network to inquire about the latest configuration,
receives the answer from the vendor computer,
updates the object software according to the update instruction information in the answer, and
prepares for the compiling and linking of programs if necessary to realize an automatic update of the object software.
58. The software distribution/maintenance method according to claim 55, wherein when a user instructs the user computers to activate the process, the process
sends the current configuration information of the object software to the vendor computer via the network to inquire about the latest configuration,
receives the answer from the vendor computer, updates the object software according to the update instruction information in the answer, and
prepares for the compiling and linking of programs if necessary.
59. The software distribution/maintenance method according to claim 55, wherein following processes are interchangeably performed:
when the object software is activated in the user computers, the process
immediately sends the current configuration information of the object software to the vendor computer via the network to inquire about the latest configuration,
receives the answer from the vendor computer,
updates the object software according to the update instruction information in the answer, and
prepares for compiling and linking of programs if necessary;
when the process is activated in the user computers at a predetermined time, the process
sends the current configuration information of the object software to the vendor computer via the network to inquire about the latest configuration,
receives the answer from the vendor computer,
updates the object software according to the update instruction information in the answer, and
prepares for the compiling and linking of programs if necessary to realize an automatic update of the object software; and
when a user instructs the user computers to activate the process, the process
sends the current configuration information of the object software to the vendor computer via the network to inquire about the latest configuration,
receives the answer from the vendor computer,
updates the object software according to the update instruction information in the answer, and
prepares for the compiling and linking of programs if necessary.
60. A software distribution/maintenance method for managing and automatically updating a set of object software stored in user computers from a vendor computer via a network, comprising:
receiving by a process stored in the vendor computer an inquiry from an inquiring user computer about current configuration information of the object software, in the user computer;
generating update instruction information about the object software to update the current configuration of the object software in the user computer with a latest configuration version in an object software library in the vendor computer; and
returning the update instruction information and an updated version of the object software to the inquiring user computer via the network.
61. A software distribution/maintenance system for managing distribution of object software via a network accessed by users of user computers who use sets of the object software distributed, managed, and maintained by software vendors who supply the users with the object software from at least one vendor computer, comprising:
a network for connecting each user computer and the at least one vendor computer; and
process means in each user computer for executing the object software to be used by the users, for managing the sets of object software in each user computer, for sending via the network an object software distribution/maintenance request message according to an instruction of the users or an instruction of a user-written program to the at least one vendor computer which has a software library containing the object software, for receiving an answer message from the at least one vendor computer, and for distributing or maintaining the object software.
62. The software distribution/maintenance system according to claim 61, wherein when any object software managed by said process means in each user computer abnormally terminates during operation, said process means detects and analyzes an abnormal condition, and then automatically sends a fault report to the at least one vendor computer via said network.
63. The software distribution/maintenance system according to claim 61, wherein
each user computer can store user management data for each of the users or each user group, and for each set of the object software; and
said process means refers to the user management data to manage one or more sets of the object software.
64. The software distribution/maintenance system according to claim 63, wherein said user management data includes user identification information of each user or each user group, software management information of each set of the object software used by each user, software configuration information, and message process method specification information.
65. The software distribution/maintenance system according to claim 64, wherein in specifying a method of processing a message according to the user management data, the users can specify a process method as a procedure for each function performed by said process means.
66. The software distribution/maintenance system according to claim 65, wherein in specifying a method of processing a message according to the user management data, a vendor confirmation procedure can be used so that the vendor can be confirmed to protect user software.
67. A software distribution/maintenance system for managing distribution of object software via a communications network accessed by users of user computers use sets of the object software distributed, managed, and maintained by software vendors who supply the users with the object software from at least one vendor computer, comprising:
network means for connecting each user computer and the at least one vendor computer;
vendor software libraries; and
process means for providing services relating to said vendor software libraries, for receiving an object software distribution/maintenance request message from an inquiring user computer via said network means, for referring to one of said vendor software libraries, managed by a vendors according to contents of the object software distribution/maintenance request message and settings of the vendor, for generating an answer message in response to the object software distribution/maintenance request message, and for sending the answer message to the inquiring user computer via said network means.
68. The software distribution/maintenance system according to claim 67, wherein when any object software abnormally terminates during operation in one of the user computers, said process means sends a fault report received from the one of the user computers via said network means to the vendor of the object software which abnormally terminated.
69. The software distribution/maintenance system according to claim 67, wherein when said process means of the at least one vendor computer offers services using said vendor software libraries, said process means refers to vendor management data stored for each vendor software library.
70. The software distribution/maintenance system according to claim 69, wherein
said vendor management data can be designed to comprise vendor identification information, software management information, software configuration information, message process method specification information, customer information, and fault history information.
71. The software distribution/maintenance system according to claim 70, wherein when a message process method is specified using the vendor management data, the software vendors can specify the message process method as a procedure for each function performed by said process means.
72. The software distribution/maintenance system according to claim 70, wherein
a user confirmation procedure can be selected when a message process method is specified using the vendor management data.
73. A software distribution/maintenance method for managing distribution of object software via a network accessed by users of user computers who use sets of the object software distributed, managed, and maintained by software vendors who supply the users with the object software from at least one vendor computer using, in each user computer, the object software to be used by the users and a process managing the sets of the object software, and the network connecting each user computer and the at least one vendor computer, comprising:
activating by the users the process through a command input by the users or through a command from a user-written program;
sending by the process via the network an object software distribution/maintenance request message to the at least one vendor computer from which the object software is provided;
receiving by the process the answer message from the at least one vendor computer; and
performing processes for at least one of distributing and maintaining the object software according to the answer message and settings made by the users.
74. A software distribution/maintenance method for managing distribution of object software via a network accessed by users of user computers who use sets of the object software distributed, managed, and maintained by software vendors who supply the users with the object software using, in each vendor computer, vendor software libraries and a vendor process providing services relating to the vendor software libraries, the network connecting each user computer and each vendor computer, said software distribution/maintenance method comprising:
receiving by the vendor process an object software distribution/maintenance request message from one of the user computers via the network;
referring by the vendor process to the vendor software libraries managed by one of the vendors according to the object software distribution/maintenance request message and settings made by the one of the vendors;
generating an answer message in response to the object software distribution/maintenance request message; and
sending the answer message to the one of the user computers which issued the object software distribution/maintenance request message.
75. A software distribution and maintenance system using a network in which a plurality of users using a number of types of object software to be distributed, managed, and maintained, and a plurality of software vendors supplying the object software manage the distribution and maintenance of the object software over a computer network, comprising:
one or more first process means CP installed in each of user computers, that manage a plurality of object software groups to be used by one or more users individually for every object software and for every user;
one or more second process means installed in one or more software vendor computers, that each providing services to a Plurality of vendor software libraries for each of the software libraries; and
a network that connects the first process means installed in the user computer to the second process means, based on standardized communications protocols,
said first process means having a capability to perform distribution or maintenance of the object software by sending a message a request of distribution or maintenance of the object software for one piece of object software over the network, according to instructions given by one or more of the users or a user defined program, receiving an answer message from the second process means SP, and processing based on contents of the answer message and settings made by the users, and
said second process means having a capability to receive the message from each first process means to reference one or more of the software libraries managed by one or more of the vendors depending on the contents of the message and settings made by the vendors for the object software specified with the message, to generate the answer message to answer the request of distribution or maintenance of the object software, and to send the answer message to said first process means that generated the message.
76. The software distribution and maintenance system using a network according to claim 75, used by the users taking advantage of one or more pieces of the object software included in the object software groups, and the vendors supplying one or more pieces of the object software in the object software groups, wherein one or more computers each comprise both said one or more first process programs and said one or more second process means.
77. The software distribution and maintenance system using a network according to claim 75, wherein the message, sent and received over said network between said first process means installed in one of the user computers, and said second process means installed in one of the vendor computers, consists of a header part of the message, an attribute part as fixed data, an instructing part as a specific request and instruction data, and a module part as corresponding software.
78. The software distribution and maintenance system using a network according to claim 75, wherein the attribute part forming a part of the message is configured as hierarchical structure data of a pair of a keyword and a value, facilitates referencing and updating management data for user set for every object software and for every user, and management data for vendor set for every object software library and for every vendor.
79. User computers used in a software distribution and maintenance system using a network in which a plurality of users using a plurality of types of object software to be distributed, managed, and maintained, and a plurality of software vendors supplying the object software manage the distribution and maintenance of the object software over said network, comprising:
one or more process means that manage a plurality of object software groups to be used by the users individually for every object software and for every user using the object software; and
storage means for storing management data for user set for every user for every object software and user process procedures which are process procedures for said process means to distribute and maintain the object software, set for every object software and for every user, said process means calling said user process procedures to reference the management data for user, send a message to request distribution and maintenance of the object software to the vendor of the object software over said network according to standardized protocols in the system, and perform distribution and maintenance of the target software.
80. The user computers in the software distribution and maintenance system using a network according to claim 79, wherein the management data for user includes user identification information corresponding to each user, vendor identification information corresponding to each object software vendor, software identification information corresponding to each object software, and environment information.
81. The user computers in the software distribution and maintenance system using a network according to claim 79, wherein each user process procedure comprises:
message-editing procedures that edit a message to request distribution and maintenance sent from said user process procedure to the vendor of the object software;
a vendor verification procedure that verifies a vendor of the object software; and
reception process procedures that process an answer message from the vendor of the object software.
82. The user computers in the software distribution and maintenance system using a network according to claim 79, each comprises said management data for user, said user process procedures, and said first process means for each of the plurality of versions of the object software so that every user can utilize the plurality of versions.
83. The user computers in the software distribution and maintenance system using a network according to claim 79, each comprises data for specifying a plurality of versions for said management data for user, and both said user process procedures and said first process means for the plurality of versions so that every user can utilize a plurality of versions of an identical piece of the object software at the same time.
84. A vendor computer in a software distribution and maintenance system using a network in which a plurality of users using a plurality of types of object software to be distributed, managed, and maintained, and a plurality of software vendors supplying the object software manage the object software distribution for distributing the object software over said network, comprising:
at least one process means for providing services of each of the software libraries and each of the vendor software libraries; and
storage means for storing management data for vendor set for every vendor and for every software library, and vendor process procedures which are process procedures for said process means to distribute and maintain the object software on the user computers, set for every vendor and for every software library, said process means performing a corresponding process for a message of the object software from the user, set for every vendor and for every object software library.
85. The vendor computer in the software distribution and maintenance system using a network according to claim 84, wherein said management data for each vendor includes user identification information concerning all the users of the object software, vendor identification information concerning the vendor of the object software library, software information concerning the object software library, and environment information.
86. The vendor computer in the software distribution and maintenance system using a network according to claim 84, wherein said vendor process procedures include a user qualification verification procedure for the object software, an unqualified user process procedure, reception and answer process procedures for analyzing a message received from the user, and generating an answer message.
87. The vendor computer in the software distribution and maintenance system using a network according to claim 84, wherein said object software library includes a plurality of versions of the object software, and said process means corresponding to the object software library gives services to said object software library using management data for vendor and vendor process procedures that correspond to a plurality of versions.
88. A software distribution and maintenance method in which a plurality of users using a plurality of types of object software to be distributed, managed, and maintained, and a plurality of software vendors supplying the object software, manage distribution and maintenance of the object software, said method utilizing at least one first process in each of a plurality of user computers, that manage object software groups to be used by the users individually for every object software and for every user using the object software, at least one second process in vendor computers, that provide services to vendor software libraries for each of the vendor software libraries, and a network that connects the user computers to the vendor computers standardized communication protocols, said method comprising:
invoking a first process with a command entered by one of the users on one of the user computers or with a command invoked from a user-defined program;
sending a request message from the first process to request distribution or maintenance of at least one piece of the object software to a second process managing at least one of the vendor software libraries of the object software;
receiving the request message by the second process in one of the vendor computers;
generating an answer message to answer the request message by referencing at least one of the vendor software libraries managed by at least one of the software vendors for the at least one piece of the object software specified by the request message;
returning the answer message to the first process;
receiving the answer message by the first process; and
processing the answer message depending on contents of the answer message and settings made by the one of the users for the distribution or maintenance of the at least one piece of the object software.
89. The software distribution and maintenance method using a network according to claim 88, wherein the first process means installed in the user computers, which is invoked with a command entered by the user on the user computers, or a command in a user-defined program, calls a message-editing procedure which is one of user process procedures for distributing and maintaining the object software, edits a message to request distribution and maintenance based on the standardized protocols within the system while referencing the management data for user set for message and generating an answer message, references the object software library while referencing and updating said management data for vendor, and generates an answer message for distribution and maintenance of the object software in response to the received message to request distribution and maintenance, and returns the answer message to the first process means.
90. The software distribution and maintenance method using a network according to claim 88, wherein the first process installed in the user computers,
receives the answer message returned from the second process in response to the request message sent by the first process to request distribution or maintenance of the object software,
verifies that the answer message is returned from a legal vendor,
calls a reception process procedure which is one of user process procedures set for the one of the users and for the object software,
performs distribution and maintenance of the object software according to contents of the answer message, and
prepares for execution of the object software according to a determination made by the first process while referencing and updating management data for user set for the one of the users and for the object software.
91. The software distribution and maintenance method using a network according to claim 88, wherein the first process installed in the one of the user computers
receives the answer message returned by the second process in response to the request message sent by the first process to request distribution and maintenance of the object software,
performs distribution and maintenance of the object software according to the answer message, and
then automatically returns a response message to the second process indicating whether the distribution and maintenance was properly executed on the one of the user computers.
92. The software distribution and maintenance method using a network according to claim 88, wherein said second process installed in the vendor computers
receives the request message from the first process to request distribution and maintenance of the object software belonging to the vendor software libraries managed by the second process,
verifies that the request message to request distribution and maintenance is sent from a legal user by referencing user identification information included in vendor management data set for the software vendors and for the vendor software libraries,
calls a reception/answer process procedure for analyzing the request message and generating the answer message,
references the at least one of the vendor software libraries while referencing and updating the vendor management data,
generates the answer message for distribution and maintenance of the object software in response to the request message to request distribution and maintenance, and
returns the answer message to the first process.
93. The software distribution and maintenance method using a network according to claim 88, wherein a message, which is sent and received over the network between the first process means (CP) installed in one of the user computers and the second process means installed in one of the vendor computers, consists of a header part of the message, an attribute part as fixed data, an instructing part, a specific request and instruction data, an instructing part as instruction data, and a module part as corresponding software.
94. A method for purchasing new software in a software distribution and maintenance system using a network, in which a plurality of users using a plurality of types of object software to be distributed, managed, and maintained, and a number of software vendors supplying the object software manage the distribution and maintenance of the object software over a network, comprising:
one of the users sending a message to request summary information of the object software from first process means in the user computers to second process means over said network by use of any of the first process means which simply has the capability to request summary information and of receiving an answer message to the request of summary information;
the second process means providing basic components of the first process means and user process procedures sufficient for a new purchase of the object software as part of the answer message in response to the summary inquiry to the user computers over the network;
the user sending a message to request a new purchase to the second process means over the network using the basic components of the first process means and the user process procedures;
the second process means providing the whole set of said first process means and user process procedures appropriate for the distribution and maintenance of the object software to the user's first process means over the network;
the user computers thereafter distributing and maintaining the object software using the first process means and the user process procedures.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a software distribution and maintenance system and method with which a software vendor can provide a number of users with software over a network, and update and maintain the software at requests of the users, and with which the users obtain a lot of software from plural software vendors over the network and can use the latest versions of the software over the network.
2. Description of the Related Art
The well-known prior art to distribute and obtain software update information is as follows.
(a) Method of Distributing Software using Portable Media
To sell and distribute computer software to users, the software is normally stored in portable media such as magnetic tapes, floppy disks, etc.
In this case, it is necessary to provide additional services such as correcting bugs, adding functions, and supplying new versions.
If the additional services are to be installed in the users' computer systems, the vendors have to visit the users' offices, or the users must install necessary services by themselves.
(b) Method of Distributing Software over a Network from a Vendor
Recently, software is transmitted over a communications network to users. Information required to correct bugs, add functions, and supply new versions can also be provided for users from vendors over a network. If a vendor is informed of a user address, then the vendor can decide to transmit necessary information to the user.
When computer software is actually updated in user computer, the software should be re-installed by the user according to the software update information and instructions from the vendor of the software.
(c) Method of Users' Obtaining Software over a Network
Recently, a user can obtain a software over a network, when required, by accessing a software library which is stored in a vendor (or an agent) computer file (download). Likewise obtained at a request of a user is the information about correcting bugs, adding functions, and supplying new versions. The vendor only has to manage the library. The obtained software is installed, updated, and managed in the user computer at the user's responsibility.
In this case, the software used to obtain a necessary software over a network is quite separate from the necessary software, and therefore is not used to update the necessary software. The user has to decide which software/information is to be obtained and is responsible for the access operations.
(d) Linking and Processing Distributed Software over a Network
Software should be appropriately converted in an executable format normally by compiling and linking source programs. Usually, the source programs are stored in a user computer and then compiled and linked when necessary. However, the source programs can be stored in another computer (that is, the vendor computer). In this case, the user accesses the vendor computer from the user computer over a network, then either (1) compiles and links the source programs in the vendor computer to download the resultant programs or (2) downloads the source programs and then compiles and links them in the user computer, thereby converting the software into an executable format.
This method fundamentally belongs to the above described method (c), but is an easier method of executing software.
In this method, the user recognizes that the source programs are stored in another computer, and then clearly specifies necessary modules and files (for example, specifies the name of a file with its version number) to transfer and link the programs. The entire process is performed at the user's responsibility.
Described below are the prior arts partially similar to the above described technology but different in purpose, object, and method.
(e) Automatic Download
This method is used for an electronic notice board. In this method, a large amount of news information is stored in a central computer, etc., and a terminal computer can access the central computer through the network periodically at intervals and automatically read new information in a specified category if newly stored (download).
In this case, the central computer is regarded as a vendor computer, and the terminal computer is regarded as a user computer. Object information is news, software (so-called freeware), etc.
The software which is automatically downloaded is stored as ordinary data, and does not directly update or manage the software currently used in the user computer. That is, the above described automatic download system does not manage the software currently used by a user.
(f) Mirroring
A mirroring process is used to access new/updated data and obtain the latest information among a plurality of central computers, etc. which store and provide a large amount of document data, etc.
A central computer is a primary storage center of information of a specific category. Stored information is copied to other plural central computers (secondary storage centers) for disclosing the stored information.
To attain this, the secondary storage centers periodically access the primary storage center, and detect and read newly stored/updated information only. This method is different from the above described automatic downloading method (e) in obtaining information in plural categories by switching for each category the functions of the primary storage center and the secondary storage centers among the central computers in a network.
In this method, the information exchanged among the central computers (including software) is handled as ordinary data. That is, the software currently used by a user is not directly updated or managed through mirroring.
(g) Remote Maintenance over a Network
If a fault occurs in a user computer, a software (or hardware) vendor directly operates user software through a network at a user's request (or through automatic communications over the network) to detect the reason for the fault and recover from the fault.
This process is normally performed as a service individually provided by a vendor engineer to recover from a software fault.
That is, the process is different from an automatic supply of maintenance and update services by automatic software for a number of users.
(h) Client/Server Method
The client/server method, in which information is communicated between the client and server software and a client operates server software, is well known and has been used to realize the above listed technologies (b)-(f). No systems, however, have been developed so far with this method to automatically update software already distributed to a user, by simply updating the software in the vendor computer.
Generally, computer software has been designed as an advanced, complicated, and large-scale product with wide variation, and is used by the increasing number of users in various fields.
Under such conditions, optimally maintaining, managing, updating, and improving user computer software is a big consuming job to vendors and users.
Nevertheless, according to the above listed conventional methods, the software update information is distributed individually by a vendor to a user as in the cases of (a) and (b), or is obtained by the user as in the cases of (c) and (d). It is determined individually either by a vendor or by a user which version or part of software is transmitted and obtained, and the software is manually installed or re-installed. These manual operations cause many inconveniences and problems.
From a viewpoint of vendors, since software is supplied to a large number of users on a variety of time schedule and is independently managed by users, it brings forth various problems when the software should be optimally maintained and managed.
That is, the following problems are caused in the above listed prior art technologies.
<Problem 1> Since a great number of users obtain and use software with different configurations according to different schedules, it is very difficult for vendors to correctly recognize the configuration of the software of each user.
<Problem 2> Although a bug is detected and the vendor software is corrected in a vendor computer, the software in a user computer cannot be corrected immediately. Therefore, the user faces inconvenience until the incomplete software is corrected in a user computer.
<Problem 3> It takes a long time to provide all users with new services such as extended functions, new versions, etc.
<Problem 4> Since actual users of software cannot be sufficiently recognized by a vendor in many cases, the vendor cannot send necessary information promptly to the users. This problem grows as the users increase in number and in variation, especially for commercially distributed software.
<Problem 5> Since a large cost is required when a vendor has to visit a user to install software, it is practically impossible to install the software in many cases. Whereas not all services provided by the vendor for the software can be realized when the user is made responsible to install the software.
From a viewpoint of users, a quick and proper service cannot be given by the vendor, and a time-consuming process is required onto the user to install, update, or manage the software. Thus, the software cannot be sufficiently utilized.
<Problem 6> Sufficient knowledge and time consuming work are required to optimally install software depending on the hardware/software environment of each user and to manage the versions of the installed software, thereby permitting only skilled engineer to perform the required processes.
<Problem 7> If software contains bugs, an object job cannot be performed properly or smoothly in a user computer, and the user must obtain a bug-corrected version from the vendor and install it with taking a long time for the process.
<Problem 8> Even when new functions are added or new versions are developed by the vendor, they are not significant until the users can obtain and re-install them successfully. obviously, long processes and time are required to obtain and re-install them.
<Problem 9> Users are often ignorant of the information of bug correction, function addition, new version development, etc. pertaining their software and are using the old software as being incomplete.
<Problem 10> It is troublesome for a user to frequently receive information from the software vendor about bug correction, additional functions, etc. and to have to install additional technologies.
Summing up the above listed problems, they are caused by manual processes performed by software vendors or users in distributing/obtaining software update information (and updated software) and updating the software in the users' computers (re-installing the software).
A comparatively simple system to solve these problems can be a system of automatically updating an object software in a computer of each user to the latest version by use of a client/server method A single object program is managed by client programs in a number of user computers and is supported by a server program which manages the software library of the object software in a vendor computer.
However, such a system cannot be successfully designed without solving the following various problems of wide-purpose and wide-variation software of late.
<Problem 11> A number of users refer to wide variation. For example, (1) various computers, (2) various software environments in user computers, (3) various electronic skill levels of users, (4) various skill levels and purposes of use for an object software, (5) various uses of user computers (for office use, personal use, etc.), and the like.
Considering the above listed variation, client programs must have sufficient variety in the process to manage software in user computers. Software vendors and server programs in vendor computers should properly recognize the above listed variation at users'.
<Problem 12> The variation pertaining to a number of software affects the distribution and management of the software.
There are various types of software which differ in distribution and usage. For example, (1) product software, published common-use software, and intra-office software, (2) embedded software, basic software (OS), and application software, (3) operating system, online software, and batch run software, (4) load module provided, object module provided, and source provided software. Each type of software should be processed appropriately.
<Problem 13> Even a single user has different levels and phases in using a single object software.
For example, there are different levels or phases of usage as follows: (1) a phase having no purchase right, and a phase having an purchase right, (2) a phase of without initial installation and a phase complete initial installation, (3) beginner user phase, stable user phase, and advanced user phase, (4) conventional version phase, version switching phase, new version phase, (5) a phase of stable use of conventional environment, a phase of trial use of new environment, and new environment phase, etc.
These phase differences should be sufficiently considered for each user to obtain software services properly.
<Problem 14> A single user usually adopts plural sets of object software provided by different vendors. It is not convenient for users that plural sets of object software are managed by different distribution/maintenance systems provided by different vendors. A more systematic and convenient system is required by users.
Summarizing the above problems 11 through 14, a unified system and method for distributing and maintaining software are required where a number of various software users and a number of vendors can systematically manage the distribution and maintenance of plural sets of various object software.
SUMMARY OF THE INVENTION
Object of the Invention
The present invention has been developed to solve the above described problems of the prior art technologies.
The first object of the present invention is to provide a software distribution/maintenance system and method over a network so that a number of various software vendors and users can systematically manage plural sets of various object software.
The second object of the present invention is to provide a software distribution/maintenance system and method over a network so that users can quickly and properly obtain and use the software developed and updated by the software vendor.
The third object of the present invention is to provide a software distribution/maintenance system and method over a network so that computer users connected to the network can quickly and properly obtain software used by another user in the network.
The fourth object of the present invention is to provide a software distribution/maintenance system and method over a network so that users can make requests and inquiries to software suppliers in various formats, for example, inquiries of the outline of software, requests for initial purchase of software, inquiries of update, request for new services, etc.
The fifth object of the present invention is to provide a software distribution/maintenance system and method over a network in order to distribute and maintain various types of software such as product software, shareware, freeware, scientific prototype software, intra-office software, etc.
The sixth object of the present invention is to provide a software distribution/maintenance system and method over a network so that even an unskilled user can obtain a new software or an updated software in an immediately operable form.
The seventh object of the present invention is to provide a software distribution/maintenance system and method over a network so that a software vendor can immediately detect an occurrence of a software fault in order to quickly correct the fault.
The eighth object of the present invention is to provide a software distribution/maintenance system and method over a network which allows to unify a program of managing the software of user computers and to unify a program of managing each software library of vendor computers.
The ninth object of the present invention is to provide a software distribution/maintenance system and method over a network which allows flexible message communication between users and vendors by introducing procedure definition of methods of processing the messages.
The tenth object of the present invention is to provide a software distribution/maintenance system and method over a network which allows secured message communication between users and vendors by introducing procedure definition of methods of confirming a vendor and determining the qualification of a user.
The eleventh object of the present invention is to provide software on a worldwide scale, or build a standardized technical framework suitable for a form of software distribution without making the designs of the client program CP and the server program SP complicated. That is, the present invention is intended to provide a software distribution and maintenance system and method, which uses a number of and a variety of pieces of software as objects and can be utilized by a number of software users joined on a worldwide scale, comprises a capability to rapidly and properly acquire and use software created and updated by software vendor.
A feature of the present invention resides in a software distribution/maintenance system having a plurality of user computers and a vendor computer connected to the plurality of user computers through a network to manage and automatically update over the network a set of object software sent and stored in the user computers from the vendor computer through the network, comprising: first process means in the user computers; second process means in the vendor computer; and object software library in the vendor computer, wherein said first process means sends current configuration information of the object software stored in the user computers to said second process means of the vendor computer through the network to inquire the latest configuration, receives an answer from said second process means, and updates the object software stored in the user computers according to an instruction in a received answer; and
said second process means receives an inquiry from said first process means in the user computers, generates update instruction information for the object software to match a configuration of the object software in the user computers with the configuration of an updated version in said object software library stored in the vendor computer, and returns through the network to the first process means the update instruction information and the software of the updated version.
Another feature of the present invention resides in a software distribution/maintenance system having a plurality of user computers and a vendor computer to manage and automatically update object software provided for the plurality of user computers from the vendor computer thorough a network, comprising: first process means in each of the user computers; and
network means for connecting the user computers to the vendor computers; wherein said first process means sends current configuration information of the object software stored in the user computers to the vendor computer through the network to inquire the latest configuration, receives an answer from the vendor computer, and updates the object software stored in the user computers according to an instruction in a received answer.
A further feature of the present invention resides in a software distribution and maintenance system using a network in which a number of users U1, U2, . . . using a number of types of object software to be distributed, managed, and maintained, and a number of software vendors V1 , V2, . . . supplying the object software manage the distribution and maintenance of the object software over a computer network, comprising: one or more first process means CPs installed in each of user computers, that manage object software groups S1, S2, . . . to be used by one of more users U1, U2, . . . individually for every object software and for every user; one or more second process means SPs installed in either of software vendor computers, that gives services to vendor software libraries SL (S1), SL (S2), . . . for each of the software libraries; a network that connects the first process means CP installed in the user computer to the second process means SP, based on standardized communications protocols; and wherein said first process means CP has a capability that perform distribution and/or maintenance of the object software by sending a message that requests to distribute and/or maintain the object software for one piece of object software over the network, according to instructions given by the users U1, U2, . . . or a user-defined program, receiving an answer message from the second process means SP, and processing it depending on contents of the answer message and settings made by the users U1, U2, . . . ; and said second process means SP has a capability to receive the message from an arbitrary first process means CP, to reference the software libraries SL(S1), SL(S2), . . . managed by the vendors V1, V2, . . . depending on the contents of a received message and settings made by the vendors V1, V2, . . . for the object software specified with the message, to generate an answer message to answer the request of distribution and/or maintenance of the object software, and to send the answer message to said first process means CP of the sender of the corresponding message.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows the principle of the first embodiment of the present invention;
FIG. 2 shows the principle of the second embodiment of the present invention;
FIG. 3 shows the system configuration according to the first embodiment;
FIG. 4 shows the process performed by a user computer according to the first embodiment;
FIG. 5 shows the process performed by a server program of a vendor computer according to the first embodiment;
FIG. 6 shows the process for periodical update in a user computer according to the first embodiment;
FIG. 7 shows a practical example of the first embodiment;
FIG. 8 shows the system configuration according to the second embodiment;
FIG. 9 shows the computer as a vendor-and-user computer according to the second embodiment;
FIG. 10 shows the contents of user management data in a user computer according to the second embodiment;
FIG. 11 shows the contents of the vendor management data in a vendor computer according to the second embodiment.
FIG. 12 shows the entire configuration of the process performed by a client program according to the second embodiment;
FIG. 13 shows the entire configuration (continued) of the process performed by a client program according to the second embodiment;
FIG. 14 shows the entire configuration of the process performed by a server program according to the second embodiment;
FIG. 15 shows the entire configuration (continued) of the process performed by a server program according to the second embodiment;
FIG. 16 is a flowchart showing the entire process of the software distribution/maintenance method according to the second embodiment;
FIG. 17 is a flowchart showing the entire process performed by the software distribution/maintenance method using user management data and vendor management data;
FIG. 18 shows a block diagram of a principle structure according to the third embodiment of the present invention;
FIG. 19 shows a block diagram of the third embodiment shown in FIG. 18 of a software distribution and maintenance system utilizing a network according to the present invention;
FIG. 20 designates an upward message and a downward message according to the third embodiment;
FIG. 21 depicts an example of a processing command;
FIG. 22 shows the correspondence relationship between various messages;
FIG. 23 shows a flowchart of an entire process performed by a client program CP according to the third embodiment; and
FIG. 24 shows a flowchart of an entire process performed by a server program SP according to the third embodiment.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
First Preferred Embodiment for Distributing/Maintaining an Object Software
According to the first embodiment of the present invention, a client program is stored in each user computer to manage an object software to be distributed and maintained, and a server program is stored in a vendor computer to manage an object software library.
The client program sends configuration information indicating the modules forming the object software in the user computer to the server program of the vendor computer through the network, inquires whether or not the configuration of the present object software matches the configuration of the latest configuration, receives an answer from the server program, and updates the object software according to the answer.
On the other hand, the server program receives an inquiry about the configuration of software from any client program in a plurality of user computers, generates update instruction information for the object software so that the configuration of the user software matches the latest version of the object software in the vendor computer, and answers the inquiring client program. by providing the update instruction information and the software of the latest version over the network.
Second Preferred Embodiment for Distributing/ Maintaining Multiple Object Software of Multiple Vendors
The above described configuration is used in an automatic remote software update system in which a single object software is used as a principle. Furthermore, according to the second embodiment, each user computer is usually provided with plural sets of object software, and each vendor computer is usually provided with a plurality of software libraries.
According to the second embodiment, each user computer stores a client program for managing plural sets of software used by a plurality of users, and each vendor computer stores a server program for managing a plurality of software libraries provided by the vendor.
The client program in each user computer sends according to the instruction of the user over a network a message requesting to distribute/maintain a single object software to the server program in the vendor computer from which the software is supplied, and then performs processes to distribute and maintain the object software according to the answer message from the server program and the answer instruction predetermined by the user.
In response to this, when the server program receives a message from the client program in any user computer, it refers to the software library of the object software specified by the message according to the received message and the received instruction predetermined by the vendor, generates an answer message to the distribution/maintenance request message, and returns the answer message to the client program over the network.
According to the present invention, the server program in the vendor computer returns the answer message in response to the software distribution/maintenance request message from the client program, thereby automatically distributing/maintaining the object software as described above.
Explanation of the Principle
Explanation of the Principle of the First Embodiment
Described first is the principle of the first embodiment of the present invention.
FIG. 1 shows the principle of the first embodiment. In FIG. 1, user computers 1-1, . . . , 1-n are connected to a vendor computer 3. Each of the user computers 1-1, . . . , 1-n is equipped with an object software 1a to be updated/managed and a first process unit 1b (which may be called a client program CP) for managing the configuration and operation of is the object software 1a, for example. A user can perform a necessary job by operating the object software 1a.
3 is a vendor computer. The vendor computer 3 is provided with a second process unit 3a (which may be called a server program SP) for managing the object software 1a stored in the user computers 1-1, . . . , 1-n, and an object software library 3b.
To solve the above described problems, a software distribution/maintenance system according to the present invention comprises, as shown in FIG. 1, a plurality of the user computers 1-1, . . . , 1-n and the vendor computer 3 connected to the plurality of user computers 1-1, . . . , 1-n through the network 2, and manages and automatically updates over a network the object software 1a stored in the user computers 1-1, . . . 1-n from the vendor computer 3 through the network 2.
In this system, the user computers 1-1, . . . , 1-n comprise the first process units 1b, and the vendor computer 3 comprises the second process unit 3a and the object software library 3b.
The first process unit 1b sends the current configuration information of the object software 1a stored in the user computers 1-1, . . . , 1-n to the second process unit 3a of the vendor computer 3 through the network 2 to inquire the latest configuration, receives an answer from the second process unit 3a, and updates the object software 1a stored in the user computers 1-1, . . . , 1-n according to the instruction in the received answer. The second process unit 3a receives the inquiry from any of the first process units 1b stored in the user computers 1-1, . . . , 1-n, generates update instruction information for the object software 1a to match the configuration of the object software 1a in the user computers 1-1, . . . , 1-n with the configuration of the updated version in the object software library 3b stored in the vendor computer 3, and returns through the network 2 to the inquiring first process unit 1b the update instruction information and the software of the updated version.
Furthermore, according to the present invention, if the operation of the object software 1a abnormally terminates in the user computers 1-1, . . . , 1-n, the first process units 1b in the user computers 1-1, . . . 1-n automatically inform over the network 2 the vendor computer 3 of an abnormal termination and its state.
The first process unit 1b according to the present invention automatically informs the vendor computer 3 of the abnormal termination, the instruction causing the abnormal termination and the reason for the abnormal termination, a series of instructions which invoked the instruction causing the abnormal termination, and the environment of the software/hardware used when the abnormal termination is detected.
The first process unit 1b can be designed to automatically informs over the network 2 the vendor computer 3 of the fact and state of the termination of an abnormal condition by general-purpose electronic mail.
According to the present invention, the software distribution/maintenance method manages and automatically updates the object software 1a stared in the user computers 1-1, . . . , 1-n from the vendor computer 3 through network 2 .
In this method, the first process units 1b in the user computers 1-1, . . . , 1-n send the current configuration information of the object software 1a to the second process unit 3a in the vendor computer 3 through the network 2 to inquire the latest configuration.
The second process unit 3a in the vendor computer 3 receives the above described inquiry, generates update instruction information for the object software 1a to match the configuration of the object software 1a in the user computers 1-1, . . . , 1-n with the configuration of the updated version in the object software library 3b stored in the vendor computer 3, and returns through the network 2 to the inquiring first process unit 1b the update instruction information and the software of the updated version.
The first process units 1b stored in the user computers 1-1, . . . , 1-n receive an answer from the second process unit 3a, update the object software 1a according to the update instruction information in the answer, and prepare for the compiling and linking of programs if necessary.
There can be plural ways of activating the first process unit 1b. Three ways of them are shown below:
When the object software 1a is activated in the user computers 1-1, . . . , 1-n, the first process unit 1b immediately sends the current configuration information of the object software 1a to the second process unit 3a in the vendor computer 3 through the network 2 to inquire the latest configuration, receives an answer from the second process unit 3a, updates the object software 1a according to the update instruction information in the answer, and prepares is for the compiling and linking of programs if necessary.
When the first process unit 1b is activated in the user computers 1-1, . . . , 1-n at a predetermined time, the first process unit 1b sends the current configuration information of the object software 1a to the second process unit 3a in the vendor computer 3 through the network 2 to inquire the latest configuration, receives an answer from the second process unit 3a, updates the object software 1a according to the update instruction information in the answer, and prepares for the compiling and linking of programs if necessary. Thus, the object software la can be automatically updated.
When a user instructs the user computers 1-1, . . . 1-n to activate the first process unit 1b, the first process unit 1b sends the current configuration information of the object software 1a to the second process unit 3a in the vendor computer 3 through the network 2 to inquire the latest configuration, receives an answer from the second process unit 3a, updates the object software 1a according to the update instruction information in the answer, and prepares for the compiling and linking of programs if necessary. Thus, the object software 1a can be automatically updated.
The above described methods can be selectively used to activate the first process unit 1b.
Function of the First Embodiment of the Present Invention
In FIG. 1, if a user activates the object software 1a of the user computers 1-1, . . . , 1-n, then the first process unit 1b detects the activation and sends configuration information of the current version to the second process unit 3a in the vendor computer 3 through the network 2. When the second process unit 3a in the vendor computer 3 receives the information, it compares the current configuration with the configuration stored in the object software library 3b, and returns the instruction information for the update of the object software 1a of the user together with the update software. The user's first process unit 1b automatically updates the object software 1a using the received information.
The first process unit 1b can be activated at a predetermined time or at a user instruction as shown in FIG. 1, thereby updating the object software 1a.
Thus, the current configurations of the software in the computers of a number of users can be exactly recognized by the vendor, and the vendor can automatically provide the users with the latest version of the software and the latest information relating to the software.
Furthermore, the software can be automatically installed and the latest version of the software can also be automatically managed. Therefore, the vendor does not have to visit the user's office to install the software, and even beginners and unskilled users can correctly receive the latest version of the software.
In case that the operation of the object software 1a abnormally terminates in the user computers 1-1, . . . , 1-n, the first process units 1b in the user computers 1-1, . . . , 1-n automatically inform over the network 2 the vendor computer 3 of an abnormal termination and its state if the operation of the object software 1a abnormally terminates in the user computers 1-1, . . . , 1-n. Therefore, the user system automatically informs the vendor of the exact information of a fault of the software in the user computer when it occurs. The vendor corrects the software library according to the fault information. Then, the user can immediately use or operate the corrected software without a burden on the user.
The first process unit 1b automatically informs the vendor computer 3 of the abnormal termination, the instruction causing the abnormal termination and the reason for the abnormal termination, a series of instructions which invoked the instruction causing the abnormal termination, and the environment of the software/hardware used when the abnormal termination is detected. Accordingly, the vendor can efficiently correct the object software according to the above described detailed fault information. The first process unit 1b automatically informs the vendor computer 3 of an abnormal termination and state over the network 2 in the format of general-purpose electronic mail, thereby transmitting the abnormal termination information and the state in the common communications.
The first process unit 1b sends the current configuration information of the object software 1a to the second process unit 1a in the vendor computer 3 through the network 2 to inquire the latest configuration. The second process unit 3a in the vendor computer 3 receives the above described inquiry, generates update instruction information for the object software 1a to match the configuration of the object software 1a with the configuration of the updated version in the object software library 3b, and returns through the network 2 to the inquiring first process unit 1b the update instruction information and the software of the updated version. The first process unit 1b receives an answer from the second process unit 3a, updates the object software 1a according to the update instruction information in the answer, and prepares for the compiling and linking of programs if necessary.
When the object software 1a is activated, the first process unit 1b immediately sends the current configuration information of the object software la to the second process unit 3a in the vendor computer 3 through the network 2 to inquire the latest configuration, receives an answer from the second process unit 3a, updates the object software 1a according to the update instruction information in the answer, and prepares for the compiling and linking of programs if necessary. Thus, the user can automatically update the object software 1a without considering the activation of the first process unit 1b.
When the first process unit 1b is activated at a predetermined time, the first process unit 1b sends the current configuration information of the object is software 1a to the second process unit 3a to inquire the latest configuration, receives an answer from the second process unit 3a, updates the object software 1a according to the update instruction information in the answer, and prepares for the compiling and linking of programs if necessary. Thus, the object software 1a can be automatically updated. Therefore, the object software 1a can be automatically updated at night, for example, with the user released of being kept waiting in updating the object software 1a during the operation of the software. Furthermore, by the activation of the first process unit 1b at times predetermined by user's software, the object software 1a can be automatically updated periodically every dawn, every week, or every month without user's explicit operations.
When the user explicitly activates the first process unit 1b, it immediately sends the current configuration information of the object software 1a to the second process unit 3a in the vendor computer 3 through the network 2 to inquire the latest configuration, receives an answer from the second process unit 3a, updates the object software 1a according to the update instruction information in the answer, and prepares for the compiling and linking of programs if necessary. Thus, the object software can be automatically updated by the user's initiation at any time when necessary.
The above described methods can be selectively used to update the object software 1a.
Explanation of the Principle of the Second Embodiment
Described below is the principle of the second embodiment. According to the second embodiment, unlike the first embodiment, each user computer normally comprises plural sets of software which are used by each user and provided by a plurality of vendors, and a plurality of vendor computers store a plurality of software libraries.
General Structure of the System
FIG. 2 shows the principle of the second embodiment. In FIG. 2, a user computer 11 is used by a plurality of users U1, U2, . . . (normally represented as user Uj). The users are provided with object software SU1, SU2, . . . (normally represented as object software SUj) to be managed by the present invention, user management data UD1, UD2, . . . (normally represented as management data UDj), and a third process unit CP, for example, a client program.
The third process unit CP sends to a vendor various messages from a user to the vendor such as software purchase requests, update inquiries, fault reports, etc., receives an answer from the vendor, updates user software, etc. The user management data UD1, UD2, . . . contain user identification information, software management/configuration information, information (procedure) for regulating a processing method (method of installing software), etc. The information is used when various messages such as software purchase requests, update inquiries, fault reports, etc. are issued by the third process unit CP and when the user software is updated.
A vendor computer 13 is provided with software libraries SL1, SL2 (normally represented as SLi) of a vendor V1 (normally represented as a vendor Vk), vendor management data VD1, VD2 (normally represented by VDi), and a fourth process unit SP, for example, a server program.
The fourth process unit SP returns necessary information and software in response to various inquiries and requests from the users U1, U2,
The vendor management data VD1, VD2 contain data such as vendor identification information, software configuration information, customer management information, etc.; and regulatory information (procedure) for defining an answering method.
A user/vendor computer 14 is used by a user U3 and a vendor V2 (or a user can be a vendor) and they are individually provided with object software SU3, user management data UD3, the third process units CP, software libraries SLn, vendor management data VDn, and the fourth process units SP.
A network 12 connects the above mentioned computers 11, 13, and 14, and transmits messages communicated among them.
The configurations and versions of an object software are represented using the following terms and identification characters in this specification.
Each object software is referred to as object software Si. For example, S1 and S2 are different software. Since a single set of software Si has a number of version types depending on the type of computer, the specification of functions, etc., the version types are specified by respective characters such as Si.V, Si.V', Si.V", etc. Furthermore, each version type is qualified with a version number for management of update order. For example, Si.V.1 indicates the version type and number of a set of software. The set of version type and number are referred to as a version for short.
The object software Si is supplied by a vendor (Vk) and managed in the software library SLi which stores software of all versions (Si.V.1, Si.V.2, . . . Si.V'.1, . . . ) of all version types Si.V, Si.V', . . . Each object software Si normally comprises a number of modules M1, M2, . . . (Commonly represented by Mm), and each of these modules is also assigned a new version number each time the module is updated. Thus, a module is represented by a module type and version number, for example, Mm.n. Generally, a software version Si.V.1 of software Si comprises a number of versions of modules (for example, M1.2, M2.1, M3.5, . . . ), and a specific module version can be shared by different software versions.
When users adopt object software Si, they normally desire to select the optimum version type Si.V from among a number of version types and then use the latest version Si.V.1 in the selected type.
Usually, a single user uses plural sets of software. Plural sets of object software SUj used by user Uj comprise a number of versions of software (for example, S1.V.1, S2.V'.3, S3.V".1, . . . ).
As described above, a vendor manages a number of versions for a single set of software, and a user manipulates plural sets of software (supplied by different vendors), but usually a single version for each set. Thus, the second embodiment is based on the supply/use of plural sets of software from a number of vendors to a number of users.
As shown in FIG. 2, the distribution of object software is managed over the communications network 2 by a number of users U1, U2, . . . who actually use plural sets of object software S1, S2, . . . to be distributed, managed, and maintained and by a number of software vendors V1, V2, . . . who supply the users with the above listed object software in the software distribution/maintenance system according to the present invention. The system comprises the following units.
(a) In each user computer 11, object software SU1, SU2, . . . to be used by users U1, U2, . . . , and a third process unit CP for managing plural sets of object software SU1, SU2, . . . .
(b) In each software vendor computer 13, vendor software libraries SLI, SL2, . . . and a fourth process unit SP for providing services relating to the software libraries SL1, SL2, . . . .
(c) a network 12 for connecting each user computer 11 and vendor computer 13
Each unit has the following functions.
(d) The third process unit CP sends over the network 12 an object software distribution and/or maintenance request message according to an instruction of users U1, U2, . . . or an instruction of a user-written program to the fourth process unit SP of the vendor computer 13 which stores a software library containing the above described object software, receives an answer message from the fourth process unit SP, and performs processes for distributing and/or maintaining the object software.
(e) The fourth process unit SP receives the message from any third process unit CP, refers to software libraries SL1, SL2, . . . managed by vendors V1, V2, . . . according to the received message and the settings made by vendors V1, V2, . . . , generates an answer message in response to the object software distribution and/or maintenance request message, and sends the answer message to the third process unit CP of the message sender.
When any object software managed by the third process unit CP in the user computer 11 abnormally terminates during its operation, the third process unit CP detects and analyzes the abnormal condition, and then automatically sends the fault report to the fourth process unit SP of vendors V1, V2, . . . over the network 12. The fourth process unit SP of vendors V1, V2, . . . receives the fault report and informs vendors V1, V2, . . . of the fault.
When each version of the object software is provided for a number of users U1, U2, . . . by vendors V1, V2, . . . , a single computer user can be user Uj of a version of software and at the same time vendor Vk of a version of another software, and furthermore, a single computer can be provided with one or more third process units CP and one or more fourth process units SP.
Each user computer 11 can be designed to store user management data UD1, UD2, . . . for each of users U1, U2, . . . or each user group, and the data can be set for each object software. The third process unit CP refers to user management data UD1, UD2, . . . to manage one or more sets of object software SU1, SU2, . . .
User management data UD1, UD2, . . . can be designed to comprise user identification information of each user U1, U2, . . . or each user group, software management information of each object software used by each user U1, U2, . . . , software configuration information, and message process method specification information.
In specifying a method of processing a message according to user management data UD1, UD2, . . . , users U1, U2, . . . can specify a process method as a procedure for each function performed by the third process unit CP.
In specifying a method of processing a message according to user management data UD1, UD2, . . . , a vendor confirmation procedure can be used so that the vendor can be confirmed in order to protect the user software.
When the fourth process unit SP of the vendor computer 13 offers services using software libraries SL1, SL2 . . . , it can refer to vendor management data VD1, VD2 stored for each software library SL1, SL2, . . . .
Vendor management data VD1, VD2 can be designed to comprise the vendor identification information, software management information, software configuration information, message process method specification information, customer information, fault history information, etc.
When a message process method is specified using vendor management data VD1, VD2, vendors V1, V2, . . . can specify a method of the process as a procedure for each function performed by the fourth process unit SP.
When a message process method is specified using vendor management data VD1, VD2, a selection of user confirmation procedure can be implemented.
Users U1, U2, . . . can simultaneously obtain and use a plurality of versions of each object software.
General Method of Processing
The distribution of object software is managed over the communications network 2 by a number of users U1, U2, . . . who actually use plural sets of object software S1, S2, . . . to be distributed, managed, and maintained and by a number of software vendors V1, V2, . . . who supply the users with the above listed object software in the software distribution/maintenance system according to the present invention. The system comprises, in each user computer 11, object software SU1, SU2, . . . to be used by users U1, U2, . . . , and a third process unit CP for managing plural sets of object software SU1, SU2, . . . ; in each software vendor computer 13, vendor software libraries SL1, SL2, . . . and a fourth process unit SP for providing services relating to the software libraries SL1, SL2, . . . ; and a network 12 for connecting each user computer 11 and vendor computer 13. This system performs the following processes.
(a) Users U1, U2, . . . activate the third process unit CP through a command input by users U1, U2, . . . in the user computer 11 or according to the activation through a command from a user's program.
(b) Users U1, U2, . . . send over the network 12 an object software distribution and/or maintenance request message to the fourth process unit SP of the vendor computer 13 from which the object software is provided.
(c) The fourth process unit SP in the vendor computer 13, from which the object software is provided, receives the message from the third process unit CP.
(d) The fourth process unit SP refers to software libraries SL1, SL2, . . . managed by vendors V1, V2, . . . according to the received message and the settings made by vendors V1, V2, . . . , generates an answer message in response to the object software distribution and/or maintenance request message, and sends the answer message to the third process unit CP of the message sender.
(e) The third process unit CP in the computers of the message sending users U1, U2, . . . receives the answer message from the fourth process unit SP, and performs processes for distributing and/or maintaining the above described object software according to the answer message and the settings made by users U1, U2, . . . .
When any object software managed by the third process unit CP in the user computer 11 abnormally terminates during its operation, the third process unit CP detects and analyzes the abnormal condition, and then sends the fault report message to the vendor Vk of the software over the network 12. The fourth process unit SP of vendors Vk receives the fault report message over the network 12, and informs the vendor Vk of the fault.
Management Data and Processing in a User Computer
Each user computer 11 can be designed to store user management data UD1, UD2, . . . for each of users U1, U2, . . . or each user group, and the data can be set for each object software. The third process unit CP refers to user management data UD1, UD2, . . . to manage one or more sets of object software SU1, SU2, . . . .
User management data UDj can be designed to comprise at least user identification information |