Installation method, activation method, execution apparatus and medium of application program

Information

  • Patent Application
  • 20010052121
  • Publication Number
    20010052121
  • Date Filed
    January 19, 2001
    23 years ago
  • Date Published
    December 13, 2001
    22 years ago
Abstract
Without letting a user execute a cumbersome judgment of a version, an application program of the most suitable version is installed for data file automatically, thus an automatic activation of the application becomes possible. Firstly, a document file of a readout target is analyzed, a feature point as reserved word of macro instruction is extracted, and a version of an application suited for the document file is distinguished by an extracted feature point. Secondly, it is judged whether an application program of the version distinguished mentioned above is installed already. When found not being installed based on this judgment result, an application program of the version is newly installed.
Description


BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention


[0002] This invention relates to technology of automatic installation and automatic activation of an application of a version necessary for data.


[0003] 2. Description of the Related Art


[0004] Data form of a document file made with a personal computer and a word processor, and data form of a spreadsheet file is changed according to version up of an application program which is used to make/update the data. Therefore, there are many cases that data made with a program of a new version can not be used by a program of an old version. On the contrary, there is the case that the data which was made with an application of an old version can not be edited by an application of a new version.


[0005] In case of application of a word processor, data storing form is different due to aversion of an application. As a result, there is the case that layout of a document cannot be reproduced with an application program of another version. Therefore it is necessary to convert data form using another application called a document converter. In addition, the usable object is different due to its version in case of spreadsheet program. Therefore, there are cases that errors occur when reading data made with a different version with one program.


[0006] Furthermore, the facility program that a constant procedure called macro is described is attached in this kind of program. This macro-specification, presence of reserved word, for example, are different due to a version of the program. Therefore, macro concerned may have produced execution impossibility or an error when opening data file with a program of a version different from the version with which the data was made.


[0007] In networked society represented with Internet, there are many cases that this kind of data file is exchanged via communication. Thus, it was a big problem whether an application program installed in a computer of oneself could be applicable for the version of the received data.


[0008] Therefore, a procedure below was necessary in case that treating the data file with a version of the application installed in the user's computer was impossible. The user judges a version of the application that can be used, investigate an acquisition point of the application, and install it in the computer of oneself after the user obtained an application.


[0009] By the way, in case of data file which different extension is given due to a version, the applicable version of the application program can be known by just referring to extension.


[0010] However, like a document form of “doc”, there are cases that the universal extension is applied even if versions of the application program with which the document was made are different. In this case the judgment of an appropriate version was difficult in just observing data file from the outside. Therefore, in the worst case scenario, repeating the following procedure was necessary. A user should try to install an application program of various kinds of versions with cut and try and repeats opening the data file.


[0011] The present invention has been made to solve the above-explained problems, and therefore, has an object to provide such a technique capable of automatically installing an application program of a version optimally selected for a data file, thus eliminating a cumbersome version judging operation by a user, and automatically installing application program with the optimum version.



SUMMARY OF THE INVENTION

[0012] Firstly, this invention analyzes the data file which is to be read, and extracts a characteristic point. And a version of an application suited for the data file is distinguished by an extracted characteristic point. Secondly, it is judged whether an application program of the version distinguished is installed already. An application program of a version concerned is installed newly when found not installed by this judgment result.


[0013] For example, this characteristic point is reserved word and a syntax pattern of macro instruction in a document file. In many cases, these reserved words and the syntax pattern depend on a version of the application program. A version of the most suitable application program to open a document file becomes clear by extracting these. Based upon an analysis result of versions of application programs, both a document file and application programs of various corresponding versions are displayed at the same time on a display apparatus.


[0014] Then, users may select any one of these application programs to open this document file among various versions. In this case, based on information provided by an analysis result, the document file may be displayed with the icons which differ in each version. Alternatively, when a user first selects a certain application program, only document files which can be opened by this selected application program may be displayed.







BRIEF DESCRIPTION OF THE DRAWINGS

[0015]
FIG. 1 is a function block figure of an automatic installation system according to an Embodiment of this invention.


[0016]
FIG. 2 is a figure of block showing system constitution of Embodiment 1.


[0017]
FIG. 3 is a figure of block showing relationship of each list of Embodiment 1.


[0018]
FIG. 4 is a screen display example in visual display unit of Embodiment 2.


[0019]
FIG. 5 is a function block figure to realize screen constitution of FIG. 4.


[0020]
FIG. 6 is a screen display example in visual display unit of Embodiment 2 (2).


[0021]
FIG. 7 is a screen display example in visual display unit of Embodiment 2 (3).


[0022]
FIG. 8 is a function block figure which shows a document file's relationship with an application program in Embodiment 2.


[0023]
FIG. 9 is a figure of function block when an application program of a corresponding version does not exist in an application list as a result of analysis according to a document analysis control unit in Embodiment 2.


[0024]
FIG. 10 is a function block figure in case of installing an application program based on a document analysis result in Embodiment 2.


[0025]
FIG. 11 is a function block figure in case of uninstalling when an installation domain is insufficient in Embodiment 2.


[0026]
FIG. 12 is a function block figure which explains a procedure to execute uninstallation and get a domain in Embodiment 2.


[0027]
FIG. 13 is a figure of sequence at downloading an application program through a network in Embodiment 2 (1).


[0028]
FIG. 14 is a figure of sequence at downloading an application program through a network in Embodiment 2 (2).







DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS


Embodiment 1

[0029] Based on a drawing, embodiments of this invention are described as follows. FIG. 1 is a figure of block that function block figure of an automatic installation system according to an Embodiment of this invention, and FIG. 2 shows system constitution of this Embodiment.


[0030] Terminal 21 is connected to server 31 through network 30 as shown in FIG. 2. A terminal 21 itself constitutes a computer system and can carry out automatic installation processing of this Embodiment only with terminal 21.


[0031] Terminal 21 has a Central Processing Unit (CPU) 23, a memory 24, a visual display unit (CRT) 25, a print unit (PRT) 26 and Hard Disk Drive (HD) 27 through bus 22. In addition, terminal 21 has mouse 29 as an external auxiliary input means. In addition, the bus 22 is connected to the network 30 through communication interface 28.


[0032]
FIG. 1 shows an automatic installation procedure of this Embodiment. A program stored in HDD 27 is read into the memory 24, and the CPU 23 executes the program sequentially. Installation is realized in such a procedure.


[0033] The target document 1 is, for example, data file for a document file and a spreadsheet for a word processor. The target document 1 is registered in HDD 27. The target document 1 has a normal document domain and a macro-description domain. Processing and a correction of character string prescribed with the macro instruction that accompanied the document become possible when reading the target document 1 with a predetermined word processor program.


[0034] The CPU 23 executes syntax analysis process 2 for this target document 1 after such target document 1 is read into the memory 24. This syntax analysis process is, specifically, an operation to extract macro instruction reserved word.


[0035] Extraction o f macro instruction reserved word is performed by generating the reserved word list 12 from the target document 1. This is performed as follows, specifically. All the reserved words are referred to a database (DB) 13 registered with HDD 27. The reserved word from the inside of the target document 1 is extracted by pattern matching. The extracted reserved word is registered in reserved word list 12. The list 4 registered in the HDD 27 is compared with this reserved word list 12 (comparing/referring process 3). At last, a valid version list 6 for the target document 1 is generated.


[0036] In addition, CPU (CPU) 23 executes search of a syntax pattern in parallel with above-mentioned syntax analysis process 2 (step 5). A macro-program in target document 1 is divided to a token, an attribute of a token is judged, and it is judged whether a combination state of a token of a specific attribute exists. The detection of a syntax pattern is realized in this way. The detection of a coupling state implies, for instance, detection of a coupling state “variable which constitutes instance of Collection-Class “+” (“+” variable which constitutes instance of Strings-Class “+”)”. When a valid version list 6a is generated, a detection result of this syntax pattern is reflected and a final valid version list 14 is generated. When the version list 6a is generated, either an extraction result of macro instruction reserved word or a detection result of a syntax pattern may be given priority to. For example, in the case that the version produced based upon the extracted result of the macro instruction reserved word is different from the version produced based upon the detection result of the syntax pattern, the latest version having the larger numeral value may be employed with a priority so as to produce the valid version list 6a.


[0037] Secondly, an installed version list 7 is compared with the valid version list 6a (comparison process 8). When an application program of a corresponding version is installed in the already executable state in HDD 27 in terminal 21 as a result of this comparison process 8, the application program is executed (execution process 10). When an application program of a corresponding version is not installed, installation process 9 is performed.


[0038] It should also be noted that when the valid version list 6 (6a) is produced, if the content of the version list is empty, namely if the valid version cannot be judged, then the central processing unit (CPU) 23 executes a warning process 11. For example, as for this warning process 11, a visual warning display may be performed on the CRT 25.



Embodiment 2

[0039] In Embodiment 1, the method for automatically determining the optimum version of the relevant application program in such a manner that the CPU 23 executes the comparing process operation 8 is described. This Embodiment 2 has the following characteristics. A result of comparison process 8 is displayed in the form that at a glance a user can grasp on the CRT 25. And the room where user oneself selects an application program of more than one version exists.


[0040] It should be understood that since the process operations defined prior to the comparing process operation 8 are similar to those of Embodiment 1 among the process operations explained in FIG. 1, explanations thereof are omitted.


[0041] While the central processing unit (CPU) 23 compares the valid version list 6 (6a) obtained from the target document 1 with the installed version list 7, this central processing unit (CPU) 23 displays a comparison screen 41 as indicated in FIG. 4 on the CRT 25. This comparison screen 41 is divided in application list display window 42 of a left side of the drawing, and module list display window 43. In application list display window 42, an application program can be displayed in a hierarchical manner for each group. In the drawing, version 1.0-3.1 are listed as an application program in a folder of a spreadsheet (a spreadsheet program).


[0042] In addition, the database program and the word processor program are in a closed state, but have a plurality of application programs in their folders as well.


[0043] On the other hand, in module list display window 43, more than one target document 44 (FIG. 1, target document 1) is displayed as a module. A user can decide optionally which document (a module) should be opened by which version of an application program by referring to CRT.


[0044] In the drawing, for example, when the target document 44 (a module) is opened by an application program of version 2.0 of a spreadsheet, the mouse cursor 46 on a screen is arranged by the mouse 29, and a button of the mouse 29 (not illustrated) is pushed once here. By this act (drag), the target document 44 (a module) is selected, and only an application program of a version for opening this target document 44 is displayed with high brightness in application list display window 42. That is, all of a plurality of corresponding versions are displayed with high brightness when there are plurality of versions of application programs to open the target document 44.


[0045] An activation method of an application is shown below. The Mouse cursor 46 is moved on an application program of an arbitrary version (this place, version 2.0) on application display window 42 in the state a button of the mouse 29 being pushed (a drag state). When the button is opened up (drop), an application program of version 2.0 of a spreadsheet is activated as a target file with the target document 44 (a module). This technique is an input technique on screen interface so-called “drag & drop.”


[0046] The drawing where function constitution to realize interface described in FIG. 4 is shown in FIG. 5.


[0047] In the drawing, the document analysis control unit 51 has a function to execute the syntax analysis process 2 and the comparing/referring process 3 as shown in FIG. 1, and has a function to control display on the CRT 25. That is, the document analysis control unit 51 sequentially reads the target documents 1 under a predetermined folder or a directory, executes analysis of the version and displays the target documents 1 in a list form on the module list display window 43. In a module displayed on this module list display window 43 (target document 44), the following matters are distinguished already by the document analysis control unit 51. Whether the document file is legitimate document file readable by an application program installed in HDD 27 or not. With which version the document can be opened when the document is a legitimate document file.


[0048] When document analysis control unit 51 reads the target document 1 and executes analysis, it notifies application path acquisition unit 54 of an application name and the version name which are the result of this analysis. This application path acquisition unit 54 controls a display of application list display window 42. And this application path acquisition unit 54 lets application list display window 42 display only an application of a version received from document analysis control unit 51.


[0049] When target document 44 on the module list display window 43 (a module) is selected by said drag operation of mouse 29, this choice information is notified to the application path acquisition unit 54 through the document analysis control unit 51. And a version of a corresponding application program on the application list display window 42 is displayed with high brightness.


[0050] When an application of a predetermined version (45 to program an application of a spreadsheet of version 2.0 here) is selected by drop operation of mouse 29, this choice information is notified to OS (Operating System) as an execution pass through the application path acquisition unit 54. By this, the OS receives an execution file path from application path acquisition unit 54 and receives a document file path from document analysis control unit 51. And the OS executes target document 44 (a module) by an application program of a selected version.


[0051] In addition, Windows 3.1, Windows 95 or Windows 98 of Microsoft company and other OS may be used as OS in this Embodiment.


[0052]
FIG. 6 and FIG. 7 are transformation examples of the comparison display which a version of an application program corresponding to a target document (a module) and a target document was compared in a display of comparison screen 41.


[0053]
FIG. 6 is the drawing which is displayed with an icon of a corresponding version when a different icon is defined by each version of an application program and the target document 44 (a module) is displayed.


[0054] Here, in the existing OS, an icon is defined by extension of a file name (for example, XLS and DOC). Therefore, the file is displayed with the same icon even if a version of the file is different when the same extension is given to a file. In this way, grasp of a version of the target document was difficult when merely the icon was displayed.


[0055] Here, in an example shown by FIG. 6, the corresponding version is grasped about all target documents 44 in the document analysis control unit 51. Therefore, a version corresponding to a target document is displayed without being controlled by the presence of extension of a file name but being distinguished at first sight with an icon.


[0056]
FIG. 7 is the example that only the target document 44 corresponding to a version appointed with the application list display window 42 is displayed in the module list display window 43. Here, when a specific version is appointed by the application list 53, the version is detected by the application path acquisition unit 54, and it is informed that the version is appointed towards the document analysis control unit 51. Based on this notice, only a target document corresponding to the version (module 44) is displayed on the module list display window 43 by the document analysis control unit 51.


[0057]
FIG. 8 shows the general idea that a version of the application program 53 is selected by a target document. By the screen interface described in FIG. 4, FIG. 6 and FIG. 7, the situation when the target document 84a and 84b are read in the document analysis control unit 51 is described below. When these target documents are analyzed by the detailed analysis unit 51a, the application program 45a of the most suitable version is chosen among already installed application programs (FIG. 8, drawing). And the target document 84a is opened by the application program 45a decided by the detailed analysis unit 51a.


[0058] A function block constitution when an application program of a version corresponding target document 44 does not exist in application list 53 is shown in FIG. 9 as a result that target document 44 is analyzed by document analysis control unit 51. Because most of the constitution is similar to FIG. 5, explanation of the part is omitted in the drawing.


[0059] The installation control unit 91 is the control unit for installing an application program in the state that execution is possible in HDD 27. Specifically, the installation control unit 91 has a function to install an application program in HDD 27 of the terminal 21 from CD-ROM and server 31 that are not illustrated. When the application path acquisition unit 54 cannot acquire a path from the application list 53, in other words, when a version corresponding to the target document 44 selected in module list 52 (a module) does not exist, how the installation control unit 91 is activated is shown in FIG. 9.


[0060]
FIG. 10 is a drawing where an installation procedure of an application program of a new version by the installation control unit 91 is shown.


[0061] In the drawing, the target document 1001,1002 of version n are read into the document analysis control unit 51 sequentially, and the detailed analysis unit 51a judges a version of an application program. In spite of the judgment, an already installed application program (1003) is version m. It does not correspond to the target documents 1001 and 1002 of the version n (FIG. 10(a)).


[0062] A notice from the document analysis control unit 51 is received then, the installation control unit 91 is activated, and the application program 1004 corresponding to the version n of the target documents 1001,1002 is newly installed (FIG. 10(b)).


[0063] Here, an installation source of the application program may be HDD 27 in the terminal 21, it may be the CD-ROM drive unit which is not illustrated, and from server 31 through network 30. When an application program is downloaded through network 30 by server 31, FTP (File Transfer Protocol) using TCP/IP may be used.


[0064] The application program 1004 newly installed in HDD 27 is activated, and the target document 1001 or the target document 1002 of a version corresponding to this application program 104 (FIG. 10 (c)) is opened.


[0065] When an application program of a necessary version is installed, a function block drawing and the process procedure for an installation domain to be kept are shown in FIG. 11 and FIG. 12.


[0066] In FIG. 11, the uninstallation control unit 1101 is added to constitution shown in FIG. 9. That is, even though the installation control unit 91 is activated by an example described in FIG. 9 and FIG. 10, there is the case that the domain where an application program of a new version is installed in HDD (HD) 27 is insufficient. In this case, the uninstallation control unit 1101 shown in FIG. 11 is activated.


[0067] This uninstallation control unit 1101 is also realized as a program, and the uninstallation control unit 1101 is realized by the program being executed by the CPU 23.


[0068]
FIG. 12 shows a process procedure of the uninstallation and installation. When the most suitable version is not detected by an application program installed by the detailed analysis unit 51a (FIG. 12 (a)), the installation control unit 91 starts. However, there is the case that the domain where a new application program is installed does not remain in HDD 27 (FIG. 12 (b)).


[0069] In this case the installation control unit 91 notifies the uninstallation control unit 1101 of domain insufficiency. By this, the uninstallation control unit 1101 eliminates an unnecessary file from HDD 27. It is decided which file is eliminated with a standard as follows.


[0070] For example, the application program that does not satisfy a utilization condition may be uninstalled with precedence. For example, an application program of a condition that it is usable after its download for 30 days corresponds to this.


[0071] In addition, it can be uninstalled in volume order. Generally, when importance of an application with a little volume is low, the volume is eliminated first from a small application program. In addition, the volume is eliminated from a big application program when uninstalled program number is reduced and when the domain keeping efficiency is given priority to.


[0072] In addition, a turn to uninstall may be decided by an installed date order, an importance, a number of a made document and number of a common file.


[0073]
FIG. 13 and FIG. 14 are figures of sequence wherein the procedure of an application program being downloaded through the network 30 from the server 31 to the terminal 21 is shown.


[0074] In the drawing, the server 31 activates a management program, and terminal 21 activates a program for client. In addition, in HDD 27 of terminal 21, a history of a file acquired from server 31 by terminal 21 is stored as a file acquisition history file 1301.


[0075] At first, an installation process is started by installation control unit 91 of terminal 21, and a utilization start message is transmitted to the server 31 from the terminal 21. By this, the server 31 recognizes installation start,and the effectiveness of an own automatic management system is notified to terminal 21.


[0076] Secondly, the terminal 21 notifies server 31 of a user identification mark (ID). When the server 31 received this ID, the server 31 demands hardware information from terminal 21. This hardware information is classification of CPU (CPU) 23 of terminal 21, clock frequency (Clock), the OS, memory capacity, and the volume of HDD 27. The server 31 demands a file acquisition history for terminal 21 after having received these information. This file acquisition history is so-called “history”. This is information such as a file name, URL (Uniform Resource Locator), compression system, a version, and the terminal 21 has these information as the file acquisition history file 1301 in HDD 27.


[0077] When the server 31 received this file acquisition history, following matters are judged based on this history. Whether it was downloaded to the server in the past, and whether a new version of a file is already stored in a downloadable state in the server. And when a new version does not exist, the process finishes after an application program of a latest version viewed from the server 31 is installed in the terminal 21.


[0078] On the other hand, when an application of a newer version exists in the server 31 than an application in a file acquisition history provided from the terminal 21, a necessary installer (an auxiliary program to execute installation) is selected, this is forwarded to terminal 21.


[0079] After it is informed that transfer of the installers from terminal 21 to server 31 is finished, the server 31 orders terminal 21 to renew a file acquisition history. Based on this order, terminal 21 demands a necessary item such as a version and file date from server 31. The server 31 replies to this and notifies the terminal 21 of information of the item.


[0080] Based on the item information, the terminal 21 renews own file acquisition history file 1301 and cuts off a network connected to the server 31.


[0081] And the terminal 21 activates a downloaded installer and starts installation.


[0082] In this case a legitimacy test of an archive begins when the installation is not finished normally.


[0083] This archive legitimacy test is performed in the following procedures. Network connection with server 31 is performed again. A demand of test is transmitted to server 31. Based on this test result, when necessary, the installer is forwarded to the terminal 21 again by the server 31.


[0084] According to this invention, an application program of the most suitable version can be decided for the data file which is not specified from the appearance of a file, and the application program is installed automatically, thus automatic activation of the application becomes possible.


Claims
  • 1. An installation method of an application comprising: extracting a feature point after having analyzed data file, deciding a version of an application suited for the data file based on an extracted feature point, judging whether an application program of a decided version is already installed, and newly installing an application program of the version when the application program is not installed.
  • 2. An installation method of an application mentioned in claim 1, wherein: the feature point is a reserved word of a macro instruction included in the data file, and the version is decided by detecting the reserved word peculiar to each version.
  • 3. An installation method of an application mentioned in claim 1, wherein: the feature point is a syntax pattern of the macro instruction included in the data file, and the version is decided by detecting the syntax pattern peculiar to each version.
  • 4. An activation method of an application comprising: extracting each feature point after having analyzed equal to or more than two data files, deciding a version of the application program that the data file is readable based on the feature point, simultaneously displaying the data file and an application program of a version decided thereby, and actuating the displayed application program in relation to any one of the data files.
  • 5. An activation method of an application mentioned in claim 4 wherein: the data file is displayed with a different symbol figure by each version corresponding to the application program.
  • 6. An activation method of an application mentioned in claim 4, wherein: only the data file corresponding to a version of the application program is displayed when the application program is selected.
  • 7. An activation method of an application mentioned in claim 4, wherein: the installation of a corresponding application program is executed when an application program corresponding to the data file does not exist.
  • 8. An activation method of an application mentioned in claim 3, further comprising: eliminating an existing file in case that a vacancy domain is insufficient when the application program is executed.
  • 9. A record medium that a program is recorded, comprising: a step for extracting each feature point after having analyzed equal to or more than two data files, a step for deciding a version of the application program which can read the data file based on the feature point, a step for simultaneously displaying the data file and an application program of a version decided thereby, and a step for actuating the displayed application program in relation to any one of the data files.
  • 10. An apparatus for executing an application program comprising: a means for extracting each feature point after having analyzed equal to or more than two data files, a means for deciding a version of the application program which can read the data file based on the feature point, a means for simultaneously displaying the data file and an application program of a version decided thereby, and a means for actuating the displayed application program in relation to any one of the data files.
  • 11. An apparatus for installing an application comprising: a means for extracting a feature point after having analyzed a data file, a means for deciding a version of an application suited for the data file based on an extracted feature point, a means for judging whether an application program of a decided version is already installed, and a means for newly installing an application program of the version when the application program is not installed.
  • 12. The storage medium that memorized a program for sequentially executing: a step for extracting a feature point after having analyzed data file, a step for deciding a version of an application suited for the data file based on an extracted feature point, a step for judging whether an application program of a decided version is already installed, and a step for newly installing an application program of the version when the application program is not installed.
Priority Claims (1)
Number Date Country Kind
2000-115239 Apr 2000 JP