Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1998-09-29
2001-05-08
Chaki, Kakali (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C709S241000, C709S241000
Reexamination Certificate
active
06230310
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a software object management system for computers, and more particularly to a system which selectively performs various transformations to objects in a manner which is transparent to application programs which handle the objects. These transformations include, but are not limited to, changes in format, changes in storage location, and authentication.
2. State of the Art
When an application program performs operations upon a file, typically the file must be in a format which is native to that application. For example, a text editor may be only designed to handle plain text files, and therefore would not recognize special codes and the like which may be present if the file is in the format of a word processing application or a database. When a user selects a command to open a file, the text editor issues a call to a computer file system to list the files which are available to be opened. As part of this call, the application program may inform the operating system of the type of files it is capable of handling, e.g. “text” files. In response, the file system only returns information about that particular type of file. In this case, therefore, the usere's selection of files to be opened is limited to files of the identified type.
To overcome these types of limitations, many application programs are provided with built-in, or plug-in, conversion facilities. For instance, a word processing program may have a converter, or translator, for converting files in the format of another word processing program into its native format. In this situation, when the word processing program issues a call to open a file, it may inform the file system of not only its own native format, but also the format of any other type of file for which it has a translator. In response, the file system returns a list of files which are in the native format of the word processing program, as well as files which can be translated into that format by the program.
In addition to the limitations associated with file formats, similar concerns apply to the sites from which an application program can retrieve files, or to which it can store them. Many programs can only communicate with a local file system, and are not capable of accessing files at remote sites, for example those stored on an FTP file server. Typically, files are stored at such sites in a compressed form. Therefore, in order to retrieve a file from such a site, the application program must be capable of communicating with the FTP server to download the file, decompress it, and then translate it into its native format.
Another type of transformation which may have to be carried out pertains to the field of authentication. To limit unauthorized access and/or inhibit modification, documents may be encrypted with a password or encoded with a digital signature. Before an application can process such objects, they have to be decrypted and/or have their digital signatures verified.
The foregoing examples are merely illustrative of the types of transformations which must be performed on an object before it is in a state where it can be handled by a given application program. As the number of application programs with individual native formats continues to grow, it can be seen that the number of different conversion facilities which these programs must include will also have to increase, if they are to be compatible with one another. Similarly, as more types of file storage facilities become available, each with its own access protocol and/or encoding scheme, and more security measures are employed to control access and modification of objects, additional functionality must be built into the programs. At some point, it becomes impractical to add further translators and conversion facilities to an application program, as a result of which its file access and storage capabilities are limited.
It is desirable, therefore, to provide a mechanism via which application programs can be provided with access to files of a variety of different types, without requiring each program to include conversion facilities for each of the different types of files and each of the different sites from which such access is desired. Doing so enables the application programs to be streamlined so that they need only be able to operate on files of in a native state, without having to perform all of the various types of transformations that may be necessary to convert the file to and from that state.
SUMMARY OF THE PRESENT INVENTION
The present invention generally relates to a method and system in which objects to be handled by an application program, such as files, are transformed into an appropriate state by the computer's operating system, rather than the application program. In the context of the invention, the “state” of an object refers to a variety of conditions, including its format, location, authentication, and the like. Such an approach provides significant flexibility, since new transformations to convert from one state to another can be added by expanding the operating system without requiring the application programs to be modified.
In one embodiment, the operating system uses opaque control data to indicate appropriate transformations. A user selects desired file types and/or storage sites for access, for example from a user interface. In response, the operating system determines all of the transformations that need to be performed for the files. The operating system encodes the transformation information as opaque control data. This opaque control data can be stored with the object at a local location. This control data is “opaque” in the sense that it need not be interpreted by the application program. Later, the opaque control data is interpreted by the operating system to control the transformation of the object.
In one embodiment, application programs use standardized calls to the operating system. A “get file” call may cause the operating system to display a user interface showing the objects for selection by a user for the application program. Objects which are transformable under the control of the operating system from a state which is not native to the application program to a state that is native to the application program can be shown in the visual display. When the user selects a software object of the non-native but transformable type, the operating system calls all necessary transformation routines to transform the selected object into a transformed object which is supplied to the application program. These transformations change the state of the object from one that is not native to the application program to one that is native to the application program.
A “put file” call may result in another type of user interface being displayed. The operating system detects user input to this user interface to determine what transformations are required to retransform the modified object back into the original state, or into another selected state. The operating system then supplies a local location for storing the modified object and supplies the opaque control data to the application program. The application program stores the modified object and the control data at the local location. The application program then produces a “complete store” call, indicating that the object and opaque control data has been stored in the local location. The operating system then accesses the modified object with the opaque control data at the local location and uses the opaque control data to control the transformation and storage of the modified object into the selected location and type.
A benefit of the present invention is that the operating system can add additional transformations as new file types, storage facilities, etc. become available, without requiring changes to application programs.
REFERENCES:
patent: 5537592 (1996-07-01), King et al.
patent: 5564017 (1996-10-01), Corn et al.
patent: 5586317 (1996-12-01), Smith
patent: 5652876 (1997-07-01), Ashe et al.
patent: 5758153 (199
Arrouye Yan
Findley Sean J.
Mortensen Keith L.
Apple Computer Inc.
Burns Doane Swecker & Mathis L.L.P.
Chaki Kakali
Zhen Wei
LandOfFree
Method and system for transparently transforming objects for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for transparently transforming objects for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for transparently transforming objects for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2484045