Method and system of maintaining a browser in a design application workflow

A system for maintaining consistent workflow is disclosed. The system includes a browser, a local application, a server application, and protocol logic configured to coordinate interactions between the local application and the server application and control the browser. Upon detecting the local application becoming active, the protocol logic freezes the browser until an event with respect to the local application is detected. The protocol logic is further configured to utilize a plurality of browser network parameters shared with a number of other protocols in order to ensure that the protocol logic is compatible with different network security devices.

CROSS-REFERENCE(S) TO RELATED APPLICATION(S)

Not Applicable.

Not Applicable.

BACKGROUND OF THE INVENTION

The present invention generally relates to design application workflow, and in particular to methods and systems for maintaining a browser in a design application workflow.

Under conventional systems, end-user workstations like Windows PCs provide the users with multiple applications to access, edit and/or modify different types of documents and data formats.

When building or designing an application, application designers define workflows and application logic to describe the possible actions of a user on data models. Current Internet browser technologies do not permit mixing browser-based workflow with local workstation application workflow. Indeed, while browsers are capable of launching other applications to view and/or edit data objects (such as a document or a video clip), this behavior is “fire and forget” meaning that the browser behavior is not dependent on other application behavior. In other words, at any point in time, a user can go back to the browser from an opened application, close the browser or switch to another application (such as a website), making any feedback from the opened application unpredictable. For example, a user can use the Internet Explorer to start the Word application to edit an HTML file. But once the HTML file is opened in the Word application, the user can freely switch back to the Internet Explorer and continue to browse the Web without regard to the current condition of the Word application. This makes it impossible for an application designer to enforce and design application workflow mixing browser and local applications.

Hence, it would be desirable to provide methods and systems that are capable of, amongst other things, mixing browser and local applications in a design application workflow.

SUMMARY OF THE INVENTION

A system for maintaining consistent workflow is disclosed. In one embodiment, the system includes a browser, a local application, a server application, and protocol logic configured to coordinate interactions between the local application and the server application and control the browser. Upon detecting the local application becoming active, the protocol logic freezes the browser until an event with respect to the local application is detected. The protocol logic is further configured to utilize a plurality of browser network parameters shared with a number of other protocols in order to ensure that the protocol logic is compatible with different network security devices.

In another embodiment, a system for maintaining consistent workflow includes a browser, a local application, a server application, and protocol logic configured to synchronize the behavior amongst the browser, the local application and the server application. Upon detecting a first event with respect to the local application, the protocol logic freezes the browser until a second event with respect to the local application is detected. The protocol logic is further configured to utilize a plurality of browser network parameters shared with a plurality of other protocols in order to ensure that the protocol logic is compatible with different network security devices.

In one aspect, a method of maintaining consistent workflow between a browser and an application is disclosed. According to the method, the browser is activated to establish a browser session. Launch of the application is then initiated. Upon detecting that the application is to be launched, the browser is frozen until an event with respect to the application is detected. A number of browser network parameters shared with a number of other protocols may be used in order to ensure compatibility with different network security devices.

Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to accompanying drawings, like reference numbers indicate identical or functionally similar elements.

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

One or more embodiments of the present invention will now be described. In one embodiment, the present invention is provided in the form of a browser protocol, similar to other network protocols like FTP, HTTP or MAILTO:. The protocol by enabling state and data communication between the browser and other local workstation application solves the problem of workflow implementation for an application designer. During the usage of this protocol, the browser is able to keep its session alive, since this is compatible with URL session management and cookies session management. The protocol is not restricted to any type of applications or documents.

FIG. 1illustrates one embodiment of the present invention. The system10includes a client computer12and a server computer14. The client computer12and the server computer may communicate via a computer network, such as, the Internet16. The client computer12and the server computer14may include, for example, personal computers, workstations and any other types of computing devices.

The client computer12may further include a browser18, a local application22, a protocol20implemented in the form of software. The server computer14may further include a server application24.

The protocol20is used to control or coordinate the interactions amongst the browser18, the local application22and the server application24, as will be further explained below.

In one embodiment, the browser18, the local application22, the server application24and the protocol20collectively provide a certain application or functionality, such as, a document retrieval/editing system. For example, the local application22may coordinate with the server application24to retrieve document(s) from the server computer14by using the browser18and the protocol20. The protocol20may be configured to perform the following functions including, for example, starting or launching another application from a browser, freezing the browser, monitoring the launched application, keeping the browser session alive and closing the launched application.

FIG. 2illustrates the status of the browser18and the local application22using the protocol20according to one embodiment of the present invention. As shown inFIG. 2, the browser18is initially launched by a user to establish a browser session. Upon receiving an indication from the user that the local application22is to be launched, the protocol20operating with the browser18launches the local application22. The local application22may then interact with the server application24to perform certain functions. Upon launching the local application22, the protocol20also freezes the browser18. The browser18is frozen in that the browser session is still alive but no direct user action with respect to the browser18is permitted. In other words, the user cannot interact with the browser18directly. For example, the browser18is prevented from reacting to user-initiated events, such as, a mouse click on a link or a close menu command. However, the browser18may continue to interact with other applications, such as the local application22. The protocol20may cause the browser18to be released in response to certain events and/or conditions, i.e., the browser18may return to an active state from the frozen state. Such events and/or conditions may be triggered by the local application22. For example, when the local application22is deactivated, the protocol20may release the browser18. The browser session becomes active again and direct user action with respect to the browser18is permitted.

FIGS. 3A-Dshow an example illustrating the use of the system10. The system10is used in the context of a document publishing service whereby users are given the right to access and/or edit documents. A number of documents are stored on the server computer14and made available over the Internet16for access and edit. The documents may be generated by various applications using different formats, such as, Excel, Word, HTML, etc.

As shown inFIG. 3A, a user may activate the browser18to establish a browser session. The browser session allows the user to reach a website, vis-à-vis, the server computer14, via the Internet16. The website is coupled to the server computer14where the desired document(s) are stored. In order to access the website to retrieve the desired document(s), the user may need to provide the proper identification and access information.

InFIG. 3B, the user clicks on an edit link in order to retrieve and edit a desired document. Upon detecting the user clicking on the edit link, the protocol20activates the local application22to allow the user to retrieve and edit the document. For example, the local application22may include a Word or Excel application. The local application22and the server application24may cooperate with each other to achieve the desired functions.

InFIG. 3C, the local application22is launched by the protocol20, as indicated by the new window. The local application22allows the user to access and/or edit the document. The protocol20, however, causes the browser18to be frozen in the background. In other words, the user is no longer able to interact with the browser18, such as, using the browser18to access other website(s).

InFIG. 3D, once the user is finished with accessing and/or editing the document, the user closes the local application22. Upon detecting that the local application22has been closed, the protocol20causes the browser18to be released. The user once again is able to use the browser18to perform other functions, such as, requesting the website to retrieve another document from the server computer14.

It should be noted that the protocol20is able to work with a number of different applications, such as, the local application22. Furthermore, the protocol20is independent of an application, i.e., the protocol20is able to work with any type of application, such as, a document application, an email application, etc. Moreover, the protocol20may be configured to work with different types of browsers, such as, Internet Explorer and others. In addition, the protocol20may utilize browser network parameters shared with other protocols (such as, FTP, LDAP, MAILTO, NEWS) to ensure that the protocol20is compatible with different network security devices, such as, firewalls.

Use of the protocol20may provide a number of advantages and/or benefits. For example, since the protocol20is configured to control the behavior of the browser18and the local application22, the protocol20enables the behavior of the browser18and the local application22to be synchronized. Consequently, workflow control can be better managed. This is particularly advantageous because as more and more applications have become web-based, the use of the protocol20allows consistency between a browser and a web-based application to be maintained more effectively.

The previous description of the disclosed embodiments is provided for purposes of illustration and description to enable any person skilled in the art to make or use the present invention. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit of scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein, but is to be accorded the full scope consistent with the claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more”. All structural and functional equivalents to the elements of the various embodiments described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for”.