Movatterモバイル変換


[0]ホーム

URL:


US7409405B1 - File dispatcher for multiple application targets - Google Patents

File dispatcher for multiple application targets
Download PDF

Info

Publication number
US7409405B1
US7409405B1US10/313,246US31324602AUS7409405B1US 7409405 B1US7409405 B1US 7409405B1US 31324602 AUS31324602 AUS 31324602AUS 7409405 B1US7409405 B1US 7409405B1
Authority
US
United States
Prior art keywords
file
application
applications
files
file type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime, expires
Application number
US10/313,246
Inventor
Larry Masinter
Roger Webster
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems IncfiledCriticalAdobe Systems Inc
Priority to US10/313,246priorityCriticalpatent/US7409405B1/en
Assigned to ADOBE SYSTEMS INCORPORATEDreassignmentADOBE SYSTEMS INCORPORATEDASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: MASINTER, LARRY, WEBSTER, ROGER
Priority to US12/177,689prioritypatent/US8099445B1/en
Assigned to ADOBE SYSTEMS INCORPORATEDreassignmentADOBE SYSTEMS INCORPORATEDASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: MASINTER, LARRY, WEBSTER, ROGER R.
Application grantedgrantedCritical
Publication of US7409405B1publicationCriticalpatent/US7409405B1/en
Assigned to ADOBE INC.reassignmentADOBE INC.CHANGE OF NAME (SEE DOCUMENT FOR DETAILS).Assignors: ADOBE SYSTEMS INCORPORATED
Adjusted expirationlegal-statusCritical
Expired - Lifetimelegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

Methods and apparatus, including computer program products, implementing techniques for selecting an application to be used to manipulate a file in a computing environment. The technique includes receiving a request to manipulate a file, the file having a file type, identifying a plurality of applications associated with the file type in the computing environment, and selecting an application from the plurality of applications associated with the file type based at least in part on context information representing a context of the computing environment. Each of the identified plurality of applications associated with the file type are capable of manipulating files of the file type.

Description

BACKGROUND OF THE INVENTION
The present invention relates to manipulating files in a computing environment.
Software applications create and manipulate files. Each file is characterized by a file type, which can be indicated to the operating environment by a file extension or MIME (Multipurpose Internet Mail Extensions) type. For example, TIFF files (Tagged Image File Format) have a MIME type of “image/tiff” and a “.tif” extension, while PDF files (Portable Document Format) have a MIME type of “application/pdf” and a “.pdf” file extension. In addition, some file types have a “magic number”: an initial sequence of bytes or data at the beginning of the file which only appears (or is likely to appear) in files of a particular type.
As used in this specification, the term file type can be a complex of different components. File type can include file extension (“.pdf”), MIME type or content-type (“application/pdf”) and/or “a magic number,” a special sequence of bytes that only appear inside files of a particular type. The different ways of indicating or determining file type are usually, but need not, be correlated. For example, a single MIME type can correspond to several file extensions, one file extension can be used by several MIME types, and file type determination by magic number detection is often unreliable.
In many operating environments, file types can be associated with a default application. For example, in a typical computer system installation, Microsoft PowerPoint® software available from Microsoft Corporation of Redmond, Wash. may open PowerPoint files, Adobe® Acrobat® software available from Adobe Systems Incorporated of San Jose, Calif. may open PDF files, etc. In most operating systems, such as the Macintosh® or Windows® environments, users can associate a specified application with a particular file extension or MIME type to make the specified application the default opener for the particular file extension or MIME type. In some cases, operating systems check for a default opener whenever a file is opened. When a default application has been specified, to use any other application to open a file a user must launch the other application separately and select the file from within that application, drag the file icon to the application icon or use another file opening method.
However, many files can be opened by more than one application. For example, files in the PSD format, which is the native file format of the Adobe® Photoshop® graphical editing software, can be opened by both Photoshop® software and Photoshop Elements® software, both available from Adobe Systems Incorporated. Similarly, a variety of different applications, including Adobe® Acrobat® and Acrobat® Reader® software, can open PDF files. Many applications make themselves the default opener for particular file types upon installation, overwriting settings for any previously defined default applications. To restore a previously defined default opener, the user may be required to manually reset the original settings, or even to reinstall the former default application. In some cases, an application checks whenever it is launched to determine if another application has taken its place as the default opener, and changes the settings to reestablish itself as the default opener.
Some file types can be used for multiple purposes. For example, tagged image file format (“TIFF”) files, having a MIME type of “image/tiff” and a “.tif” file extension, can be used for photographs and for multipage document images. While different applications might be the best default opener for a given use, only one of these applications can typically be designated as the default opener. The conflicts between competing applications can make it difficult for a user to ensure that the best application will be used to open a selected file. The user might also be unaware what the default opener is for the selected file.
SUMMARY OF THE INVENTION
The invention provides methods and computer program products to manipulate a file using an application selected from a plurality of applications capable of manipulating the file.
In general, in one aspect, the invention features methods and apparatus implementing techniques for selecting an application to be used to manipulate a file in a computing environment. The technique includes receiving a request to manipulate a file, the file having a file type, identifying a plurality of applications associated with the file type in the computing environment, and selecting an application from the plurality of applications associated with the file type based at least in part on context information representing a context of the computing environment. Each of the identified plurality of applications associated with the file type are capable of manipulating files of the file type.
Particular implementations can include one or more of the following features. The plurality of applications can be associated with the file type by rules in a set of selection rules defining conditions for selecting an application to be used to manipulate files. The selection rules can include user-defined preferences associating applications with file types and/or administrator preferences applicable to all users of the computing environment. The file type can be represented by a file extension or a MIME type and/or determined by one or more magic numbers associated with the file.
Selecting an application can include using one or more selection rules to select an application based on the context information. The selection rules can include a hierarchy of selection rules, and using the selection rules can include traversing the hierarchy of selection rules based on the context information.
The context information can include application usage information identifying applications currently executing in the computing environment, applications previously used to manipulate the file, applications previously used to manipulate files having the file type, or applications previously used to manipulate files stored in a memory location. The context information can also includes file information identifying a location of the file in the computing environment, file information representing content of the file, and/or rights management information representing usage rights for applications installed in the computing environment. The file information representing content of the file can include metadata extracted from the file.
A subset of the plurality of applications associated with the file type can be identified based on the context information. Selecting an application can include receiving user input selecting an application from the identified subset of applications associated with the file type.
The technique can further include manipulating the file using the selected application. Manipulating the file using the selected application can include manipulating the file using an instance of the selected application running remotely on another computer system. User input overriding a selection of an application from the plurality of applications can be received. The file can be manipulated with an application selected by a user.
The file can be a file in a collection of files, with each of the files in the collection having a file type. Identifying a plurality of applications can include identifying applications associated with the file type of each of the files in the collection of files in the computing environment, where at least one of the file types is associated with a plurality of applications. Selecting an application can include selecting an application from the identified applications for each of the files in the collection. One or more of the applications can be selected based at least in part on context information representing a context of the computing environment.
If the selected application is not installed in the computing environment, the technique can include prompting a user to download the selected application from the Internet and/or downloading the selected application from the Internet.
All or a portion of at least one of the steps of identifying a plurality of applications and selecting an application can be performed at a remote location. The file can also be transmitted to a proxy converter to convert the file to a format that is compatible with an application installed in the computer environment.
The invention can be implemented to realize one or more of the following advantages. Allowing multiple default openers for individual file types eliminates competition among applications to identify themselves as the default opener for a file type. Using context information to select an application to open a particular file ensures that the best application will be useful to open the file.
Different applications can be associated with different actions to be performed upon files of particular types. For example, a first application can be associated with a file type as a “Viewer” for files of the file type, while another application can be associated with the file type as an “Editor” for files of the type. Selection of an application from among multiple applications, to manipulate a file of a particular file type can be based on user actions, such as activation of a “view” or “edit” button or menu item. The selection can also be based on activation of modifier keys (e.g., activation of a “Control” key selects an application in which to edit a file). The association of individual applications as “viewers” and “editors” for a given file type can be changed through a user interface.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will become apparent from the description, the drawings, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating an implementation of a file manipulating system.
FIG. 2 is a flow diagram illustrating a method of manipulating a file using a file dispatcher.
FIG. 3 is a screen shot illustrating a screen allowing selection of files of a file type.
FIG. 4 is a screen shot illustrating a screen for associating applications with a file type.
FIG. 5 is a flow diagram illustrating a method of manipulating a file received in a file package using the file dispatcher.
Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
FIG. 1 is a block diagram illustrating one implementation of afile manipulating system100 according to one aspect of the invention. The system includes afile110 to be opened,multiple applications130, a file dispatcher120,file association data140, andcontext information150. The file dispatcher120 uses thefile association data140 and thecontext information150 to select, according toselection rules160, an application to manipulate a file from a plurality of applications capable of manipulating the file.
As used in this specification, a file can include any entity of data that is capable of being manipulated as an entity, including a stream of data bits such as a stream of data that is in the process of being retrieved from a remote location. As used in this specification, “manipulating” a file can include performing any desired action on a file that is dependent on the file's type, such as opening the file for editing or viewing, or converting the file to a file type that is capable of being opened or otherwise manipulated by an application in the computer system. As used in this specification, an application can include a service that is provided remotely.
The components ofsystem100 can be implemented in a computer system of conventional construction that includes a programmable processor, a memory, input devices, output devices, communications hardware, and the like.
The file dispatcher120 can be a free standing application, a plug-in, or a component or module of a larger application or of an operating system. The file dispatcher120 can be installed as the default opener for files having particular file types. The file types can be express, such as indicated by a file extension or MIME type, or inferred, such as indicated based on a magic number or other metadata of the file. In one implementation, the file dispatcher120 can be installed as part of an application or a set of applications during installation of the application(s). For example, information in the Windows® operating system registry can be updated so that the launch tree points to the file dispatcher120 as the default application for each file type. Then, instead of setting up file associations in the operating system of the computer, the new application(s)130 can be added to thefile association source140 associated with the file dispatcher120.
In implementations in which the file dispatcher120 is installed as the default file opener, the file dispatcher120 can be configured to monitor the status of the system (e.g., the system registry) to ensure that the file dispatcher120 remains the default opener. Someapplications130 can try to override associations. For example, some applications can re-write the registry with original entries. These applications could overwrite updates made by file dispatcher120. If the file dispatcher120 determines that it has been replaced as the default opener for one or more file types, it can be configured to reestablish itself as the default opener, for example by rewriting the registry. In one implementation, the file dispatcher120 can be distributed by a vendor free of charge, and can be configured to coordinate file opening using other products offered by the vendor, and/or to provide users with product information regarding such other products, as will be described in more detail below.
Theapplications130 can include all applications available in a computer system, or a subset of applications available in the computer system. For example, theapplications130 can include all of the applications available from a particular vendor that exist in the computer system. Theapplications130 can include different applications or different versions of the same application. Thus, different versions of an application can exist on thesystem100 at the same time without one version being the default for all files of a certain type. Different applications can be associated with a particular file type for different purposes. For example, a first application can be associated with a file type as a “Viewer” for files of the file type, while another application can be associated with the file type as an “Editor” for files of the type. The choice of which application to use to manipulate a file, or which version of the application, is made by the file dispatcher120 at runtime on a per file basis. Some or all functions of the file dispatcher120 can be performed remotely. For example, some functions of the file dispatcher120 can be performed at a server while other parts are performed locally in the computer system. The file dispatcher120 selects an application to use to manipulate afile110 based onfile association data140 andcontext information150.File association data140 includes information associating file types with compatible applications—that is, applications that are capable of manipulating files of the specified file type or types. Thus, for example, thefile association data140 can include a list, table or other data structure correlating file extensions (or MIME types or other indicia of file type) with particular applications installed on the computer system. Thefile association data140 can be gathered from a registry associated with the operating system, such as the Windows® operating system's registry, and can be stored in any conventional data store available to the computer system. Thefile association data140 can be stored locally. Alternatively, some or all of thefile association data140 can be stored remotely, and accessed by the file dispatcher120 over a communications connection, such as a local or wide area network, or the Internet. The file dispatcher120 uses thefile association data140 to identify theapplications130 that can be used to manipulatefile110.
Optionally, thefile association data140 can also include information associating file types with compatible applications that are not installed on the computer system. Thus, thefile association data140 can include information associating a particular file type with a particular application or applications, even if the application is not installed on the computer system. Thefile association data140 can include information identifying a location, such as a URL, at which the particular application or applications (or rights to use an already installed application) can be purchased and/or downloaded for installation on the computer system. Thus, for example, when requested to open a file of a particular file type, the file dispatcher120 can be configured to inform the user that particular uninstalled applications can be used to open the file, even if other, installed applications are available that could be used to open the file. In one implementation, file dispatcher120 can be configured to automatically navigate a web browser to the specified URL, to provide the user with the opportunity to purchase and/or download the relevant application or applications, or manipulate the file using a version of the relevant application running in a remote location. The user can also be provided with an opportunity to purchase rights to use an application already installed on the computer system. Exemplary techniques for providing application rights are described in U.S. application Ser. No. 10/080,923, “Application Rights Enabling,” filed Feb. 21, 2002, which is incorporated by reference herein.
In another implementation, one of the applications included in thefile association data140 can be a proxy converter. If thefile association data140 associates the file type of the file to be opened with compatible applications that are not installed on the computer system, the file dispatcher120 can be configured to transmit a file of a particular type to a proxy converter. The proxy converter can change the file type of the file to a file type (e.g., by converting the file to a different format) that can be opened by an application that is installed on the computer system. The proxy converter can include a mapping between file types of files received and file types to which to convert each received file. For example, the proxy converter can include a mapping indicating that if a file of type x is received, the file should be converted to a type y, and if a file of type w is received, the file should be converted to a type z.
Some or all of the mapping can be submitted to the proxy converter by the file dispatcher120 along with a request to convert the format of a file. Thus, if a proxy converter is identified by the file dispatcher120 as one of the applications capable of manipulating the file type of a particular file, the file dispatcher120 can select the proxy converter as the application with which to manipulate the file.
The file dispatcher's information can contain a table or data structure representing an association:
* source file type
    • address of proxy converter
      • possible destination file types that the proxy converter can convert to from this kind of source.
That is, the file dispatcher might know about the source file type and the address of the proxy converter, and only ask the proxy converter to convert to one of the file types that are listed and are also available on the file dispatcher's system.
Context information150 can include a variety of different types of information that can be used by file dispatcher120 to select an application or applications from the applications identified infile association data140 as being compatible with a particular file type.Context information150 can be defined by a user or administrator of the computer system, or it can be automatically generated or otherwise obtained by file dispatcher120 or the computer system.Context information150 can be stored in and retrieved from a data store; alternatively, it can be dynamically generated based, for example, on system conditions at the time a request to manipulate a file is received.
Context information150 can include application usage information. Application usage information can include information identifying applications that are currently executing on the computer system. Thus, when requested to manipulate a file of a particular file type, file dispatcher120 can be configured to select a compatible application identified infile association data140 by selecting an identified application that is executing on the computer system at the time of the request.
Similarly, application usage information can also include information identifying applications that have been previously used to manipulate a particular file, files of a particular type, or files stored in a particular location, such as a particular directory of a file system or a particular storage medium. Thus, file dispatcher120 can be configured to select a compatible application that has previously been used to manipulate the same or similar files on the computer system. Optionally, this information can be specific to a particular user (stored, for example, in a user profile identifying previous actions and preferences of a particular user of the computer system).
Context information150 can also include rights management information relating to the applications installed on the computer system. Rights management information can include information identifying usage rights applying to the applications installed on the computer system. For example, rights management information can identify license and/or royalty terms that cover particular applications. File dispatcher120 can use this information, in combination with selection rules, to select, for example, an application that is subject to a paid up license instead of one that requires the payment of a per-use royalty for each use. Similarly, rights management information can identify particular fields of use, or file types, that are included or excluded in usage rights associated with particular applications, such that file dispatcher120 only selects such applications for uses within the scope of their associated usage rights.
In addition,context information150 can include file information relating to the file to be manipulated. The file information can include the location of the file, such as a particular directory of a file system or a particular storage medium. File dispatcher120 can be configured to use this information in combination with application usage information identifying applications previously used to manipulate files in that location to select a compatible application to manipulate a requested file. Thus, for example, file dispatcher120 can be configured to open a file stored in a “photos” directory using one application, while a file of the same type stored in a “presentations” directory may be opened using a different application.
File information can also include information relating to the contents of the file in question. The contents can include substantive content, such as, for example, whether the data in the file represents a single image or multiple images, such that file dispatcher120 can be configured to open single image files (which may correspond, for example, to digital photos), with one application, and multi-image files (which might correspond to presentations, electronic books, or the like) with another application. The contents can also include meta-data relating to the file and/or its contents. Metadata can include identifying information, such as a magic number of the file. Alternatively, metadata can more broadly refer to any data about the file or its contents. In one implementation, metadata can be defined and/or extracted according to the eXtensible Metadata Platform (XMP), which is a common XML framework developed by Adobe Systems Incorporated that standardizes the creation, processing, and interchange of document metadata across publishing workflows. File dispatcher120 can be configured to extract specified metadata from the requested file, and to use that metadata (and/or other context information) in the selection of an application to manipulate the file according to selection rules, which will be described below.
Different types of context information can be used together to determine, for example, which other files recently manipulated are most like (in name, content, length, author) the file being manipulated, and what application was used to manipulate the other files.
In one implementation, file dispatcher120 uses thecontext information150 to select anapplication130 to manipulate afile110 according toselection rules160. The file dispatcher120 can use theselection rules160 to determine what criteria to use, and how those criteria are to be applied, to select an application or applications from the compatible applications identified in thefile association data140. Theselection rules160 can include a hierarchy of rules, such as a tree structure, setting priorities of different types ofcontext information150 to be consulted by file dispatcher120 in selecting anapplication130 to use to manipulate aparticular file110. File dispatcher120 can traverse the rules hierarchy to identify an applicable selection rule or rules for aparticular file110. Theselection rules160 can be stored in memory—either locally or remotely—and can be predetermined or can be defined at runtime, and can be defined by a user or system administrator, or a combination of these. In one implementation, some or all selection rules to be used in selecting an application to be used to manipulate a file can be provided in or derived from metadata of the file itself. Optionally, file dispatcher120 can be configured to assign selection rules that are specified by the user, or derived from the file metadata, to a higher position in the rule hierarchy (i.e., to assign a higher priority to metadata-based rules) than rules derived from other sources. A hierarchy of rules can be constructed by organizing the rules into a decision tree instead of a linear list. For example, one rule could be used only used to distinguish image files from text files, and, within that framework, a set of rules can be used that only apply to image files.
Selection rules160 can include thefile association data140. Additionally,selection rules160 can include predetermined user or administrator preferences identifying particular applications to be used to manipulate particular file types, files containing particular content (either substantive content or metadata), or the like. Likewise, user or administrator preferences can attach priorities to particular types of context information for particular file types, specifying, for example, that file dispatcher120 should select an application to manipulate image files by looking first to specified metadata in the files, and then using that metadata to select from compatible applications currently executing on the system. A selection rule based on an administrator preference might specify that file dispatcher120 should first look to applications bearing no royalty requirements and only then to applications requiring payment of royalties. User or administrator preferences (or other selection rules) can be defined globally for the computer system at any time. Alternatively, such preferences can be input by the user or administrator at the time a file is saved in the system, at the time a new application is added to the system or when the file dispatcher120 is launched.
Selection rules160 can also specify that the user should be given a choice ofapplications130 for manipulating afile110 if more than one compatible application is available. For example, file dispatcher120 can use context information to identify a subset ofcompatible applications130 identified in thefile association data140, and the user can be prompted to make the ultimate selection from the identified subset of applications.
Selection rules160 can include rules operable to select an application based on user actions, such as activation of a “view” or “edit” button or menu item. Theselection rules160 can also include rules to select an application based on activation of modifier keys (e.g., activation of a “Control” key selects an application in which to edit a file). The association of individual applications as “viewers” and “editors” for a given file type can be changed through a user interface.
Selection rules160 may not be exact transcriptions of user intentions. Theselection rules160 can include heuristics based on experience of the computer system, or of a designer of the selection rules. For example, it might be desirable to have a rule that selects one application for PDF files written in Japanese and another application for PDF files written in English. However, the applicability of this rule for PDF files that are not tagged with the language of the text within them can be determined by a heuristic that looks at, for example, the predominate use of characters in different character repertoires to guess the language of the file.
In one implementation, thefile association data140,context information150 and/orselection rules160 can be automatically updated over a network, such as the Internet or a corporate intranet. File dispatcher120 can be configured so that such automatic updates will not override user- or administrator-defined preferences or associations for a particular file type.
File dispatcher120,file association data140,context information150,selection rules160 and theapplications130 can exist as separate items so that each can be updated separately. File dispatcher120 can have separate versions and be updated independently of theapplications130. Updating file dispatcher120 independently of thefile association data140,context information150, andselection rules160 can support consistent file manipulating behavior even when installing old versions ofapplications130 alongside new versions. Thefile association data140,context information150, andselection rules160 can be updated more frequently than file dispatcher120.
FIG. 2 is a flow diagram illustrating amethod200 of opening a file using a file dispatcher120. A file dispatcher120 receives a request to open a file110 (step210). The request can be based, for example, on user input selecting a file to be opened in a folder or directory of a computer system. The file has an associated file type, as described above.
If there is more than oneapplication130 that is capable of opening files having the file type associated with thefile110, the file dispatcher120 identifies a plurality ofapplications130 that are capable of opening the file (step220). The file dispatcher120 can identify compatible files using thefile association data140 as discussed above.
The file dispatcher120 selects anapplication130 with which to open the file110 (step230). The file dispatcher120 selects the application based at least in part oncontext information150 as discussed above. As also discussed above, the file dispatcher120 can make the selection by applying one ormore selection rules160 to thefile association data140 and/orcontext information150 to select an appropriate application or applications.
The file dispatcher120 can use theselection rules160 and/or thecontext information150 automatically to select an application to be used to manipulate thefile110. Alternatively, file dispatcher120 can be configured to allow the user to select an application to use to open a particular file from a set ofavailable applications130 that are capable of manipulating files of the same type. The file dispatcher120 can present the user with a list ofavailable applications130, and the user can select an application from the list using, e.g., conventional graphical selection techniques. The list ofavailable applications130 can include all applications accessible to the computer system that are capable of manipulating files having the same type as the particular file, or only a subset of such applications. The subset ofapplications130 can be defined by the file dispatcher120 using context information to narrow the set ofavailable applications130 just as it would to automatically select one application to open the particular file, as described above.
The file dispatcher120 can be configured to allow the user to override an automatic selection made by the file dispatcher120 as described above. After selecting an application to manipulate a particular file, the file dispatcher120 can identify the selected application to the user (e.g., by causing the computer system to display to the user a dialog identifying the selected application), and give the user the opportunity to override the selection (e.g., by providing an “OK” button and a field in which the user can identify an alternative application to be used to open the file). Alternatively, the file dispatcher120 can be configured to allow the user to override the file dispatcher's selection process by providing an override input—for example, activating a specified key (control, alt, shift, etc.) at the time the file to be opened is selected.
The file dispatcher120 can be configured to operate in different modes. In a first, automatic, mode, the file dispatcher120 is launched when a file is selected for manipulation, and selects the application with which to manipulate the file without further input by the user. In other modes, the file dispatcher120 can be configured to always ask the user to make the final selection of the application with which to manipulate the file, to ask the user only when there is a potential conflict between two or more files, or when specific file types, directories orapplications130 are involved in the manipulation of a chosen file. The file dispatcher120 can also be configured to allow applications to be launched for a particular file with preferences automatically set. The preferences can include parameters, data, and environmental variables. For example, file dispatcher120 can be configured such that an application selected to open a particular file or type of file will do so in a particular operating mode. Similarly, the file dispatcher120 can be configured such that if a particular file is opened by a particular application, the file dispatcher120 will also open a particular calibration file for use by a display monitor displaying a representation of the file.
The user can be presented with a user interface (“UI”) listing two ormore applications130 that the file dispatcher120 has identified as being capable of manipulating the file. An example of a UI that can be presented to the user is shown inFIG. 3. The list ofapplications130 can be ordered based on context information or selection rules, or the list can include only a subset of the possible candidates for the file type, based on the context information and/or rules. The user can select one of theapplications130 from the list in the UI. The user can be given the option to save the selection of the application (i.e., as a new selection rule160) for manipulating the file or files having the same file type in the future. The user can also be given the option to edit file type associations.
If the user chooses to edit file type associations, the user can be presented with a UI to edit the applications associated with a particular file type, as shown inFIG. 4. Through the file type association editor UI, the user can select the file type to associate with applications, and associate applications to the file type. The applications can be chosen by browsing through available files in the computing environment.
The file dispatcher120 opens the file using the selected application (step240). Optionally, the file dispatcher120 can provide a preview of the file to the user while the file dispatcher120 is opening the file. The file dispatcher120 can load just enough of the file to present the user with the first page, and then launch the selected application.
Thefile110 can be a file that is part of a package or collection of files that can contain files having different file types.FIG. 5 is a flow diagram illustrating amethod300 of opening a file received in a file package using the file dispatcher120. The file dispatcher120 receives a request to launch a package including one or more files110 (step310). The package can be a collection of files that is packaged using archiving software, such as WinZip®, available from WinZip Computing, Inc., and sent to a user as a zip file. The file dispatcher120 unpacks the individual files from the collection file (step320), and selects an application for eachfile110 to be opened (step330) using the same techniques described above with reference to step220. The file dispatcher120 opens eachfile110 using the selected application130 (step340), which can be a different application for some or all of the files in the collection.
In one implementation, the file dispatcher120 can determine, based on the file types of thefiles110 in the package, whether to unpack and open thefiles110 of the package or to allow another application to unpack and open thefiles110. The file dispatcher120 can decide to unpack and open thefiles110 of the package if the contents of the package would be better handled by one of the file dispatcher's associatedapplications130. The file dispatcher120 can determine the file types of the files in the package, and compare the file types to the file types in thefile association data140. If one of theapplications130 can better handle thefiles110 in the package, the file dispatcher120 itself unpacks the files in the collection. Alternatively, the file dispatcher can unpack the files using a file extraction application such as WinZip.
The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The invention can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Method steps of the invention can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
To provide for interaction with a user, the invention can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
The invention has been described in terms of particular embodiments. Other embodiments are within the scope of the following claims. For example, the steps of the invention can be performed in a different order and still achieve desirable results. Also, the file dispatcher functionality can be directly integrated into an operating system, such as the Microsoft® Windows® operating system, allowing the decoupling of application launching from a static (or difficult to edit) association between file type and opening application.

Claims (60)

1. A computer-implemented method of selecting an application to be used to manipulate a file in a computing environment, comprising:
receiving a request to open a file, the file having a file type, where the file type identifies a distinct data format of data in files of the file type;
launching a default application for opening files of the file type;
running the default application to identify a plurality of applications in the computing environment that are capable of opening files of the file type, each application in the plurality of applications being associated with the file type based on the file type and file association data;
using the default application to select an application from the plurality of identified applications, the selection of the application being based at least in part on context information; and
launching the selected application to open the file where the action to open the file is dependent on the file type.
16. The method ofclaim 1, wherein:
the file is a file in a collection of files, each of the files in the collection having a file type, where the file type identifies a distinct data format of data in files of the file type;
identifying a plurality of applications in the computing environment that are capable of opening files of the file type includes identifying applications associated with the file type of each of the files in the collection of files in the computing environment, at least one of the file types being associated with a plurality of applications; and
selecting an application includes selecting an application from the identified applications for each of the files in the collection, one or more of the applications being selected based at least in part on context information representing a context of the computing environment.
21. A computer program product on a computer-readable medium, the product comprising instructions operable to cause a computer system to:
receive a request to open a file, the file having a file type, where the file type identifies a distinct data format of data in files of the file type;
launch a default application for opening files of the file type;
run the default application to identify a plurality of applications in the computing environment that are capable of opening files of the file type, each application in the plurality of applications being associated with the file type based on the file type and file association data;
use the default application to select an application from the plurality of identified applications, the selection of the application being based at least in part on context information; and
launching the selected application to open the file where the action to open the file is dependent on the file type.
36. The computer program ofclaim 21, wherein: the file is a file in a collection of files, each of the files in the collection having a file type, where the file type identifies a distinct data format of data in files of the file type;
the instructions operable to cause a computer system to identify a plurality of applications in the computing environment that are capable of opening files of the file type include instructions operable to cause the computer system to identify applications associated with the file type of each of the files in the collection of files in the computing environment, at least one of the file types being associated with a plurality of applications; and
the instructions operable to cause a computer system to select an application include instructions operable to cause a computer system to select an application from the identified applications for each of the files in the collection, one or more of the applications being selected based at least in part on context information representing a context of the computing environment.
41. A system comprising:
a processor; and
a memory for storing instructions, which when executed by the processor, causes the processor to perform operations comprising:
receiving a request to open a file, the file having a file type, where the file type identifies a distinct data format of data in files of the file type;
launching a default application for opening files of the file type;
running the default application to identify a plurality of applications in the computing environment that are capable of opening files of the file type, each application in the plurality of applications being associated with the file type based on the file type and file association data;
using the default application to select an application from the plurality of identified applications, the selection of the application being based at least in part on context information; and
launching the selected application to open the file where the action to open the file is dependent on the file type.
56. The system ofclaim 41, wherein:
the file is a file in a collection of files, each of the files in the collection having a file type, where the file type identifies a distinct data format of data in files of the file type;
identifying a plurality of applications in the computing environment that are capable of opening files of the file type includes identifying applications associated with the file type of each of the files in the collection of files in the computing environment, at least one of the file types being associated with a plurality of applications; and
selecting an application includes selecting an application from the identified applications for each of the files in the collection, one or more of the applications being selected based at least in part on context information representing a context of the computing environment.
US10/313,2462002-12-062002-12-06File dispatcher for multiple application targetsExpired - LifetimeUS7409405B1 (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
US10/313,246US7409405B1 (en)2002-12-062002-12-06File dispatcher for multiple application targets
US12/177,689US8099445B1 (en)2002-12-062008-07-22File dispatcher for multiple application targets

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
US10/313,246US7409405B1 (en)2002-12-062002-12-06File dispatcher for multiple application targets

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
US12/177,689ContinuationUS8099445B1 (en)2002-12-062008-07-22File dispatcher for multiple application targets

Publications (1)

Publication NumberPublication Date
US7409405B1true US7409405B1 (en)2008-08-05

Family

ID=39670860

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US10/313,246Expired - LifetimeUS7409405B1 (en)2002-12-062002-12-06File dispatcher for multiple application targets
US12/177,689Expired - LifetimeUS8099445B1 (en)2002-12-062008-07-22File dispatcher for multiple application targets

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
US12/177,689Expired - LifetimeUS8099445B1 (en)2002-12-062008-07-22File dispatcher for multiple application targets

Country Status (1)

CountryLink
US (2)US7409405B1 (en)

Cited By (52)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20050203753A1 (en)*2004-03-122005-09-15American Express Travel Related Services Company, Inc.Method and system for providing point of sale services
US20050246637A1 (en)*2004-04-302005-11-03Microsoft CorporationRich end-user data views
US20060070029A1 (en)*2004-09-302006-03-30Citrix Systems, Inc.Method and apparatus for providing file-type associations to multiple applications
US20060085382A1 (en)*2004-10-182006-04-20Samsung Electronics Co., Ltd.Apparatus and method for managing content data in an information terminal
US20060195411A1 (en)*2005-02-282006-08-31Microsoft CorporationEnd user data activation
US20060200740A1 (en)*2004-06-252006-09-07Jessica KahnMIME type detection for feeds
US20070055707A1 (en)*2004-12-162007-03-08Dandekar Shree AControl of Policies for Setting File Associations When Configuring Information Handling Systems
US20070083655A1 (en)*2005-10-072007-04-12Pedersen Bradley JMethods for selecting between a predetermined number of execution methods for an application program
US20070156897A1 (en)*2005-12-292007-07-05Blue JungleEnforcing Control Policies in an Information Management System
US20070294265A1 (en)*2006-06-062007-12-20Anthony Scott AskewIdentification of content downloaded from the internet and its source location
US20080288582A1 (en)*2006-09-252008-11-20Sms.AcSystems and methods for passing application pods between multiple social network service environments
US20080301194A1 (en)*2007-05-312008-12-04Kabushiki Kaisha ToshibaMobile terminal
US20090037835A1 (en)*2007-07-302009-02-05Adobe Systems IncorporatedApplication Tracking for Application Execution Environment
US20100088587A1 (en)*2008-09-262010-04-08International Business Machines CorporationMethod and apparatus for providing inter-version document compatibility
US20100180201A1 (en)*2009-01-142010-07-15Gibby Media GroupOptimizing Playback of Media Content
US7853947B2 (en)2004-09-302010-12-14Citrix Systems, Inc.System for virtualizing access to named system objects using rule action associated with request
US20110202583A1 (en)*2008-10-282011-08-18Michael A ProvencherFile Type Association In A Remote Computing Session
US8042120B2 (en)2004-09-302011-10-18Citrix Systems, Inc.Method and apparatus for moving processes between isolation environments
US8090797B2 (en)2009-05-022012-01-03Citrix Systems, Inc.Methods and systems for launching applications into existing isolation environments
US8095940B2 (en)2005-09-192012-01-10Citrix Systems, Inc.Method and system for locating and accessing resources
US20120017178A1 (en)*2010-07-192012-01-19Verizon Patent And Licensing, Inc.File management and transfer using a remora
US8117559B2 (en)2004-09-302012-02-14Citrix Systems, Inc.Method and apparatus for virtualizing window information
US8131825B2 (en)2005-10-072012-03-06Citrix Systems, Inc.Method and a system for responding locally to requests for file metadata associated with files stored remotely
US20120095878A1 (en)*2010-10-192012-04-19Feldman Daniel IIntegrated application store for a user device
US8171479B2 (en)2004-09-302012-05-01Citrix Systems, Inc.Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US8171483B2 (en)2007-10-202012-05-01Citrix Systems, Inc.Method and system for communicating between isolation environments
US8230417B1 (en)2007-06-082012-07-24Adobe Systems IncorporatedCombined application and execution environment install
US20130036363A1 (en)*2011-08-052013-02-07Deacon JohnsonSystem and method for controlling and organizing metadata associated with on-line content
US8375381B1 (en)2007-07-302013-02-12Adobe Systems IncorporatedManagement user interface for application execution environment
US20130038720A1 (en)*2009-06-042013-02-14Canon Kabushiki KaishaInformation processing apparatus, information processing method and program therefor
US8554732B2 (en)2007-07-302013-10-08Adobe Systems IncorporatedVersion management for application execution environment
US8612844B1 (en)*2005-09-092013-12-17Apple Inc.Sniffing hypertext content to determine type
US20140033030A1 (en)*2012-07-242014-01-30Anthony R. PfisterIndexing and providing electronic publications in a networked computing environment
US8725791B2 (en)2009-05-022014-05-13Citrix Systems, Inc.Methods and systems for providing a consistent profile to overlapping user sessions
EP2661670A4 (en)*2011-01-042014-07-02Thomson Licensing CONTEXTUAL USER INTERFACE
US20140280254A1 (en)*2013-03-152014-09-18Feichtner Data Group, Inc.Data Acquisition System
WO2014186246A1 (en)*2013-05-142014-11-20Google Inc.System and method for identifying applicable third-party applications to associate with a file
US20150052164A1 (en)*2012-03-302015-02-19Hewlett-Packard Development Company L.P.Associating an application with an application file
US20150199196A1 (en)*2013-03-152015-07-16Google Inc.Systems and methods for multi-tiered format registration for applications
WO2015103249A3 (en)*2013-12-312015-08-20Google Inc.Associating network-hosted files with network-hosted applications
US20170039223A1 (en)*2015-08-072017-02-09Canon Kabushiki KaishaInformation processing apparatus, information processing method, and program
US9594762B2 (en)*2012-01-062017-03-14International Business Machines CorporationIntelligent file management
US9998551B1 (en)*2016-10-242018-06-12Palantir Technologies Inc.Automatic discovery and registration of service application for files introduced to a user interface
US10027764B2 (en)2013-12-312018-07-17Google LlcAssociating network-hosted files with network-hosted applications
US10235149B2 (en)*2011-12-132019-03-19Huawei Device (Dongguan) Co., Ltd.Preinstalled application management method for mobile terminal and mobile terminal
US10404769B2 (en)2013-12-312019-09-03Google LlcRemote desktop video streaming alpha-channel
US10423427B1 (en)*2015-08-122019-09-24VCE IP Holding Company LLCAutomatic self-correction system and method for an integrated computing system configuration system
US20200015032A1 (en)*2007-10-122020-01-09Empire Ip LlcMashing Mapping Content Displayed on Mobile Devices
US20230035500A1 (en)*2021-08-022023-02-02Dell Products L.P.Dynamically selecting an application to open a file
US20230418624A1 (en)*2022-06-242023-12-28Microsoft Technology Licensing, LlcFile opening optimization
US11928079B1 (en)*2022-10-252024-03-12Dell Products L.P.Intelligently associating a file with an application
USRE50483E1 (en)*2014-12-102025-07-08Button, Inc.Use-case-based application installation and switching to a second application to perform an action

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8489702B2 (en)2007-06-222013-07-16Apple Inc.Determining playability of media files with minimal downloading
US8732572B2 (en)*2010-07-122014-05-20Brand Affinity Technologies, Inc.Apparatus, system and method for selecting a media enhancement
US20120150647A1 (en)*2010-07-122012-06-14Ryan SteelbergApparatus, System and Method for Selecting a Media Enhancement
US8806329B2 (en)*2010-07-192014-08-12Ryan SteelbergApparatus, system and method for selecting a media enhancement
US8621343B2 (en)*2010-07-192013-12-31Brand Affinity Technologies, Inc.Apparatus, system and method for selecting a media enhancement
US20120150663A1 (en)*2010-07-272012-06-14Ryan SteelbergApparatus, System and Method for Selecting Media Enhancement
JP5772331B2 (en)*2011-07-202015-09-02カシオ計算機株式会社 Learning apparatus and program
US20130110905A1 (en)*2011-10-282013-05-02Microsoft CorporationFile type associations for remote applications
US10412131B2 (en)*2013-03-132019-09-10Perkinelmer Informatics, Inc.Systems and methods for gesture-based sharing of data between separate electronic devices
US9639511B2 (en)*2014-11-242017-05-02Google Inc.Systems and methods for editing a file in a non-native application using an application engine
CN105786540B (en)*2014-12-242019-03-05中国移动通信集团公司A kind of application management method and electronic equipment
US10558814B2 (en)*2016-07-292020-02-11Google LlcPrivacy aware intent resolution with external sources

Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5838906A (en)1994-10-171998-11-17The Regents Of The University Of CaliforniaDistributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US20020105681A1 (en)*2001-02-022002-08-08Matsushita Graphic Communication System, Inc.Network scanner and file transmitting/receiving system, and user terminal apparatus and file transmitting/receiving method
US20040205656A1 (en)*2002-01-302004-10-14BenefitnationDocument rules data structure and method of document publication therefrom
US20060041840A1 (en)*2004-08-212006-02-23Blair William RFile translation methods, systems, and apparatuses for extended commerce
US7024214B2 (en)*2002-02-262006-04-04Microsoft CorporationSynchronizing over a number of synchronization mechanisms using flexible rules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5838906A (en)1994-10-171998-11-17The Regents Of The University Of CaliforniaDistributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US20020105681A1 (en)*2001-02-022002-08-08Matsushita Graphic Communication System, Inc.Network scanner and file transmitting/receiving system, and user terminal apparatus and file transmitting/receiving method
US20040205656A1 (en)*2002-01-302004-10-14BenefitnationDocument rules data structure and method of document publication therefrom
US7024214B2 (en)*2002-02-262006-04-04Microsoft CorporationSynchronizing over a number of synchronization mechanisms using flexible rules
US20060041840A1 (en)*2004-08-212006-02-23Blair William RFile translation methods, systems, and apparatuses for extended commerce

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Capio Corporation, http://www.capio.cc, (C) 2000-2002, San Jose, CA, 9 pages.

Cited By (95)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20140058867A1 (en)*2004-03-122014-02-27American Express Travel Related Services Company, Inc.Method and system for providing point of sale services
US8600880B2 (en)*2004-03-122013-12-03American Express Travel Related Services Company, Inc.Method and system for providing point of sale services
US20050203753A1 (en)*2004-03-122005-09-15American Express Travel Related Services Company, Inc.Method and system for providing point of sale services
US20050246637A1 (en)*2004-04-302005-11-03Microsoft CorporationRich end-user data views
US20050246304A1 (en)*2004-04-302005-11-03Microsoft CorporationEnd-user application customization using rules
US8051406B2 (en)*2004-04-302011-11-01Microsoft CorporationRich end-user data views
US7900131B2 (en)2004-06-252011-03-01Apple Inc.Determining when a file contains a feed
US20060200740A1 (en)*2004-06-252006-09-07Jessica KahnMIME type detection for feeds
US7752600B2 (en)*2004-09-302010-07-06Citrix Systems, Inc.Method and apparatus for providing file-type associations to multiple applications
US8042120B2 (en)2004-09-302011-10-18Citrix Systems, Inc.Method and apparatus for moving processes between isolation environments
US8171479B2 (en)2004-09-302012-05-01Citrix Systems, Inc.Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US8352964B2 (en)2004-09-302013-01-08Citrix Systems, Inc.Method and apparatus for moving processes between isolation environments
US8132176B2 (en)2004-09-302012-03-06Citrix Systems, Inc.Method for accessing, by application programs, resources residing inside an application isolation scope
US8117559B2 (en)2004-09-302012-02-14Citrix Systems, Inc.Method and apparatus for virtualizing window information
US20060070029A1 (en)*2004-09-302006-03-30Citrix Systems, Inc.Method and apparatus for providing file-type associations to multiple applications
US7853947B2 (en)2004-09-302010-12-14Citrix Systems, Inc.System for virtualizing access to named system objects using rule action associated with request
US8302101B2 (en)2004-09-302012-10-30Citrix Systems, Inc.Methods and systems for accessing, by application programs, resources provided by an operating system
US8224878B2 (en)*2004-10-182012-07-17Samsung Electronics Co., LtdApparatus and method for managing content data using content data information in an information terminal
US20060085382A1 (en)*2004-10-182006-04-20Samsung Electronics Co., Ltd.Apparatus and method for managing content data in an information terminal
US20070055707A1 (en)*2004-12-162007-03-08Dandekar Shree AControl of Policies for Setting File Associations When Configuring Information Handling Systems
US20060195411A1 (en)*2005-02-282006-08-31Microsoft CorporationEnd user data activation
US8612844B1 (en)*2005-09-092013-12-17Apple Inc.Sniffing hypertext content to determine type
US8095940B2 (en)2005-09-192012-01-10Citrix Systems, Inc.Method and system for locating and accessing resources
US20070083655A1 (en)*2005-10-072007-04-12Pedersen Bradley JMethods for selecting between a predetermined number of execution methods for an application program
US8131825B2 (en)2005-10-072012-03-06Citrix Systems, Inc.Method and a system for responding locally to requests for file metadata associated with files stored remotely
US8621549B2 (en)*2005-12-292013-12-31Nextlabs, Inc.Enforcing control policies in an information management system
US20070156897A1 (en)*2005-12-292007-07-05Blue JungleEnforcing Control Policies in an Information Management System
US20070294265A1 (en)*2006-06-062007-12-20Anthony Scott AskewIdentification of content downloaded from the internet and its source location
US20080288582A1 (en)*2006-09-252008-11-20Sms.AcSystems and methods for passing application pods between multiple social network service environments
US8543612B2 (en)*2007-05-312013-09-24Fujitsu Mobile Communications LimitedMobile terminal
US20080301194A1 (en)*2007-05-312008-12-04Kabushiki Kaisha ToshibaMobile terminal
US8230417B1 (en)2007-06-082012-07-24Adobe Systems IncorporatedCombined application and execution environment install
US20090037835A1 (en)*2007-07-302009-02-05Adobe Systems IncorporatedApplication Tracking for Application Execution Environment
US8554732B2 (en)2007-07-302013-10-08Adobe Systems IncorporatedVersion management for application execution environment
US8448161B2 (en)*2007-07-302013-05-21Adobe Systems IncorporatedApplication tracking for application execution environment
US8375381B1 (en)2007-07-302013-02-12Adobe Systems IncorporatedManagement user interface for application execution environment
US11937145B2 (en)*2007-10-122024-03-19Nearby Systems LlcMashing mapping content displayed on mobile devices
US20240187816A1 (en)*2007-10-122024-06-06Nearby Systems LlcMashing Mapping Content Displayed on Mobile Devices
US20200015032A1 (en)*2007-10-122020-01-09Empire Ip LlcMashing Mapping Content Displayed on Mobile Devices
US12185177B2 (en)*2007-10-122024-12-31Nearby Systems LlcMashing mapping content displayed on mobile devices
US9009721B2 (en)2007-10-202015-04-14Citrix Systems, Inc.Method and system for communicating between isolation environments
US8171483B2 (en)2007-10-202012-05-01Citrix Systems, Inc.Method and system for communicating between isolation environments
US9021494B2 (en)2007-10-202015-04-28Citrix Systems, Inc.Method and system for communicating between isolation environments
US9009720B2 (en)2007-10-202015-04-14Citrix Systems, Inc.Method and system for communicating between isolation environments
US20100088587A1 (en)*2008-09-262010-04-08International Business Machines CorporationMethod and apparatus for providing inter-version document compatibility
US11477295B2 (en)*2008-10-282022-10-18Hewlett-Packard Development Company, L.P.File type association in a remote computing session
US20110202583A1 (en)*2008-10-282011-08-18Michael A ProvencherFile Type Association In A Remote Computing Session
US10447804B2 (en)*2008-10-282019-10-15Hewlett-Packard Development Company, L.P.File type association in a remote computing session
US8302005B2 (en)*2009-01-142012-10-30Gibby Media GroupOptimizing playback of media content
US20100180201A1 (en)*2009-01-142010-07-15Gibby Media GroupOptimizing Playback of Media Content
US10225363B2 (en)2009-05-022019-03-05Citrix Systems, Inc.Methods and systems for providing a consistent profile to overlapping user sessions
US9451044B2 (en)2009-05-022016-09-20Citrix Systems, Inc.Methods and systems for providing a consistent profile to overlapping user sessions
US8725791B2 (en)2009-05-022014-05-13Citrix Systems, Inc.Methods and systems for providing a consistent profile to overlapping user sessions
US8090797B2 (en)2009-05-022012-01-03Citrix Systems, Inc.Methods and systems for launching applications into existing isolation environments
US8326943B2 (en)2009-05-022012-12-04Citrix Systems, Inc.Methods and systems for launching applications into existing isolation environments
US8620920B2 (en)*2009-06-042013-12-31Canon Kabushiki KaishaInformation processing apparatus, information processing method and program therefor
US20130038720A1 (en)*2009-06-042013-02-14Canon Kabushiki KaishaInformation processing apparatus, information processing method and program therefor
US8621386B2 (en)*2010-07-192013-12-31Verizon Patent And Licensing Inc.File management and transfer using user interface icons associated with applications
US9164657B2 (en)2010-07-192015-10-20Verizon Patent And Licensing Inc.File management and transfer using user interface icons associated with applications
US20120017178A1 (en)*2010-07-192012-01-19Verizon Patent And Licensing, Inc.File management and transfer using a remora
US8484100B2 (en)*2010-10-192013-07-09Apple Inc.Method, medium, and system for an integrated application store for a user device
US20140012714A1 (en)*2010-10-192014-01-09Apple Inc.Method, medium and system for an integrated application store for a user device
US20120095878A1 (en)*2010-10-192012-04-19Feldman Daniel IIntegrated application store for a user device
EP2661670A4 (en)*2011-01-042014-07-02Thomson Licensing CONTEXTUAL USER INTERFACE
US8849819B2 (en)*2011-08-052014-09-30Deacon JohnsonSystem and method for controlling and organizing metadata associated with on-line content
US12182218B2 (en)2011-08-052024-12-31Deacon JohnsonSmart phone for controlling metadata associated with exported image data and methods for use therewith
US20130036363A1 (en)*2011-08-052013-02-07Deacon JohnsonSystem and method for controlling and organizing metadata associated with on-line content
US10235149B2 (en)*2011-12-132019-03-19Huawei Device (Dongguan) Co., Ltd.Preinstalled application management method for mobile terminal and mobile terminal
US11106446B2 (en)2011-12-132021-08-31Huawei Device Co., Ltd.Preinstalled application management method for mobile terminal and mobile terminal
US9594762B2 (en)*2012-01-062017-03-14International Business Machines CorporationIntelligent file management
US20150052164A1 (en)*2012-03-302015-02-19Hewlett-Packard Development Company L.P.Associating an application with an application file
US20140033030A1 (en)*2012-07-242014-01-30Anthony R. PfisterIndexing and providing electronic publications in a networked computing environment
US9292280B2 (en)*2013-03-152016-03-22Google Inc.Systems and methods for multi-tiered format registration for applications
US20150199196A1 (en)*2013-03-152015-07-16Google Inc.Systems and methods for multi-tiered format registration for applications
US20140280254A1 (en)*2013-03-152014-09-18Feichtner Data Group, Inc.Data Acquisition System
WO2014186246A1 (en)*2013-05-142014-11-20Google Inc.System and method for identifying applicable third-party applications to associate with a file
US9489430B2 (en)2013-05-142016-11-08Google Inc.System and method for identifying applicable third-party applications to associate with a file
US10404769B2 (en)2013-12-312019-09-03Google LlcRemote desktop video streaming alpha-channel
US10027764B2 (en)2013-12-312018-07-17Google LlcAssociating network-hosted files with network-hosted applications
WO2015103249A3 (en)*2013-12-312015-08-20Google Inc.Associating network-hosted files with network-hosted applications
USRE50483E1 (en)*2014-12-102025-07-08Button, Inc.Use-case-based application installation and switching to a second application to perform an action
US10909169B2 (en)*2015-08-072021-02-02Canon Kabushiki KaishaInformation processing apparatus, information processing method, and program
US20170039223A1 (en)*2015-08-072017-02-09Canon Kabushiki KaishaInformation processing apparatus, information processing method, and program
US10423427B1 (en)*2015-08-122019-09-24VCE IP Holding Company LLCAutomatic self-correction system and method for an integrated computing system configuration system
US10956178B1 (en)*2015-08-122021-03-23EMC IP Holding Company LLCAutomatic self-correction system and method for an integrated computing system configuration system
US12003591B2 (en)*2016-10-242024-06-04Palantir Technologies Inc.Automatic discovery and registration of service applications for files introduced to a user interface
US20210297495A1 (en)*2016-10-242021-09-23Palantir Technologies Inc.Automatic discovery and registration of service applications for files introduced to a user interface
US20240275856A1 (en)*2016-10-242024-08-15Palantir Technologies Inc.Automatic discovery and registration of service applications for files introduced to a user interface
US11019156B1 (en)*2016-10-242021-05-25Palantir Technologies Inc.Automatic discovery and registration of service applications for files introduced to a user interface
US9998551B1 (en)*2016-10-242018-06-12Palantir Technologies Inc.Automatic discovery and registration of service application for files introduced to a user interface
US20230035500A1 (en)*2021-08-022023-02-02Dell Products L.P.Dynamically selecting an application to open a file
US12001402B2 (en)*2021-08-022024-06-04Dell Products L.P.Dynamically selecting an application to open a file
US20230418624A1 (en)*2022-06-242023-12-28Microsoft Technology Licensing, LlcFile opening optimization
US12242864B2 (en)*2022-06-242025-03-04Microsoft Technology Licensing, LlcFile opening optimization
US11928079B1 (en)*2022-10-252024-03-12Dell Products L.P.Intelligently associating a file with an application

Also Published As

Publication numberPublication date
US8099445B1 (en)2012-01-17

Similar Documents

PublicationPublication DateTitle
US7409405B1 (en)File dispatcher for multiple application targets
KR101238541B1 (en)Methods and systems for providing a customized user interface for viewing and editing meta-data
EP0676069B1 (en)File translation system
RU2417401C2 (en)Rich drag drop user interface
US5886699A (en)Method and system for transferring data to common destinations using a common destination list
US7293268B2 (en)Installation method, activation method, execution apparatus and medium of application program
US8732449B2 (en)Changing the personality of a device by intercepting requests for personality information
US7406664B1 (en)System for integrating HTML Web site views into application file dialogs
US7958445B1 (en)System and method for storing data associated with a file
CN1669027A (en) Method and system for extending file system application programming interface
US20130166562A1 (en)Renaming Multiple Files
US20080005752A1 (en)Methods, systems, and computer program products for generating application processes by linking applications
US5764983A (en)Method and system for efficiently creating a new file associated with an application program
US20060161862A1 (en)Enabling users to create and use a directory of document links from within a file menu of an application
EP1632851A2 (en)Method and apparatus for changing background screen in an operating system
EP1600860A2 (en)Method and system for embedding context information in a document
US7480665B2 (en)Methods and systems for creating document schema
US8065351B2 (en)Default location that may be dynamically changed
US7769739B1 (en)Searching for an item using an accessing application as a search parameter
SG173200A1 (en)Apparatus and method for managing digital assets
WangManipulating Files
JPH09167087A (en) Software development environment management system
JP2004295703A (en)Folder selection dialogue display method and application program

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:ADOBE SYSTEMS INCORPORATED, CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MASINTER, LARRY;WEBSTER, ROGER;REEL/FRAME:013662/0689

Effective date:20021204

STCFInformation on status: patent grant

Free format text:PATENTED CASE

ASAssignment

Owner name:ADOBE SYSTEMS INCORPORATED, CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MASINTER, LARRY;WEBSTER, ROGER R.;REEL/FRAME:021326/0036

Effective date:20021204

FPAYFee payment

Year of fee payment:4

FEPPFee payment procedure

Free format text:PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAYFee payment

Year of fee payment:8

ASAssignment

Owner name:ADOBE INC., CALIFORNIA

Free format text:CHANGE OF NAME;ASSIGNOR:ADOBE SYSTEMS INCORPORATED;REEL/FRAME:048867/0882

Effective date:20181008

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:12


[8]ページ先頭

©2009-2025 Movatter.jp