Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent Application
20030154185
Kind Code
A1
Suzuki, Akira ; et al.
August 14, 2003
File creation and display method, file creation method, file display method, file structure and program
Abstract
In a file structure, it is possible to properly assist a user of a computer to operate a file without the use of an extension of the file and overcome some problems caused by the difference of the development time between an operating system and application programs in the computer. In the file structure, a file comprises file content information formed of a program code or data processed by the computer and a management program code performing processes for assisting the user to operate the file corresponding to the file content information. Unlike conventional file creation and display methods depending on the extension, it is possible to properly aid user's file operations such as a file selection by calling the management program code from the operating system. Since the management program code is called based on an interface uniformly prescribed for all files in the computer, it is possible to apply the management program code to the files independently of the difference of the development time between the operating system and the application programs in the computer.
Inventors:
Suzuki; Akira
(Kanagawa, JP)
, Koide; Masami
(Tokyo, JP
)
Correspondence Name and Address:
1940 DUKE STREET
OBLON, SPIVAK, MCCLELLAND, MAIER & NEUSTADT, P.C.
ALEXANDRIA
VA
22314
US
Series Code:
338835
Filed:
January 9, 2003
U.S. Current Class:
707/1
U.S. Class at Publication:
707/1
Intern'l Class:
G06F 007/00
Claims
What is claimed is:
1. A file creation and display method, comprising the steps of: receiving an instruction to save file content information formed of a program code or data that a computer executes or processes; obtaining a management program code prepared in advance by a provider of an application program for processing said file content information, wherein said management program code is called by a program pertaining to an operating system of said computer based on an interface uniformly prescribed for all files in said computer and performs a process for assisting a user of said computer to operate a file in said computer in accordance with file content information of said file; storing said file content information and said management program code as a file in a storage apparatus; causing said program pertaining to the operating system to call said management program code of a file to be processed based on said interface uniformly prescribed; and performing said process for assisting the user of the computer to operate said file in the computer by executing said management program code called by said program pertaining to the operating system.
2. A file creation method, comprising the steps of: receiving a saving instruction to save file content information formed of a program code or data that a computer executes or processes; obtaining a management program code prepared in advance by a provider of an application program for processing said file content information, wherein said management program code is called by a program pertaining to an operating system of said computer based on an interface uniformly prescribed for all files in said computer and performs a process for assisting a user of said computer to operate a file in said computer in accordance with file content information of said file; and storing said file content information and said management program code as a file in a storage apparatus.
3. A file display method, comprising the steps of: causing a program pertaining to an operating system of a computer to call a management program code of a file to be processed based on an interface uniformly prescribed for all files in said computer, wherein said file stored in a storage apparatus comprises file content information formed of a program code or data that said computer executes or processes and said management program code, and said management program code is prepared in advance by a provider of an application program for processing said file content information and performs a process for assisting a user of said computer to operate a file in said computer in accordance with file content information of said file; and performing said process for assisting the user of the computer to operate said file in the computer based on said management program code called by said program pertaining to the operating system.
4. A file structure of a file, comprising: file content information formed of a program code or data that a computer executes or processes; and a management program code, which is prepared in advance by a provider of an application program for processing said file content information, called by a program pertaining to an operating system of said computer based on an interface uniformly prescribed for all files in said computer and performing a process for assisting a user of said computer to operate a file in said computer in accordance with file content information of said file.
5. The file structure as claimed in claim 4, further comprising a file header containing information indicating that said file has a management program code.
6. The file structure as claimed in claim 4, wherein said management program code performs the process for assisting the user of said computer to operate a file in said computer before the user instructs said computer to execute a program code of file content information of said file or to read data of file content information of said file.
7. The file structure as claimed in claim 4, wherein said management program code is described as an intermediate language code.
8. The file structure as claimed in claim 4, wherein said management program code performs only a certain function allowed by said computer as said process for assisting the user of said computer to operate a file in said computer.
9. The file structure as claimed in claim 4, wherein a point of time when a program pertaining to the operating system starts said management program code of said file is set.
10. The file structure as claimed in claim 4, wherein said management program code has an environment information obtaining part obtaining environment information of said computer and performs said process for assisting the user of said computer to operate a file in said computer with reference to said environment information obtained.
11. The file structure as claimed in claim 10, wherein said environment information of the computer is created based on an information item registered in advance in said computer.
12. The file structure as claimed in claim 10, wherein said management program code determines whether or not the file content information of said file is available and causes said computer to display a determination result of the availability of said file content information.
13. The file structure as claimed in claim 10, wherein said management program code has information, which is registered in advance in said computer, regarding a disability of the user of said computer as the environment information obtained and performs a process corresponding to said information regarding the disability of the user of said computer as the process for assisting the user of said computer to operate a file in said computer.
14. The file structure as claimed in claim 4, wherein said management program code further performs a process for causing said computer to display outline information of file content information as the process for assisting the user of said computer to operate a file in said computer.
15. The file structure as claimed in claim 4, wherein said management program code, when said file content information is audio information, performs a process for causing said computer to reproduce at least a portion of said audio information as the process for assisting the user of said computer to operate a file in said computer.
16. The file structure as claimed in claim 4, wherein said management program code, when said file content information is still image information, performs a process for causing said computer to display one of at least a portion of said still image information and a reduced image of said still image information as the process for assisting the user of said computer to operate a file in said computer.
17. The file structure as claimed in claim 4, wherein said management program code, when said file content information is moving image information, performs a process for causing said computer to reproduce at least a portion of said moving image information as the process for assisting the user of said computer to operate a file in said computer.
18. The file structure as claimed in claim 4, wherein said management program code performs a process different between file list exhibition time when a list of files is displayed and file selection time when a file is selected as the process for assisting the user of said computer to operate a file in said computer.
19. The file structure as claimed in claim 4, wherein said management program code determines whether or not a file own operation is executable for said file and performs a process for causing said computer to display a result of said determination as the process for assisting the user of said computer to operate a file in said computer.
20. The file structure as claimed in claim 4, wherein said file content information contains address information and exhibition image information of a Web page and said management program code performs a process for causing said computer to display outline exhibition image information for showing an outline of said Web page as the process for assisting the user of said computer to operate a file in said computer.
21. The file structure as claimed in claim 20, wherein said management program code, when a Web page is displayed, searches for a file whose file content information contains address information identical to said Web page and updates outline exhibition image information for showing an outline of a Web page of said file when said file is found.
22. The file structure as claimed in claim 4, wherein said management program code, when said file content information is a program code of an application program for displaying or editing a file having a predetermined data format, performs a process for causing said computer to display history list information of said file displayed or edited before by said application program in accordance with an instruction to select said file by the user as the process for assisting the user of said computer to operate a file in said computer.
23. The file structure as claimed in claim 24, wherein said management program code, when the user of said computer selects a file among files that have said predetermined data format and are in said history list information displayed by said computer, performs a process for causing said application program to read said file selected and start as the process for assisting the user of said computer to operate a file in said computer.
24. A program for causing a computer to execute the steps of: receiving an instruction to save file content information formed of a program code or data that said computer executes or processes; obtaining a management program code prepared in advance by a provider of an application program for processing said file content information, wherein said management program code is called by a program pertaining to an operating system of said computer based on an interface uniformly prescribed for all files in said computer and performs a process for assisting a user of said computer to operate a file in said computer in accordance with file content information of said file; and storing said file content information and said management program code as a file in a storage apparatus.
25. The program as claimed in claim 24, wherein said step of receiving the instruction to save the file content information is a step of receiving an instruction to create outline exhibition image information showing an outline of a Web page and said file content information is formed of said outline exhibition image information and address information of said Web page.
26. The program as claimed in claim 25, further causing the computer to execute the steps of: searching for, when a Web page is displayed, a file whose file content information contains address information identical to said Web page; and updating outline exhibition image information for showing an outline of a Web page of said file when said file is found.
27. A program for causing a computer to execute: preprocessing step of calling a management program code of a file to be processed based on an interface uniformly prescribed for all files in said computer, wherein said file stored in a storage apparatus comprises file content information formed of a program code or data that said computer executes or processes and said management program code, and said management program code is prepared in advance by a provider of an application program for processing said file content information and performs a process for assisting a user of said computer to operate a file in said computer in accordance with file content information of said file and outputting information regarding an operation performed by the user; and postprocessing step of receiving said information regarding the operation performed by the user from said management program code of said file via said interface and performing a process based on said information.
28. The program as claimed in claim 27, further causing the computer to execute the step of: starting an intermediate language code processing function when said management program code is described as an intermediate language code.
29. The program as claimed in claim 27, further causing the computer to execute the step of: restricting any execution of functions other than a certain function of said management program code.
30. The program as claimed in claim 27, further causing the computer to execute the step of: outputting, when a request to obtain environment information of said computer is received from said management program code, said environment information to said management program code via said interface.
31. The program as claimed in claim 30, further causing the computer to execute the step of: maintaining in advance an environment item to respond to said request to obtain the environment information of said computer.
32. The program as claimed in claim 27, wherein said postprocessing step, when information regarding a determination result of availability of said file content information of said file is received from said management program code, causes said computer to display information regarding said availability.
33. The program as claimed in claim 27, further causing the computer to execute the step of: outputting, when a request to obtain information regarding a disability of the user is received from said management program code, said information regarding the disability registered in advance in said computer to said management program code via said interface.
34. The program as claimed in claim 27, wherein said postprocessing step, when information regarding availability of a file own operation is received from said management program code, causes the computer to display said information regarding the availability of the file own operation.
35. The program as claimed in claim 27, wherein said postprocessing step, when said operation performed by the user is an instruction to read a file, informs a creator of said file that said file is read via a network based on said information from the management program code.
36. The program as claimed in claim 27, wherein said postprocessing step, when outline information of said file content information is received from said management program code, causes the computer to display said outline information.
37. The program as claimed in claim 27, wherein said postprocessing step, when at least a portion of audio information of said file content information is received from said management program code, reproduces said portion of the audio information.
38. The program as claimed in claim 27, wherein said postprocessing step, when at least a portion of still image information or a reduced image of said still image information is received from said management program code, causes the computer to display said portion of said still image information or said reduced image of said still image information.
39. The program as claimed in claim 27, wherein said postprocessing step, when at least a portion of moving image information of said file content information is received from said management program code, reproduces said portion of said moving image information.
40. The program as claimed in claim 27, wherein said postprocessing step causes the computer to display history list information of said file when said file content information of said file is a program code of an application program displaying or editing a file having a predetermined data format and information regarding a file displayed or edited before by said application program is received from said management program code of said file.
41. The program as claimed in claim 27, wherein said preprocessing step outputs said information regarding said operation performed by the user to management program codes of a plurality of files in the computer and said postprocessing step receives said information from said management program codes of said files and performs a process when said operation performed by the user is an instruction to display a list of files.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The present invention generally relates to a file creation and display method, a file creation method, a file display method, a file structure and a program.
[0003] 2. Description of the Related Art
[0004] In general, a Neumann computer processes input data in accordance with a program and outputs a process result. A current ordinary computer maintains data and programs as a "file" in a secondary storage apparatus such as a hard disk device. In the computer, a central processing unit (CPU) reads a file from the secondary storage apparatus to a primary storage apparatus such as a main memory if necessary and performs an information process in accordance with data and programs in the read file. Under this configuration, the computer maintains a plurality of program files and a plurality of data files in the secondary storage apparatus, and an operator chooses a necessary file from the program files and the data files according to the purpose of the operator and causes the computer to perform an information process.
[0005] Under the above-mentioned foundation on the information process using a computer, an operation on a file selection is outlined under consideration of a history of development of file management methods. The recent improvement of an operating system (OS) has made it possible for a user to easily select a file. In a file management method performed by such an operating system, a file is identified by a "file name" together with an "extension" and is provided in a directory structure constructed as a virtual hierarchical structure. A user can allot a file name to an individual file in order to identify the file. Additionally, the user can attach an extension to the file name in order to distinguish the type of the file. As mentioned above, a file in a current computer has a file name as file identification information in the form "XXXX.YYY", where XXXX is a file name and YYY is an extension. The secondary storage apparatus is virtually structured as a hierarchy so as to organize files in a computer system in accordance with classification of the files. In a conventional computer system, such a directory structure is commonly incorporated so that a user can consider the files to be hierarchically maintained.
[0006] Also, recent operating systems that adopts GUI (Graphical User Interface) can identify the type of a, file based upon the extension of the file and display a figure corresponding to the type, which is called an "icon", together with the file name. In an application program to process information, the icon visually associated with the application program is displayed together with the name of the application program. Moreover, when the application program creates a file, an extension is attached to the file so as to recognize that the file is created by using the application program. As a result, the operating system can display the icon for representing the file created by the application program.
[0007] In conventional operating systems, the type of a file is identified by means of an extension, and an icon corresponding to the type is displayed so that a user can visually associate the file type. Then, the user can select a file based upon the icon and the file name that are displayed. Furthermore, the operating systems assist the user to select the file by displaying auxiliary information such as creation date and time of the file.
[0008] However, in the above-mentioned method, the user may have difficulty when the user selects a desired file among a large number of files. Especially regarding a file such as still image information, moving image information and audio information, if the file does not have an appropriate name, it may be hard for the user to find the desired file.
[0009] To eliminate the above-mentioned difficulty, the recent operating systems read the content of an image file when a name list of files including the image file should be displayed, and displays the reduced image of the image file as a so-called "thumbnail". Also, regarding a file created by using some application programs, the content of the file is read and is displayed in a reduced form.
[0010] However, if the operating systems cannot interpret the format of a file, it is impossible for the operating systems to provide a file preview such as the thumbnail in the above-mentioned display method. The operating systems have the constraint that the operating systems can display the thumbnail of only the file created by means of the application program having the above-mentioned function. Thus, if an operating system in use is developed earlier than the application program, the operating system cannot display the thumbnail of a file created by using the application program.
[0011] Japanese Laid-Open Patent Application No. 05-241808 discloses an example in which a storage position of an icon pattern, the corresponding menu data, an editing tool, and a data file are stored as a file definition information registration means in advance, and an operating system works in accordance with the icon selected by a user. In this example, the icon is associated with an application program in advance so that the user can simply designate the application program by the icon.
[0012] However, this method only shows how to start the application program corresponding to an extension of a data file. In the method, the user has to set the relation between the extension and the application programs.
[0013] Japanese Laid-Open Patent Application No. 2000-090282 discloses an example in which a portion of data in a file is visualized and the visualized portion is used as an icon in order to show a characteristic of the file. In this method, an application program is used to visualize the portion of data in the file. While the application program has to interpret a format of the file, the format that the application program can interpret is commonly determined by a provider of the application program. Since this provider does not always coincide with a provider of an operating system in use, it is impossible to apply the method to all files that the operating system manages. Also, if such a function is applied to only certain files, a user is forced to operate these files in a different way from the others. In this case, on the contrary, the function may be inconvenient to the user.
[0014] As mentioned above, although some file management methods for showing the content and the status of a file to a user are proposed, only a file having a format that the file management program can handle can be displayed as an icon. Also, since the file management program is commonly incorporated in the operating system, it follows that the file management program is developed earlier than the application program for creating the file. Thus, it is impossible for the file management program to handle a data file created by using the application program.
[0015] On the other hand, Japanese Laid-Open Patent Application No. 11-224322 discloses a technique in a different art field from the above-mentioned one. In this application, a file having an image display program in addition to image data is proposed. The application discloses the technique that makes it possible for a computer to display an image even if an application program for displaying the image is not installed in the computer.
[0016] However, the technique includes an image display program (application program) serving to view the content of a file rather than to assist the user of the computer to perform a file own operation such as a file selection, a file rewriting and a file saving. In the technique, when the user would like to make sure the content of the file, the user additionally has to start the image display program.
[0017] In the technique, all operating systems are not provided with a unified interface. The technique just simplifies to display an image and does not serve to assist the user's file own operation when the user selects a certain file among a plurality of files and instructs a file operation.
[0018] As mentioned above, there is a rapid improvement of the performance of computers in recent years. The demand of a plenty of graphical functions in an interface of the computers typically motivates the performance improvement. An operating system incorporating GUI is usually installed in a personal computer at present. This type of operating system requires more computer resources than a character-based operating system because of the graphical display and process of information. Therefore, a computer using such a type of operating system is required to have processing power beyond necessary power for inherent computation. In other words, the enhancement of the user interface is important to the current computer.
[0019] Also, when a computer has more opportunities to deal with multimedia through the Internet as seen in present situations, the computer is required to perform more processes. At present, computers with sufficient processing power for processing the GUI are provided.
[0020] Meanwhile, in a normal use of a prevailing computer, when a user starts an application program or selects a data file, the user has to find out a file that the user wants among a plurality of files. When an unfamiliar user searches for the file by using the file name and the extension as search keys, the user may feel the search as heavy burdens. Thus, the display of a figure, so-called an icon, assists the user to select the file. However, while the icon serves to visually display the type of the file, the icon cannot express the content and the status of the file.
[0021] As mentioned above, some approaches are presented to overcome the above problems. However, these approaches totally depend on a file management program of an operating system for managing files. Also, various application programs are provided by a plurality of distinct manufacturers. If an application program and a file management file are not produced by an identical manufacturer, the approaches cannot successfully work. Additionally, the approaches cannot successfully work for files created by using the application program.
[0022] In a conventional file management method depending on the file name and the extension, the extension is registered in the file management program for each file management program. Then, based upon the registered extension, an icon is displayed and an application program associated with a data file is executed. As a result, it is necessary to uniquely relate an application program to an extension.
[0023] In the conventional methods where the display of an icon and a thumbnail for assisting a user to operate a file depends on an extension, there are some problems as follows.
[0024] First, since an icon of a file is displayed based upon an extension, an icon indicating an application program used to create a data file is not always displayed if the data file is a standard data file having a fixed extension such as an image file and an HTML file. (A user is not allowed to freely change an extension. Although it is not preferable that distinct application programs create data files whose extensions are identical, there are actually some cases in which the identical extension is provided to an image file format and an HTML document.)
[0025] Second, alternation of an extension entails changing an icon. For instance, when an extension of an image file is changed into that of text file, the icon of the changed image file is also changed into that of text file and an unsuitable application program is executed.
[0026] Third, an icon cannot be displayed until an extension is registered.
[0027] Fourth, when a data file is displayed as a thumbnail, a file management program (file name display program) serving to display a thumbnail cannot display the thumbnail unless a data file format for the data file is publicized at the time of the development of the file management program.
SUMMARY OF THE INVENTION
[0028] It is a general object of the present invention to provide a file creation and display method, a file creation method, a file display method, a file structure and a program in which the above-mentioned problems are eliminated.
[0029] A more specific object of the present invention is to provide a novel method that can properly assist a user of a computer to operate a file in the computer in a new file structure without depending on the extension of the file and be applicable to both a program pertaining to the operating system of the computer and a program pertaining to an application program installed in the computer regardless of the difference of the development time between the operating system and the application program.
[0030] In order to achieve the above-mentioned objects, there is provided according to one aspect of the present invention a file creation and display method, comprising the steps of: receiving an instruction to save file content information formed of a program code or data that a computer executes or processes; obtaining a management program code prepared in advance by a provider of an application program for processing the file content information, wherein the management program code is called by a program pertaining to an operating system of the computer based on an interface uniformly prescribed for all files in the computer and performs a process for assisting a user of the computer to operate a file in the computer in accordance with file content information of the file; storing the file content information and the management program code as a file in a storage apparatus; causing the program pertaining to the operating system to call the management program code of a file to be processed based on the interface uniformly prescribed; and performing the process for assisting the user of the computer to operate the file in the computer by executing the management program code called by the program pertaining to the operating system.
[0031] According to the above-mentioned invention, when a computer system adopts the file structure in which a file integrally has not only file content information containing substantial information of the file but also a management program code to perform a process for assisting the user to operate the file in accordance with the content type of the file content information, the computer system can properly assist the user's file operation such as the file selection and the file own operation by executing the management program code unlike conventional file creation and display methods depending on the extension of file. Since the management program code is called by a program pertaining to the operating system of the computer system based on the interface uniformly prescribed for all files in the computer system, the file creation and display method is applicable independently of the difference of the development time between the operating system and application programs in the computer system. Thus, when the file structure is used in the computer system, it is possible to provide the file creation and display method that can achieve high generality and easily create a file having the novel file structure.
[0032] Further, there is provided according to another aspect of the present invention a file creation method, comprising the steps of: receiving a saving instruction to save file content information formed of a program code or data that a computer executes or processes; obtaining a management program code prepared in advance by a provider of an application program for processing the file content information, wherein the management program code is called by a program pertaining to an operating system of the computer based on an interface uniformly prescribed for all files in the computer and performs a process for assisting a user of the computer to operate a file in the computer in accordance with file content information of the file; and storing the file content information and the management program code as a file in a storage apparatus.
[0033] According to the above-mentioned invention, it is possible to simply create a file having the file structure integrally containing the file content information and the management program code to perform the process for assisting the user to operate a file.
[0034] Further, there is provided according to another aspect of the present invention a file display method, comprising the steps of: causing a program pertaining to an operating system of a computer to call a management program code of a file to be processed based on an interface uniformly prescribed for all files in the computer, wherein the file stored in a storage apparatus comprises file content information formed of a program code or data that the computer executes or processes and the management program code, and the management program code is prepared in advance by a provider of an application program for processing the file content information and performs a process for assisting a user of the computer to operate a file in the computer in accordance with file content information of the file; and performing the process for assisting the user of the computer to operate the file in the computer based on the management program code called by the program pertaining to the operating system.
[0035] According to the above-mentioned invention, when a computer system adopts the file structure in which a file integrally has not only file content information containing substantial information of the file but also a management program code to perform a process for assisting a user to operate the file in accordance with the content type of the file content information, the computer system can properly assist the user's file operation such as the file selection and the file own operation by executing the management program code unlike conventional file display methods depending on the extension of file. Since the management program code is called by a program pertaining to the operating system of the computer system based on the interface uniformly prescribed for all files in the computer system, the file display method is applicable independently of the difference of the development time between the operating system and application programs in the computer system. Thus, when the file structure is used in the computer system, it is possible to provide the file display method that can achieve high generality and simply create a file having the novel file structure.
[0036] Further, there is provided according to another aspect of the, present invention a file structure of a file, comprising: file content information formed of a program code or data that a computer executes or processes; and a management program code, which is prepared in advance by a provider of an application program for processing the file content information, called by a program pertaining to an operating system of the computer based on an interface uniformly prescribed for all files in the computer and performing a process for assisting a user of the computer to operate a file in the computer in accordance with file content information of the file.
[0037] According to the above-mentioned invention, when a computer system adopts the file structure in which a file integrally has not only file content information containing substantial information of the file but also a management program code to perform a process for assisting a user to operate the file in accordance with the content type of the file content information, the computer system can properly assist the user's file operation such as the file selection and the file own operation by executing the management program code unlike conventional file structures depending on the extension of file. Since the management program code is called by a program pertaining to the operating system of the computer system based on the interface uniformly prescribed for all files in the computer system, the file structure is applicable independently of the difference of the development time between the operating system and application programs in the computer system. Thus, it is possible to provide the file structure that can achieve high generality and simply create a file having the novel file structure.
[0038] In the above-mentioned file structure, the file structure may further comprise a file header containing information indicating that the file has a management program code.
[0039] According to the above-mentioned invention, even if the computer system has both a file having the file structure having the management program code and a file having a conventional file structure without the management program code therein, it is possible to perform a proper process by distinguishing between the two types of file by means of the file header.
[0040] In the above-mentioned file structure, the management program code may perform the process for assisting the user of the computer to operate a file in the computer before the user instructs the computer to execute a program code of file content information of the file or to read data of file content information of the file.
[0041] According to the above-mentioned invention, since the management program code performs the process for assisting the user of the computer to operate a file in the computer before the user's instruction to execute a program code of file content information of the file or to read data of file content information of the file, it is possible to grasp the file content information in advance and perform the process for assisting the user's file operation such as the file selection and the file own operation unlike a file having a conventional file structure integrally including the application program.
[0042] In the above-mentioned file structure, the management program code may be described as an intermediate language code. According to the above-mentioned invention, since the management program code is described as an intermediate language code, it is possible to execute the management program code of the file even in a computer mounting a different type of CPU.
[0043] In the above-mentioned file structure, the management program code may perform only a certain function allowed by the computer as the process for assisting the user of the computer to operate a file in the computer.
[0044] According to the above-mentioned invention, since the management program code performs only a certain function allowed by the computer, it is possible to prevent the execution of the management program code when the management program code incorporates a harmful program such as a computer virus. Also, since the management program file serves to assist the user's file operation and is not often expected to have functions other than the function to just explain the file contents, the function restriction does not matter in the practical use of the computer.
[0045] In the above-mentioned file structure, a point of time when a program pertaining to the operating system starts the management program code of the file may be set.
[0046] According to the above-mentioned invention, it is possible to cause the management program code to perform a different process in accordance with the status of the operating system when the operating system calls the management program code. Thus, it is possible to avoid imposing unnecessary burdens on the computer caused by execution of the management program code for every event and provide the computer system that can more flexibly operate.
[0047] In the above-mentioned file structure, the management program code may have an environment information obtaining part obtaining environment information of the computer and perform the process for assisting the user of the computer to operate a file in the computer with reference to the environment information obtained.
[0048] According to the above-mentioned invention, it is possible to alter the operation performed by the management program code in accordance with the connection status of input and output apparatuses connected to the computer. Thus, the management program code can respond more flexibly.
[0049] In the above-mentioned file structure, the environment information of the computer may be created based on an information item registered in advance in the computer.
[0050] According to the above-mentioned invention, when the environment information of the computer is registered in advance in the computer, the management program code can obtain the environment information and respond properly even if the management program code is designed later than the operating system.
[0051] In the above-mentioned file structure, the management program code may determine whether or not the file content information of the file is available and cause the computer to display a determination result of the availability of the file content information.
[0052] According to the above-mentioned invention, since the computer displays the availability of the file content information based on the obtained environment information, the user can determine whether or not to reproduce the file in advance and properly determine whether or not to select the file.
[0053] In the above-mentioned file structure, the management program code may have information, which is registered in advance in the computer, regarding a disability of the user of the computer as the environment information obtained and perform a process corresponding to the information regarding the disability of the user of the computer as the process for assisting the user of the computer to operate a file in the computer.
[0054] According to the above-mentioned invention, if the information regarding the disability of the user as the environment information is obtained, it is possible to perform the process for assisting the user to operate the file, for instance, the process for displaying an icon in the large size corresponding to the disability.
[0055] In the above-mentioned file structure, the management program code may further perform a process for causing the computer to display outline information of file content information as the process for assisting the user of the computer to operate a file in the computer.
[0056] According to the above-mentioned invention, when the computer displays the outline information of file content information as the process for assisting the user of the computer to operate a file in the computer, the user can properly operate the file. Also, when the file maintains the management program code for displaying the outline information, it is unnecessary to take into consideration the difference of the development time between a program pertaining to the operating system such as the file name display program and the file format related to the file structure according to the above-mentioned invention.
[0057] In the above-mentioned file structure, the management program code, when the file content information is audio information, may perform a process for causing the computer to reproduce at least a portion of the audio information as the process for assisting the user of the computer to operate a file in the computer.
[0058] According to the above-mentioned invention, when at least a portion of the audio information is reproduced as the process for assisting the user of the computer to operate a file in the computer, the user can grasp the outline of the audio file without starting the application program for reproducing the audio file and properly select the file.
[0059] In the above-mentioned file structure, the management program code, when the file content information is still image information, may perform a process for causing the computer to display one of at least a portion of the still image information and a reduced image of the still image information as the process for assisting the user of the computer to operate a file in the computer.
[0060] According to the above-mentioned invention, when at least a portion or a reduced image of the still image information is displayed as so-called a thumbnail image, the user can properly select the desired file.
[0061] In the above-mentioned file structure, the management program code, when the file content information is moving image information, may perform a process for causing the computer to reproduce at least a portion of the moving image information as the process for assisting the user of the computer to operate a file in the computer.
[0062] According to the above-mentioned invention, when at least a portion of the moving image information is reproduced as a series of flash images, the user can properly find the desired moving image in a plurality of moving image files.
[0063] In the above-mentioned file structure, the management program code may perform a process different between file list exhibition time when a list of files is displayed and file selection time when a file is selected as the process for assisting the user of the computer to operate a file in the computer.
[0064] According to the above-mentioned invention, although the information display area has a different size between the file list exhibition time and the file selection time, it is possible to provide the display suitable for each of the file list exhibition time and the file selection time by performing the process different between file list exhibition time and the file selection time.
[0065] In the above-mentioned file structure, the management program code may determine whether or not a file own operation is executable for the file and perform a process for causing the computer to display a result of the determination as the process for assisting the user of the computer to operate a file in the computer.
[0066] According to the above-mentioned invention, when the availability of the file own operation such as "copy", "delete" and "move" of the file is displayed in advance, the user can avoid performing an improper file own operation.
[0067] In the above-mentioned file structure, the file content information may contain address information and exhibition image information of a Web page and the management program code may perform a process for causing the computer to display outline exhibition image information for showing an outline of the Web page as the process for assisting the user of the computer to operate a file in the computer.
[0068] According to the above-mentioned invention, since the outline exhibition image information for so-called a bookmarked file is also maintained and displayed, the user can find the desired address more easily than when only the address information is displayed.
[0069] In the above-mentioned file structure, the management program code, when a Web page is displayed, may search for a file whose file content information contains address information identical to the Web page and update outline exhibition image information for showing an outline of a Web page of the file when the file is found.
[0070] According to the above-mentioned invention, it is possible to update the outline exhibition image information of the bookmarked file in response to the update of the Web page. The user can search for the desired file based on the up-to-date view of the Web page.
[0071] In the above-mentioned file structure, the management program code, when the file content information is a program code of an application program for displaying or editing a file having a predetermined data format, may perform a process for causing the computer to display history list information of the file displayed or edited before by the application program in accordance with an instruction to select the file by the user as the process for assisting the user of the computer to operate a file in the computer.
[0072] According to the above-mentioned invention, when the computer displays the history list information of files displayed or edited before, the user can easily find and select the desired file displayed or edited before using the application program by simply selecting the file of the application program.
[0073] In the above-mentioned file structure, the management program code, when the user of the computer selects a file among files that have the predetermined data format and are in the history list information displayed by the computer, may perform a process for causing the application program to read the file selected and start as the process for assisting the user of the computer to operate a file in the computer.
[0074] According to the above-mentioned invention, it is possible to start the application program corresponding to the selected file smoothly and improve the operability of the file operation.
[0075] In order to achieve the above-mentioned objects, there is provided according to another aspect of the present invention a program for causing a computer to execute the steps of: receiving an instruction to save file content information formed of a program code or data that the computer executes or processes; obtaining a management program code prepared in advance by a provider of an application program for processing the file content information, wherein the management program code is called by a program pertaining to an operating system of the computer based on an interface uniformly prescribed for all files in the computer and performs a process for assisting a user of the computer to operate a file in the computer in accordance with file content information of the file; and storing the file content information and the management program code as a file in a storage apparatus.
[0076] According to the above-mentioned invention, it is possible to easily create a file having the file structure integrally containing the file content information and the management program code to perform the process for assisting the user to operate a file.
[0077] In the above-mentioned program, the step of receiving the instruction to save the file content information may be a step of receiving an instruction to create outline exhibition image information showing an outline of a Web page and the file content information may be formed of the outline exhibition image information and address information of the Web page.
[0078] According to the above-mentioned invention, when a file integrally having the file content information and the management program code to perform the process for assisting the user's file operation is created, it is possible to easily create a file that can display not only the address information of the Web page but also the outline exhibition image information.
[0079] In the above-mentioned program, the program may further cause the computer to execute the steps of: searching for, when a Web page is displayed, a file whose file content information contains address information identical to the Web page; and updating outline exhibition image information for showing an outline of a Web page of the file when the file is found.
[0080] According to the above-mentioned invention, the outline exhibition image information of the Web page can be updated and recreated for the file that can display the outline exhibition image information at an appropriate time or in an appropriate interval of time. As a result, it is possible to correspond to the up-to-date status of the Web page.
[0081] In order to achieve the above-mentioned objects, there is provided according to another aspect of the present invention a program for causing a computer to execute: preprocessing step of calling a management program code of a file to be processed based on an interface uniformly prescribed for all files in the computer, wherein the file stored in a storage apparatus comprises file content information formed of a program code or data that the computer executes or processes and the management program code, and the management program code is prepared in advance by a provider of an application program for processing the file content information and performs a process for assisting a user of the computer to operate a file in the computer in accordance with file content information of the file and outputting information regarding an operation performed by the user; and postprocessing step of receiving the information regarding the operation performed by the user from the management program code of the file via the interface and performing a process based on the information.
[0082] According to the above-mentioned invention, it is possible to provide a program pertaining to the operating system that can correspond to a file having the file structure containing the management program code to perform the process for assisting the user's file operation.
[0083] In the above-mentioned program, the program may further cause the computer to execute the step of: starting an intermediate language code processing function when the management program code is described as an intermediate language code.
[0084] According to the above-mentioned invention, since the management program code is described as an intermediate language code, it is possible to execute the management program code of the file even in a computer mounting a different type of CPU by using an interpreter.
[0085] In the above-mentioned program, the program may further cause the computer to execute the step of: restricting any execution of functions other than a certain function of the management program code.
[0086] According to the above-mentioned invention, it is possible to prevent the execution of the management program code when the management program code incorporates a harmful program such as a computer virus.
[0087] In the above-mentioned program, the program may further cause the computer to execute the step of: outputting, when a request to obtain environment information of the computer is received from the management program code, the environment information to the management program code via the interface.
[0088] According to the above-mentioned invention, it is possible to properly perform the process by delivering the environment information of the computer to the management program code.
[0089] In the above-mentioned program, the program may further cause the computer to execute the step of: maintaining in advance an environment item to respond to the request to obtain the environment information of the computer.
[0090] According to the above-mentioned invention, it is possible for the management program code to properly correspond by registering the environment item of the computer in advance even if the management program code is developed later than the operating system.
[0091] In the above-mentioned program, the postprocessing step, when information regarding a determination result of availability of the file content information of the file is received from the management program code, may cause the computer to display information regarding the availability.
[0092] According to the above-mentioned invention, the user can determinate a file operation with reference to the information regarding the availability of the file content information of the file before the file is selected or read.
[0093] In the above-mentioned program, the program may further cause the computer to execute the step of: outputting, when a request to obtain information regarding a disability of the user is received from the management program code, the information regarding the disability registered in advance in the computer to the management program code via the interface.
[0094] According to the above-mentioned invention, since the information regarding the disability of the user is provided to the management program code, the user can comfortably perform a file operation in the computer.
[0095] In the above-mentioned program, the postprocessing step, when information regarding availability of a file own operation is received from the management program code, may cause the computer to display the information regarding the availability of the file own operation.
[0096] According to the above-mentioned invention, since the user can confirm the availability of the file operation, the user can properly perform the file operation.
[0097] In the above-mentioned program, the postprocessing step, when the operation performed by the user is an instruction to read a file, may inform a creator of the file that the file is read via a network based on the information from the management program code.
[0098] According to the above-mentioned invention, for instance, when the file creator can be informed that the audio information of the file is reproduced, it is possible to develop a more proper copyright management system and billing system.
[0099] In the above-mentioned program, the postprocessing step, when outline information of the file content information is received from the management program code, may cause the computer to display the outline information.
[0100] According to the above-mentioned invention, when the outline information of the file content information is received from the management program code, the user can select a proper file by displaying the outline information.
[0101] In the above-mentioned program, the postprocessing step, when at least a portion of audio information of the file content information is received from the management program code, may reproduce the portion of the audio information.
[0102] According to the above-mentioned invention, when at least a portion of the audio information is reproduced as the process for assisting the user of the computer to operate a file in the computer, the user can grasp the outline of the audio file without starting the application program for reproducing the audio file and properly select the file.
[0103] In the above-mentioned program, the postprocessing step, when at least a portion of still image information or a reduced image of the still image information is received from the management program code, may cause the computer to display the portion of the still image information or the reduced image of the still image information.
[0104] According to the above-mentioned invention, when at least a portion or a reduced image of the still image information is displayed as so-called a thumbnail image, the user can properly select the desired file.
[0105] In the above-mentioned program, the postprocessing step, when at least a portion of moving image information of the file content information is received from the management program code, may reproduce the portion of the moving image information.
[0106] According to the above-mentioned invention, when at least a portion of the moving image information is reproduced as a series of flash images, the user can properly find the desired moving image in a plurality of moving image files.
[0107] In the above-mentioned program, the postprocessing step may cause the computer to display history list information of the file when the file content information of the file is a program code of an application program displaying or editing a file having a predetermined data format and information regarding a file displayed or edited before by the application program is received from the management program code of the file.
[0108] According to the above-mentioned invention, when the file content information is a program code, the user can receive the information of the file displayed or edited before by using the program from the management program code of the file only by selecting the file of the application program. As a result, the user can observe the history list of files displayed or edited before and select the desired file more smoothly.
[0109] In the above-mentioned program, the preprocessing step may output the information regarding the operation performed by the user to management program codes of a plurality of files in the computer and the postprocessing step may receive the information from the management program codes of the files and performs a process when the operation performed by the user is an instruction to display a list of files.
[0110] According to the above-mentioned invention, it is possible to perform the display process for assisting the user's file operation in the list of files by using the management program code in the file.
[0111] Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0112] FIG. 1 shows a hardware configuration of a computer according to an embodiment of the present invention;
[0113] FIG. 2 is a schematic diagram illustrating an example of a file operation that is performed in general in such a computer system as shown in FIG. 1;
[0114] FIG. 3 is a diagram illustrating an example of file storage that is used in general in such a computer system as shown in FIG. 1;
[0115] FIG. 4 is a diagram illustrating a display example of file identification information that is provided to a user in general in such a computer system as shown in FIG. 1;
[0116] FIG. 5 is a diagram illustrating an example of a hierarchical structure that is used in general to virtually store files in such a computer system as shown in FIG. 1;
[0117] FIG. 6 is a flowchart illustrating a procedure of a file name display program that is used in general in such a computer system as shown in FIG. 1;
[0118] FIG. 7 is a diagram illustrating a display example of a list of file names produced by the file name display program that is used in general in such a computer system as shown in FIG. 1;
[0119] FIG. 8 is a flowchart illustrating a procedure of another file name display program that is used in general in such a computer system as shown in FIG. 1;
[0120] FIG. 9 is a diagram illustrating an example of a file structure according to the embodiment of the present invention;
[0121] FIG. 10 is a diagram illustrating another example of a file structure according to the embodiment of the present invention;
[0122] FIG. 11 is a detailed diagram illustrating an example of the file structure in FIG. 10;
[0123] FIG. 12 is a detailed diagram illustrating another example of the file structure in FIG. 10;
[0124] FIG. 13 is a diagram illustrating an example of FTYPE codes maintained in FTYPE information in the file structure according to the embodiment;
[0125] FIG. 14 is a diagram illustrating an example of an interface for calling a management program code;
[0126] FIG. 15 is a flowchart of a procedure performed by an operating system and the management program code;
[0127] FIG. 16 is a diagram illustrating an example of a data structure of Q_List;
[0128] FIG. 17 shows a table representing correspondence between codes and types of environment information to be obtained;
[0129] FIG. 18 is a diagram illustrating an example of a data structure of A_List;
[0130] FIG. 19 is a diagram illustrating an example of a data structure of location information of a Question function and an Answer function;
[0131] FIG. 20 is a diagram illustrating another example of the data structure of the location information of the Question function and the Answer function;
[0132] FIG. 21 is a diagram illustrating an example of a file header if there are a plurality of program codes describing the management program code;
[0133] FIG. 22 is a flowchart of a procedure for controlling the program codes for the management program code in FIG. 21;
[0134] FIG. 23 is a diagram illustrating an example of a hierarchical structure that is used to virtually store files having the file structure according to the embodiment;
[0135] FIG. 24 is a diagram illustrating an example of file storage of files having the file structure according to the embodiment;
[0136] FIG. 25 is a block diagram schematically illustrating a role of the management program code;
[0137] FIG. 26 is a flowchart of a procedure for creating a file having the file structure according to the embodiment;
[0138] FIG. 27 is a diagram illustrating an example of a data structure of a Web page having the file structure according to the embodiment;
[0139] FIG. 28 is a flowchart of a procedure for creating a Web page having the file structure according to the embodiment;
[0140] FIG. 29 is a flowchart of a procedure for updating the Web page having the file structure according to the embodiment;
[0141] FIG. 30 a diagram schematically illustrating an example of a file operation for the Web page having the file structure according to the embodiment;
[0142] FIG. 31 is a flowchart of a procedure of the file name display program;
[0143] FIG. 32 is a diagram illustrating an example of a data structure of R_List;
[0144] FIG. 33 is a flowchart of a procedure of the Question function in a general case;
[0145] FIG. 34 is a flowchart of a procedure of the Answer function in a general case;
[0146] FIG. 35 is a flowchart of a procedure of the Question function when the file content information is still image information;
[0147] FIG. 36 is a flowchart of a procedure of the Answer function when the file content information is still image information;
[0148] FIG. 37 is a diagram illustrating a display example at file selection time;
[0149] FIG. 38 is a flowchart of a procedure of the Question function including a process for determining availability of a file having the file structure according to the embodiment;
[0150] FIG. 39 is a flowchart of a procedure of the Answer function including a process for determining availability of a file having the file structure according to the embodiment;
[0151] FIGS. 40A and 40B are diagrams illustrating a display example of availability of an audio file having the file structure according to the embodiment;
[0152] FIGS. 41A and 41B are diagrams illustrating a display example of availability of a program file having the file structure according to the embodiment;
[0153] FIGS. 42A through 42C are diagrams illustrating a display example of availability of a file own operation for a file having the file structure according to the embodiment;
[0154] FIG. 43A is a diagram illustrating a display example of a history list of files of an application program;
[0155] FIG. 43B is a diagram illustrating a display example of the history list of files of the application program when the user selects one of the files in the history list;
[0156] FIG. 44 is a flowchart of a procedure performed by the operating system and the management program code with respect to the history list;
[0157] FIG. 45 is a flowchart of a procedure performed by the operating system and the management program code with respect to the history list after the user selects the file; and
[0158] FIG. 46 is a flowchart of a procedure performed by the operating system and the management program code with respect to a notification process.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0159] In the following, embodiments of the present invention will be described with reference to the accompanying drawings.
[0160] FIG. 1 shows a hardware configuration of a personal computer according to the embodiment of the present invention. A personal computer (hereinafter referred to as a computer) 1 comprises a CPU 2 processing information, a ROM 3 for storing some data such as BIOS (Basic Input Output System), a primary storage apparatus such as a RAM 4 for temporarily storing information during execution, a secondary storage apparatus such as a HDD (Hard Disk Drive) for storing some data such as an execution result, a drive of a removable media 6 such as a CD-ROM for storing/distributing information in/to an exterior of the computer 1 and obtaining information from an exterior of the computer 1, a communication device 8 for connecting to a network 7 so as to communicate with another computer 21 being in an exterior of the computer 1, a display 9
displaying an execution progress and an execution result to a user, and an input apparatus such as a keyboard 10 and a mouse 11 through which the user inputs an instruction and information to the computer 1. A bus controller 12 serves to arrange a data communication among these parts.
[0161] In such a computer 1, in general, when a user turns on power, the CPU 2 executes a loader program in the BIOS stored in the ROM 3 and reads an operating system serving to manage hardware and software of the computer 1 from the HDD 5. The operating system supports an application program to start, read and save information in accordance with an operation of the user after the start of the operating system. Windows (registered trademark of Microsoft Corporation) and UNIX (registered trademark of X/Open Inc.) are typical operating systems.
[0162] A description will now be given of a structure and an operation with respect to a file operation by using such a computer 1.
[0163] Through such an operating system, in general, a user operates digital information by a unit of information, so-called a "file", which is stored for instance in the secondary storage such as the HDD 5, in order to start an application program and edit, save and delete data. When the user manipulates the computer 1 for various operations, all programs and data are treated as the files, which are stored for instance in a storage apparatus such as the HDD 5 and the CD-ROM 6.
[0164] FIG. 2 shows an outline of the above-mentioned computer system. The operating system reads and executes a program file associated with an application program from the HDD 5 or the like in accordance with an instruction of a user. In addition, the operating system reads a data file in accordance with a request of the application program. Also, the operating system executes a file operation such as the creation and the deletion of a file in accordance with the user's instruction. As is to be mentioned later, concerning the embodiment of the present invention, it is supposed that a file name display program (file management program) is contained in the operating system. In the present invention, the operating system and the file name display program are integrated and called a "program pertaining to the operating system". The file name display program serves to display, move, delete, copy and create a file.
[0165] Although operating systems use various methods for storing files in the storage apparatus such as the HDD 5, the files are generally stored as shown in FIG. 3. Namely, information, which is called an "index table", is maintained in a certain location of the storage apparatus. File identification information such as a file name for identifying a file and information regarding a storage location of the file are registered in the index table. Here, the storage location information is typically formed of both the start position and the size of substantial information of the file (file content information) or both the start position and the end position of the file content information in the secondary storage apparatus. The operating system reads the index table to the primary storage apparatus RAM 4. When the operating system attempts to read a file, the operating system finds the file identification information corresponding to the file from the index table and obtains the storage location information of the file from the index table. In this fashion, the operating system can read the file from the secondary storage such as the HDD 5.
[0166] As the above fashion, the index table, which corresponds to contents of a book, is used to search for a file position quickly. Here, although an actual storage location is registered in the index table in this example, the operating system often refers to an allocation table in which the memory space is divided into a plurality of pages with a an appropriate size to obtain the file position in practical use. The allocation table maintains information indicating whether or not a page in the memory space contains information. The operating system finds an empty space with reference to the allocation table when the operating system attempts to store information. In this embodiment, such an arbitrary method may be used with respect to the memory space mapping method as long as the method is reasonable.
[0167] Also, a "file name" and an "extension" are often used as the above-mentioned file identification information. As is shown in FIG. 4, an individual file is referred to by a combination of the file name and the extension so that a user can easily distinguish files. Basically, when the user operates the computer 1, the user has to designate and determine the combination. In the typical operating system Windows (registered trademark of Microsoft Corporation), extensions "EXE" and "DLL" are attached to an executable program file and a library file in order to be separated from other types of file, respectively. Also, in a typical application program MS-Word (registered trademark of Microsoft Corporation) that is used in the Windows, an extension "DOC" is attached to a document file that is a data file created by the MS-Words. Additionally, as is shown in FIG. 4, a figure "icon", which visually represents the type of a file, is displayed together with the file name and the extension of the file. Conventionally, an operating system has the file name display program for displaying the view as shown in FIG. 4
on the display 9.
[0168] A description will now be given of a conventional file name display program. As is shown in FIG. 5, the computer 1 maintains a file in the storage apparatus under a directory structure formed of a virtual hierarchical structure. Normally, there is a root folder in the top level of the directory structure and there are files or folders in the hierarchical levels below the root folder.
[0169] A user selects the desired file among a plurality of files managed in such a hierarchical structure and then instructs to execute or read the file. Here, the file name display program follows a procedure as shown in a flowchart in FIG. 6. At step S1, the file name display program detects file identification information of a file to be displayed. In fact, the file name display program searches for the combination of the file name and the extension of the file. At step S2, the file name display program detects the extension in the file identification information. At step S3, the file name display program detects information regarding an icon corresponding to the extension. Conventionally, the operating system is responsible to manage the icon information. The icon information corresponding to an individual extension is registered in the operating system and the icon information corresponding to the detected extension is notified to the file name display program. Here, if the file is an executable program file, the executable program file often holds an icon to be displayed. In this case, the icon held in the executable program file is notified to the file name display program prior to the registered icon. The above steps are performed for each of a plurality of files. At step S4, the file name display program displays a list of file names, extensions and icons on the display 9.
[0170] FIG. 7 shows the view of the list of file names, extensions and icons displayed by the file name display program in the procedure in FIG. 6. FIG. 7 illustrates an example of three extensions: "SUN", "STR" and "CIR". As mentioned above, the conventional file name display program finds an icon registered based upon an extension of a file or icon information held in the file to be displayed and then display the icon.
[0171] On the other hand, the file name display program may perform a procedure shown in a flowchart in FIG. 8. At step S11, the file name display program obtains an extension from the file identification information. At step S12, the file name display program detects a format of the file from the extension. At step S13, the file name display program interprets file content information of the file from the format and creates image data. At step S14, the file name display program displays the image data. The above method is often used for an image file and is conventionally called a "thumbnail display". As the above fashion, the file name display program displays the list of file names and extensions as well as icons associated with the files or images representing the contents of the files. This icon display is totally based upon the file name and the extension, and the thumbnail display is also based upon the format determined from the extension. Thus, if the file name display program cannot understand the extension and the format, the file name display program cannot display the icon and the image corresponding to the file.
[0172] Regarding such a view as shown in FIG. 7, the file name display program, which serves to display the view, is conventionally developed and distributed together with an operating system. Therefore, if an application program is developed after the development of the operating system, it is necessary to register an icon corresponding to the application program at the installment of the application program to the computer. In order to deal with such a case, the correspondence of the icon with the extension of the application program is registered at the installment, and the application program is set to attach the extension to a data file created by using the application program. However, in the above method, although it is possible to display an icon for each application program, the thumbnail display cannot be provided to the user.
[0173] A file structure that can eliminate the above-mentioned problems and achieve a more successful file display than conventional methods is presented in this embodiment of the present invention. Additionally, a file name display program may be developed before an application program under this embodiment.
[0174] FIG. 9 shows an example of the file structure according to this embodiment. The file structure is characterized in that a "management program code" is additionally provided corresponding to the file information in FIG. 3. Also, a "file header" in addition to a "management program code" may be provided in a file structure as shown in FIG. 10. The file header is provided so as to distinguish between a file created under an operating system using a conventional file structure and a file having a management program code of the file structure according to this embodiment. If the operating system in use adopts the file structure according to the embodiment for all files in the computer, the file header is not necessary. Just when the file structure according to the embodiment is introduced, the computer temporarily has the two types of files. Therefore, the file header will be described with reference to an example of the file structure in FIG. 10.
[0175] FIG. 11 shows the structure shown in FIG. 10 in detail. In FIG. 11, a file has a file header at the head of the file. A code to distinguish between the file formats is provided to the file header. The code may be an arbitrary type of code. In the embodiment, the code is represented by three ASCII codes "A", "2" and "Z" using 3 bytes. An FTYPE code representing a detailed type of the file is followed by the code. In the embodiment, the FTYPE code, which is formed of 1 byte, can distinguish 256 file types. If it is necessary to distinguish more file types, 2
bytes may be prepared for the FTYPE code. Also, several bytes may be prepared as a reserved space after the FTYPE code. In the embodiment, that is not essential for the present invention and the description thereof will be omitted.
[0176] An OFFSET code is followed by the FTYPE code. The OFFSET code serves to indicate the storage position of the file content information of the file. Then, a management program code, which is a primary part of the embodiment, is followed. Further, the file content information is followed. The file content information is formed of substantial content data of the file. If the file content information is a program file, the content data are formed of a program code and auxiliary data for the program code.
[0177] FIG. 12 shows an example of another file structure in the case where the management program code follows the file content information. In this case, the OFFSET code, in turn, indicates the position of the management program code.
[0178] The management program code does not depend on the types of file such as a data file and a program file. In the embodiment, it is supposed that a file having the file structure according to the embodiment has the format as shown in FIG. 9 and FIG. 10.
[0179] A description will now be given, with reference to FIG. 13, of an example of codes that the FTYPE holds in such a file structure. As is shown in FIG. 13, individual FTYPE codes indicate operational modes for the management program code by using a sequence of bits. The value "1" of a bit means that an operational mode corresponding to the bit is valid. In contrast, the value "0" of the bit means that the operational mode is not valid. If all of the bits for the FTYPE codes have "0"s, the management program code does not operate at all. If the bit corresponding to the display operation has "1", the management program code operates at the time of the list display execution. Also, if the bit corresponding to the selection operation has "1", the management program code operates at the file selection time through the input apparatus such as the mouse 11. Not only when an icon representing a file is clicked but also when a pointer is simply positioned on the icon, may the file be considered to be selected.
[0180] If the bit corresponding to the reading operation has "1", the management program code operates before an application program reads a file. If the bit corresponding to the writing operation has "1", the management program code operates when an application program updates a file: Additionally, if the bit corresponding to the reliability examination has "1", the management program code operates when a virus check program is executed to examine the reliability of a file.
[0181] As mentioned above, the FTYPE information holds codes to indicate the time when the operating system actuates the management program code. Although the time when the computer 1 operates the management program code of a file in the embodiment is described in the FTYPE information, description methods other than the FTYPE information may be used. For instance, the execution time of the management program code may be prescribed for each event of the computer 1. In detail, the execution time may be prescribed for the click, the double-click, and the drag and drop of the mouse 11. The FTYPE codes serves as the flags for restricting unnecessary burdens on the computer 1, that is, the execution of the management program code for all events.
[0182] A description will now be given of an operation for the management program code in a file. In a conventional file structure, the management program code of a file is added to a program code or an image, so-called file content information. As mentioned above, there is a possibility that the file is created before the development of an operating system. Also, the management program code often operates depending on the type of file content information. In order to overcome the above problems, the management program code contained in a file shown in FIG. 9 and FIG. 10
has an interface uniformly prescribed for operating systems so that the operating systems can call the management program codes of various types of file in a uniform fashion. Here, the call operation can be prescribed by an application program for creating a data file and a manufacturer producing the application program. When the management program code having the prescribed interface is added to the conventional file and the operating system calls the file management program (file name display program), the file management program can successfully operate without the alternation regardless of the file type and operation.
[0183] On the other hand, a program for calling the management program code based on the prescribed interface is included in the operating system. The management program code called by the operating system operates in accordance with the type of file.
[0184] A description will now be given, with reference to FIG. 14, of an example of the interface for calling the above-mentioned management program code. The operating system calls two types of function shown in FIG. 14: a Question function and an Answer function. The Question function has the call parameter TYPE and the return value Q_List. The Answer function has the call parameter A_List and the return value R_List (there is a case of only flags.). The TYPE, the Q_List, the A_List and the R_List in FIG. 14 will be described in detail later.
[0185] FIG. 15 shows a process outline of the operating system and the management program code. It is supposed that the operating system obtains the validity of the reading operation based on the FTYPE information as shown in FIG. 13. The operating system sets the TYPE information indicating the operational time (or the event) in accordance with the FTYPE and calls the Question function of the management program code (S21). The called Question function of the management program code determines a type of information necessary to execute the Answer function based upon the TYPE information and creates the Q_List (S31). For instance, when the display operation is performed, the operating system sets the TYPE information indicating the display operation and calls the Question function. The Question function of the management program code creates the Q_List including environment information such as the display width, the display height and resolution required to execute the Answer function based upon the TYPE information and returns the Q_List to the operating system.
[0186] FIG. 16 shows a data structure of the Q_List. The Q_List begins with the number n of required information items (the number of types), and codes of the information items Q1, Q2, . . . , Qn are arrayed corresponding to the number n of required information items. It is an efficient way to prescribe the type code by the proper number of bytes, and the type code is represented by 2 byte code in the embodiment of the present invention. FIG. 17 shows a table representing a correspondence of the codes to the types of environment information that the management program code should obtain from the Q_List in the embodiment. The table is prescribed and registered in the operating system in advance. The management program code obtains the information items shown in the column "Information Item" in FIG. 17 via the operating system. These information items are related to the environment information such as an output apparatus and an input apparatus connected to the computer 1. The information items have property information as follows: the numbers of display dots of the display 9 in the vertical and the horizontal directions, the display color of the display 9, a type of the keyboard 10, a default font type and a default size of the operating system, and a language such as Japanese and English used by the operating system. As is shown in FIG. 17, the display area and resolution are typical information items. Fundamental information items required for operations by the operating system are coded in the information items. Also, since the size depends on the type of information, it is necessary to prescribe the size of information. FIG. 17 shows an example of the information sizes. Here, when an information item has a variable size rather than a fixed size, the information size is prescribed as an "n Byte" as shown in FIG. 17 so that the information can be delivered by coupling the information size n and the information.
[0187] Then, the operating system obtains the Q_List created by the Question function of the management program code (S22). Based upon the table in FIG. 17, the operating system detects information necessary for the management program code from the Q_List formed of a code sequence of information items and then creates the A_List as shown in FIG. 18
corresponding to the detection result (S23). The A_List is a sequence of the property information items corresponding to each code of the Q_List. The operating system sets the created A_List and calls the Answer function of the management program code (S24).
[0188] Based upon the A_List, the called Answer function performs a process with reference to the file content information (S32). At this time, there are two cases regarding the process of the Answer function. In one case, the Answer function performs the process directly for the computer 1. In the other case, the Answer function performs the process and delivers a process result to the operating system. Then, the operating system displays the process result on the computer 1.
[0189] In the case in which the Answer function performs the process directly for the computer 1, the Answer function sets Flag indicating whether or not another process is further necessary after the process and return the Flag to the operating system. The operating system determines whether or not to further execute the management program code based on the Flag value. If the execution of the management program code is required (Flag=1), the above-mentioned process is repeated. Otherwise (Flag=0), the process is terminated.
[0190] In the latter case in which the operating system displays the process result, if any process is not further necessary, the Answer function sets the Flag as "0" and returns the Flag together with the process result (which may be NULL) as R_List to the operating system (S33). If some processes are necessary, the Answer function sets the Flag as "1" and returns the Flag together with the process result (which may be NULL) as the R_List. The operating system obtains the returned R_List and performs further processes for the process result of the Answer function if necessity (S25). Then, the operating system displays the process result on the display 9. Furthermore, the operating system determines whether or not to execute the management program code based on the Flag value (S26). If it is necessary to execute the management program code (Flag=1), the above-mentioned process is repeated. Otherwise (Flag=0), the process is terminated.
[0191] As is shown in FIG. 19, the position information of the two functions may be maintained in the head of the management program code. Also, the structure as shown in FIG. 20 may be maintained in the header in FIG. 11. In FIG. 19, addresses of the Question function and the Answer function are stored in the head of the management program code, and the bodies of the Question function and the Answer function are stored in the train of the address information. In contrast, in FIG. 20, the addresses of the Question function and the Answer function are stored in the last portion of the header. Under this configuration, the operating system only calls the management program code based on the prescribed interface. As a result, it is possible to install how to operate in detail even after the development of the operating system. For instance, it is possible to properly represent information required to select a file.
[0192] Although the management program code may be described by a language code depending on the CPU 2 of the computer 1, there is a case in which it is desirable to describe the management program code by using an intermediate language code such as JAVA (registered trademark of Sun Microsystems, Inc.) because it is possible to execute a file even by using computers having different types of CPU.
[0193] When there are a plurality of program codes describing the management program code, a file header as shown in FIG. 21 is prepared. In this case, the flag "CODE TYPE" is provided in the header, for instance, between the FTYPE and the OFFSET. For instance, the value "1" of the CODE TYPE means that the management program code is described by using the JAVA byte code. The value "2" means that the management program code is described by using an intermediate language code such as C#. The value "3" means that the management program code is compatible to Intel 8080 that is primarily used as CPU of personal computers.
[0194] The operating system performs such a process as shown in FIG. 22
for a file having the file header shown in FIG. 21. The operating system finds an operational mode from the CODE TYPE, which is in the file header of the file, before the execution of the management program code. Then, the operating system determines whether or not the computer 1 can deal with the operational mode designated by the CODE TYPE (S42). If the management program code is described by using a language code other than code types that the computer 1 can execute or the computer 1 has no module such as an interpreter for executing the intermediate language code, the operating system cannot execute the management program code and terminates the execution (S43). In contrast, if the computer 1 can deal with the operational mode designated by the CODE TYPE, the operating system determines whether or not an intermediate language code is designated (S45). If the intermediate language code is designated, the operating system starts a module such as an interpreter corresponding to the type of the intermediate language code (S45). Then, the operating system executes the management program code (S46). On the other hand, if a language code is designated, the operating system directly executes the management program code (S46).
[0195] Here, the management program code may be described by using a plurality of language codes such as a native language code and an intermediate language code, and a file may have a plurality of management program codes. In this case, if the management program code is described by using the native language code of the CPU 2 of the computer 1, the operating system executes the management program code for the native language code. Otherwise, the operating system executes the management program code for the intermediate language code.
[0196] The management program code is often sufficient if the management program code has functions of describing the contents of the file. Thus, the functions that the management program code can execute may be restricted. Under the restricted management program code, even if a malicious program such as a computer virus invades the management program code, it is possible to prevent the execution of the malicious program.
[0197] In detail, when the management program code is described by using the JAVA byte code, the security manager attached in the JAVA language is used. The Java program can perform functions within an authorized range called a "sandbox". Also, the JAVA program can be set so that the JAVA program can perform only certain functions, in other word, the JAVA program is not allowed to perform functions other than the certain functions. The primary purpose of the management program code according to the embodiment is to display the contents and status of a file. Thus, for instance, if it is not allowed to perform operations such as writing in a local file, starting other programs, and connecting to a network, the operating system can achieve the function restriction by calling the management program code in a state of giving no permission for the execution of these functions.
[0198] Also, the management program code may be designed to read only file content information of a file having the management program code. In this case, the management program code obtains various information items from the above-mentioned A_List and commits an output process of an operation result to the operating system. As a result, the operating system achieves the function restriction in the state of giving no permission for the execution of the functions by calling the management program code. Here, the management program code only serves to create new information based on given information and file content information contained in the file. The operating system serves to output the information. Under this configuration, it is possible to prevent the execution of the malicious program such as a computer virus in the management program code.
[0199] In detail, the operating system delivers the various information items as the A_List to the Answer function and calls the Answer function. The Answer function performs the process by using the file content information and returns the Flag information together with information to be displayed on the display 9 as the R_List to the operating system. The operating system displays the received information to be displayed on the display 9 instead of the Answer function. The Answer function converts the information to be displayed into image data and delivers the image data to the operating system including the R_List. As a result, it is possible to easily achieve the functions in the state of giving no permission for the execution of the functions by calling the management program code.
[0200] While the conventional file structure maintains only the file content information representing the contents of a file, the file structure according to the embodiment has only the management program code in addition to the file content information. As a result, it is possible to store a plurality of files in the storage apparatus such as the HDD 5 under the structure similar to that in FIG. 3. FIG. 23 shows this example.
[0201] The computer 1 basically accesses an index table representing the contents of a plurality of files and file content information of the files in the storage apparatus such as the HDD 5 in order to obtain the desired information. The storage apparatus is supposed to provide a virtual hierarchical structure and maintain three files AAA, BBB.SUN and CCC in a folder XXX in the hierarchical structure. Furthermore, it is supposed that the files AAA and CCC have the file structure according to the present invention and the file BBB.SUN has a conventional file structure. As mentioned above, these files maintain the storage location information of the file content information in the index table. The index table maintains the folder name representing the folder XXX, the number of files (size) in the folder, file names, and the storage location information of the file content information (here, the start address and the end address). Similarly to the description with respect to FIG. 3, the file content information of an individual file is stored at the storage location maintained in the index table.
[0202] As is seen in FIG. 23, when the storage location of the file having the conventional file structure is designated, only the file content information is appointed. However, when the storage location of the file having the file structure according to the present invention is designated, the entire file structure as shown in FIG. 9 and FIG. 10 is appointed. Thus, even if the file structure according to the present invention is used, it is possible to realize the storage structure in which files according to the present invention and files having the conventional file structure are maintained together. Furthermore, it is possible to directly use the conventional file storage structure without necessity of adopting a new storage structure for storing the files having the file structure according to the present invention.
[0203] Here, as is shown in FIG. 24, the file storage information may be maintained in the index table differently from the conventional fashion. Namely, the storage location information (the start address and the end address) of the management program code and the storage information (the start address and the end address) of the file content information may be separately maintained. In this case, since the operating system can obtain separately the two storage information items of the management program code and the file contents information, it is possible to achieve the high speed access. However, on the contrary, it is difficult to manage files because the two storage information items are maintained in different locations. As a result, when the files are copied and moved in another storage apparatus, it is also necessary to copy and move the storage location information of the two information items.
[0204] According to the novel file structure having the management program code according to the present invention, the management program code serves as a mediator between the operating system to assist a user to operate a file and the file content information of the file. The management program code is prescribed uniformly to all files and is formed as a program having the interface that the operating system can call in a uniform fashion. The operating system is sufficient to call the management program code based on the interface. In contrast, even if a data file has any format, an application program can display the data file in the desired form simply by creating a program for performing the process to assist user's file operations such as the icon display and the thumbnail display of the file based on the prescribed interface as mentioned later. The operating system calls the management program code so as to perform the process to assist the user's file operations and causes the management program code to only execute the process. Accordingly, it is unnecessary to start the application program for the file. Thus, the file structure according to the present invention differs from conventional file structures in that the application program is included in the file under the conventional file structures. Furthermore, the management program code is added when the file content information of the file is created. The management program code can interpret the format of the file and the operating system is sufficient to call the management program code. As a result, the management program code is applicable to even the case in which the application program of the file is developed after the operating system. In addition, by eliminating the disadvantages such as the extension dependency, the file structure according to the present invention achieves the high generality in that the file structure does not depend on the difference of the development time between the operating system and application programs used in the computer.
[0205] A description will now be given of a creation method of a file having the file structure according to the present invention.
[0206] From the viewpoint of the file creation method, files in the storage apparatus such as the HDD 5 of the computer 1 are classified into two types. The first type file is a file that is created in advance by operating system providers and application program providers at the development time of these programs. Typically, program files constituting the operating system and files of the application programs are classified as the first type file. The second type file is a file that is created by programs of the computer 1. Typically, document files are classified as the second type file.
[0207] In a creation method of the first type file, a provider of such a file creates necessary information (file content information) and management program code according to the present invention. Then, a file in which the file content information and the management program code are integrated is created by using the file structure according to the present invention as shown in FIG. 9 or FIG. 10.
[0208] In a creation method of the second type file, the program for creating such a file (application program and so on) produces the file content information necessary for storage and the created management program code under the file structure shown in FIG. 9 or FIG. 10.
[0209] For instance, FIG. 26 shows a flowchart of a document creation program. Referring to the flowchart in FIG. 26, when a document creator saves document information as a file in the storage apparatus, the document creation program receives an instruction to save the document information (S47). The document creation program obtains the management program code provided in advance by the document creation program provider (S48). The document creation program integrates the management program code and the document information by using the file structure shown in FIG. 9 or FIG. 10, or demonstrates that the file structure according to the present invention is applied to the file and generates the file header including information corresponding to the management program code (S49). Then, the document creation program saves the management program code and the document information together with the file header as a file in the storage apparatus (S50).
[0210] Here, the management program code is prepared in advance by the provider of the document creation program.
[0211] The file structure according to the present invention may be applied to a browser program (application program) for browsing a Web page in the Internet. The browser program has a function of saving addresses of browsed Web pages. This function is often called a "bookmark". In the bookmark, the addresses (URL: Uniform Resource Locator) are stored and managed as individual files in a certain folder. For instance, Internet Explorer provided by Microsoft Corporation adopts the above-mentioned bookmark function.
[0212] The file structure according to the present invention may be applied to individual files of the address information in the bookmark. As is shown in FIG. 27, the individual files in the bookmark hold the management program code and data together with the address information of Web pages. Here, for instance, the data may be image data (display image information) roughly showing the Web page of the address.
[0213] A description will now be given, with reference to FIG. 28, of an example of a file creation process as shown in FIG. 27. A user browses a Web page by means of a browser program and instructs to create the bookmark for a certain page, and the browser program receives the bookmark creation instruction (S51). The browser program obtains the address information of the Web page and image data (display image information) roughly showing the browsed Web page (S52). Then, the browser program saves the address information and the image data together with the management program code prepared in advance by a provider of the browser program as a file having the file structure according to the present invention in the storage apparatus (S53).
[0214] If such a file for the bookmark is created, the management program code displays the image data roughly showing the Web page like an example of an image file to be mentioned later when the file name display program displays a list of addresses in the bookmark at the next time. As a result, the user can find the desired address in the bookmark more easily than when the user searches the bookmark by using only the address information.
[0215] Additionally, since Web pages are quite often updated, it is preferable to also update the above-mentioned image information. In this case, a process as shown in FI