Various inventive embodiments disclosed herein relate generally to document sharing systems. In particular, embodiments disclosed herein relate to a system for and methods of providing a document sharing service in combination with remote access to document editor and/or viewer applications.
Currently, web-based file hosting services exist in which cloud storage is used to enable users to create, store, and share files and folders with others across the Internet using file synchronization. In such a system, the service allows users to upload and save documents to the cloud. Then the documents that are in the cloud can be access from the users' computers. Users can also share documents with other users.
Current document sharing systems work well until a user tries to access a document using a client device (e.g., any computing device) that does not have the document editor and/or viewer application needed for the document format of interest. For example, if a user is attempting to edit/view an AutoCAD® document through a document sharing system and the user's computer does not have the AutoCAD® application installed and running natively thereon, the user will be unable to open the AutoCAD® document. Therefore, for conventional document sharing systems to work, it is required that the user's client device have the needed document application installed and running locally. This is of particular limitation on certain types of client devices, such as tablet computing devices, handheld computing devices, and mobile phones, which may not support any application that can view or edit a particular document format.
Various inventive embodiments disclosed herein, both as to its organization and manner of operation, together with further objectives and advantages, may be best understood by reference to the following description, taken in connection with the accompanying drawings as set forth below:
The disclosure is a system for and methods of providing a document sharing service in combination with remote access to document editor and/or viewer applications. The document sharing service of the disclosure allows users to access a document from a centralized document database using his/her client device (e.g., any computing device) even when the client device does not have the document editor/viewer application needed for the document format of interest. Namely, if a user is attempting to edit/view a document of a certain file format through the document sharing service and the user's client device does not support the particular file format, the document sharing service (1) selects a computer in the system that has the needed document editor/viewer application (2), if necessary, moves the document to the selected computer, and (3) “remotes” the user interface for the document editor/viewer application to the user's client device.
For example, if a user is attempting to edit/view an computer-aided design (CAD) drawing through the document sharing service of the disclosure and the user's client device does not have the AutoCAD® application installed and running natively on his/her client device, the document sharing service (1) selects a computer in the system that is running the AutoCAD® application (2) if necessary, moves the CAD drawing to the selected computer, and then (3) remotes the user interface for the AutoCAD® application to the user's client device.
Further, the document sharing service of the disclosure supports three classes of client devices, meaning three classes of user devices, by which a user may access documents:
Accordingly, the class I client device has the greatest amount of functionality, the class II client device has a lower amount of functionality than the class I client device, and the class III client device has a yet lower amount of functionality than the class II client device. The document sharing service of the disclosure provides advantage over conventional document sharing systems in that conventional document sharing systems only support the equivalent of the class II and class III client devices, and do not support class I client devices.
In one example, hosting service 105 includes a network of one or more host computers 110, i.e., host computers 110-1 through 110-n; a document server 120; a document database 130; and a user database 140. Host computers 110-1 through 110-n may be connected to document server 120 and user database 140 via, for example, a TCP connection. The TCP connection may be a standard TCP connection with no encryption or a TCP connection with encryption.
One or more users 150 are associated with client-server computing system 100. Users 150 may be individual users and/or groups of users and, thus, hereafter it may be understood that any reference to users 150 means individual users or user groups (i.e., groups of users 150). Users 150 may access hosting service 105 via any combination of one or more classes of client devices 160, which are connected to hosting service 105 via a network 170. For example, client devices 160 may include any combinations of class I client devices 160, class II client devices 160, and class III client devices 160, which are described in more detail with reference to
Network 170 may be, for example, a local area network (LAN) and/or a wide area network (WAN) for connecting to the Internet. Entities of client-server computing system 100 may connect to network 170 by any wired and/or wireless means. Client-server computing system 100 may be implemented using standard client-server architecture between hosting service 105 and client devices 160.
Each host computer 110 is a computer on which document editor and/or document viewer applications run. For example, in a remote access system, such as client-server computing system 100, the “remoting” software is installed and executing (i.e., “running”) on each host computer 110, which is software that allows users 150 to remotely access document editor and/or document viewer applications that are installed on each host computer 110. By way of example, a set of document editors 112 and/or a set of document viewers 114 are installed on each host computer 110. Namely, individual instances and/or types of document editor and/or document viewer applications on each host computer 110 is represented by document editors 112 and document viewers 114. Document editors 112 may include any types of document editors, such as, but not limited to, a plain text editor, such as Notepad; the Microsoft® Office suite of programs, such as Microsoft® Word, Microsoft® Excel, Microsoft® PowerPoint; Microsoft® Visio; computer-aided design (CAD) applications, such as Autodesk® AutoCAD® and Cadence® Virtuoso®; photo editors, such as Microsoft® Paint and Adobe® Photoshop®; and Adobe® Illustrator®. Document viewers 114 may include any types of document viewers, such as, but not limited to, the Microsoft® PowerPoint viewer, the Microsoft® Visio viewer; the AutoCAD® viewer, the Adobe® Acrobat Reader, and any type of image viewer.
Using an example of three host computers 110-1, 110-2, and 110-3, instances of the same or different types of document editors 112 and document viewers 114 may be installed and running on each of the host computers 110-1, 110-2, and 110-3. For example, the Microsoft® Office suite of programs may be installed and running on all three host computers 110-1, 110-2, and 110-3. Adobe® Acrobat Reader may be installed and running on host computers 110-2 and 110-3, but not on host computer 110-1. Autodesk® AutoCAD® and the AutoCAD® viewer may be installed and running only on host computer 110-2. Microsoft® Visio and the Microsoft® Visio viewer may be installed and running on host computers 110-1 and 110-3, but not on host computer 110-2, and so on.
Each host computer 110 further includes a remote access service 116. Remote access service 116 is the application or process that manages the user access process at the host computer 110 whenever a document editor/viewer access request is received from a client device 160 of a certain user 150 via document server 120. Additionally, remote access service 116 provides an application publishing service. Namely, at each host computer 110, remote access service 116 is used to publish its document editors 112 and document viewers 114 to users 150. The remote access service 116 is an application running on each host computer 110 that is capable of starting a remote session in which applications can be run and displayed to a user 150 at his/her client device 160, which is a remote device. The remote access service 116 application manages the communication of each host computer 110 with the client device 160 with respect to creating and displaying host sessions on behalf of users 150.
Document server 120 is used as the gateway into hosting service 105. Namely, document server 120 provides the interface between client devices 160 and host computers 110. As such, document editors 112 and document viewers 114 of host computers 110-1 through 110-n is delivered to client devices 160 via document server 120. More specifically, document server 120 includes a document sharing service 122. Document sharing service 122 may be implemented as a web application that is accessible by client devices 160 via, for example, the Internet (e.g., network 170). Document sharing service 122 controls access to host computers 110 and any other entities of hosting service 105. More particularly, under the control of document sharing service 122, document editors 112 and document viewers 114 of host computers 110 shall be visible to and accessible by client devices 160 via network 170. For example, users 150 authenticate to document server 120 using document sharing service 122. Once authenticated, based on access rights and permissions, users 150 are allowed access to document editors 112 and document viewers 114 of host computers 110-1 through 110-n that are connected to document server 120.
Each client device 160 includes a client application 162. Client application 162 is used to provide a user interface to document sharing service 122 of document server 120. Namely, client application 162 is the component that is the counterpart to document sharing service 122 of document server 120. Client application 162 may be implemented as a web application and run in a web browser, such as Internet Explorer. However, client application 162 may be implemented by other means, such as a .NET application, a light weight desktop application, a mobile app, and the like.
Document sharing service 122 of document server 120 is the first process that client application 162 of client devices 160 connects to. The purpose of document sharing service 122 is to authenticate users 150 and keep track of what each individual user 150 is allowed to access. Namely, document sharing service 122 is used to enforce the access rights and limitations that a system administrator (not shown) has defined.
Document database 130 provides a centralize document storage means in hosting service 105. Namely, document database 130 is used for storing a repository of documents 132. Documents 132 may be any documents created and/or processed using document editors 112 and document viewers 114. Examples of types of documents 132 may include, but are not limited to, .txt files, .rtf files, .wpd files, .wps files, .doc files, .ppt files, .xls files, .htm files, .html files, .pdf files, .jpg files, .tiff files, .gif files, .bmp files, .vsd files, .xml file, .ai files, .dwg files, and .dxf files, to name a few. Using client devices 160, documents 132 may be created by users 150, then saved to document database 130 and shared with other users 150.
User/group information 142 may be stored in user database 140. A system administrator (not shown) creates and defines user/group information 142. Additionally, if allowed by the administrator, users may create their own accounts and groups. User/group information 142 may contain, for example, account information, user names, group names, user/group credentials, locations of user/group profiles (e.g., file paths), and the like.
Client-server computing system 100, and more particularly hosting service 105, may support a cloud computing environment. In a cloud computing environment, document server 120 is the cloud server. Further, hosting service 105 of client-server computing system 100 is not limited to one document server 120 only. Hosting service 105 may include any number of document servers 120 (or cloud servers).
For example, a class I client device 160 is a computing device that includes an instance of client application 162. Further, installed and running natively on a class I client device 160 are instances of certain types of document editors 112 and/or document viewers 114, which are described with reference to
A class II client device 160 is substantially the same as a class I client device 160 except that it does not include remote access service 164. Consequently, a class II client device 160 can not act as an application server. In summary, a class II client device 160 may provide document editing and viewing capability via document editors 112 and document viewers 114, but without application server capability. Examples of class II client devices 160 may include, but are not limited to, desktop computers and laptop computers.
Finally, a class III client device 160 has limited or no document editing and viewing capability and no application server capability. Consequently, a class III client device 160 mainly provides a remote connection (via client application 162) to document sharing service 122 of hosting service 105. Examples of class III client devices 160 may include, but are not limited to, handheld computing devices, mobile phones, and tablet devices.
Referring to
In one example, if the user's class I client device 160 is registered with document sharing service 122 and has Microsoft® Word, document sharing service 122 selects the class I client device 160 to host the application on behalf of the user's class III client device 160, rather than selecting one of the host computers 110. Then, document sharing service 122 “remotes” the interface for Microsoft® Word to the user's class III client device 160 and, using remote access service 164 of the user's class I client device 160, the document may be created. In this scenario, the user 150 is essentially hosting his/her own document editor/viewer applications (via document editors 112 and/or document viewers 114 of the class I client device 160) and the amount of data that is routed through document sharing service 122 is minimized. In addition, the documents and content that the user 150 creates remains on the user 150's own computers.
The client-server computing system 100 of the disclosure is not limited to a particular user 150 hosting his/her own document editor/viewer applications via his/her class I client device 160. A first user 150 may grant access to other users 150 to use the first user 150's class I client device 160. In this way, a first user 150 may provide hosting services to other users 150, which is another way of minimizing data that is routed through document sharing service 122. For example, multiple users 150 may establish relationships to one another in similar fashion to social networking methods. Namely, users 150 may have “contacts” lists or “friends” lists with selectable permissions that allow users 150 to host document editor/viewer applications for each other using their respective class I client devices 160. Multiple users 150 may simultaneously access a class I client device 160 and work independently in private sessions.
In another example, if none of the user's client devices 160 (regardless of class) have Microsoft® Word running natively thereon, document sharing service 122 selects one of the host computers 110 to host the application on behalf of the user's client device 160. In this scenario, hosting service 105 is hosting the document editor/viewer application and all data is routed through document sharing service 122.
Because of the three different classes of client devices 160, three different levels of service with different price points may be offered to users 150 of hosting service 105 of client-server computing system 100. For example, hosting service 105 of the disclosure provides a base level of service that supports class II client devices 160 only, which is essentially the capability of conventional document sharing systems. However, hosting service 105 of the disclosure provides another level of service (beyond that of conventional document sharing systems) that supports class II client devices 160 and that also allows a user 150 to host his/her own application via his/her class I client device 160. Namely, document sharing service 122 facilitates the use of a class I client device 160 as a host. Hosting service 105 of the disclosure provides yet another level of service (again beyond that of conventional document sharing systems) that supports both the capability of a user 150 to host his/her own document editor/viewer applications via his/her class I client device 160 and the capability of a user 150 to access host computers 110. The three levels of service may be offered at three different price points because each level of service is more expensive to provide. Namely, the more data that is routed through document sharing service 122, the higher the cost.
At step 310, using any class I client device 160, class II client device 160, or class III client device 160, the user 150 determines whether the desired document editor 112 exists on his/her client device 160. In one example, if the user 150 desires to create a CAD drawing (i.e., a .dwg file) the user 150 determines whether an AutoCAD® application exists on his/her client device 160.
At a decision step 312, if the user 150 determines that the desired document editor 112 (e.g., the AutoCAD® application) exists on his/her client device 160, method 300 proceeds to step 314. However, if the user 150 determines that the desired document editor 112 (e.g., the AutoCAD® application) does not exist on his/her client device 160, then method 300 proceeds to step 326.
At a step 314, the user 150 starts the desired document editor 112 on his/her client device 160 and the interface of the particular type of document editor 112 is displayed on the client device 160. Continuing the example, the user 150 starts the AutoCAD® application on his/her client device 160 and the interface of the AutoCAD® application is displayed on the client device 160.
At a step 316, using a class I client device 160, class II client device 160, or class III client device 160, the user 150 creates a new document 132 using the document editor 112 that is on his/her client device 160. The user 150 then saves the document 132 on his/her client device 160. Continuing the example, the user 150 creates a new CAD drawing (i.e., .dwg file) using the AutoCAD® application that is on his/her client device 160. The user 150 then saves the CAD drawing on his/her client device 160.
At a step 318, using client application 162 of the user's class I client device 160, class II client device 160, or class III client device 160, the user 150 signs into the document sharing service 122 and a standard authentication process is performed that allows the user 150 to access document editors 112 of host computers 110-1 through 110-n and document database 130. User-sign in may occur a number of ways. In one example, the user 150 may manually browse to the website of document sharing service 122 and enter credentials (e.g., username and password). In another example, the user sign-in process may occur automatically when the user 150 starts his/her client device 160. Namely, as part of the setup process to use document sharing service 122, the user 150 creates an account with the service and enters credentials. The account information and credentials is saved locally on the user's client device 160. Then the user 150 may select the option to automatically start document sharing service 122 when the client device 160 is started.
At step 320, user 150 selects the storage location for document 132. This selection is either made via client application 162 or via document editor 112's file dialog, in which the dialog displays the computer's local file system, network shares, and, optionally, a mapped drive or directory that provides access to document database 130 via document sharing service 122 and client application 162. In one example, user 150 chooses to store the document 132 (e.g., the CAD drawing) on document database 130. In another example, user 150 chooses to store the document 132 (e.g., the CAD drawing) locally on his/her client device 160. The capability that allows a user 150 to store documents 132 locally on his/her client device 160 and then share these documents with other users 150 is an advantage that hosting service 105 of the disclosure provides over conventional document sharing systems.
At a step 322, based on the user's selection at step 320, the document 132 is either uploaded to document database 130 or stored locally on the user 150's client device 160. For example, if at step 320 user 150 selects document database 130, client application 162 initiates the document upload process and document sharing service 122 uploads the document 132 (e.g., the CAD drawing) to document database 130 and the document 132 is now available for sharing. Alternatively, if at step 320 the user 150 chooses to store the document 132 (e.g., the CAD drawing) locally on his/her client device 160, document editor 112 saves the document to the selected location. From this step, method 300 may end or proceed to optional step 324.
At an optional step 324, the user 150 grants other users 150 access to the document 132 (e.g., the CAD drawing) that is stored in document database 130 or stored locally on his/her client device 160. Namely, the user 150 enters the access control entries for the document 132. For example, in an enterprise environment, a given user 150 may be granted visibility to certain other users 150. To facilitate this, document sharing service 122 may provide a user interface by which a user 150 may select a certain document 132 and then select users 150 (and/or groups) that may have access to the selected document 132. Additionally, the user 150 may make the document 132 public so that any user 150 can access it. Method 300 ends.
At a step 326, using client application 162 of the user's class I client device 160, class II client device 160, or class III client device 160, the user 150 signs into the document sharing service 122 and a standard authentication process is performed that allows the user 150 to access document editors 112 of host computers 110-1 through 110-n and document database 130. The user sign-in process may be as described with reference to step 318.
At a step 328, client-server computing system 100 displays the document editors 112 and document viewers 114 that are available to the authenticated user 150. More specifically, a list of document editors 112 and document viewers 114 to which the user 150 has rights and privileges is published by document sharing service 122 and displayed on the user's class I client device 160, class II client device 160, or class III client device 160.
These document editors 112 may exist on any of the host computers 110-1 through 110-n of hosting service 105 and any class I client devices 160 on which the user has rights to create documents. The capability that allows a particular user 150 to host his/her own document editors 112 and document viewers 114 is an advantage that hosting service 105 of the disclosure provides over conventional document sharing systems.
At a step 330, using client application 162 of the user's class I client device 160, class II client device 160, or class III client device 160, the user 150 selects a certain type of document editor 112 that corresponds to the type of document the user 150 wishes to create. If user 150 wants to create a document on a specific class I client device 160, the user may explicitly choose a document editor 112 that is installed on the desired client device 160. Continuing the example, if the user 150 desires to create a CAD drawing (i.e., a .dwg file) the user 150 may select an AutoCAD® application, which is one of the listed document editors 112.
At a step 332, if the user 150 has not, at step 330, explicitly or implicitly selected a specific class I client device 160 on which to start document editor 112, document sharing service 122 selects the computer on which to start the document editor 112 selected in step 330. The choice of computers includes host computers 110-1 through 110-n of hosting service 105 and any class I client device 160 on which the user has rights to create documents. The capability that allows class I client devices 160 to be included in the choices for hosting an application is an advantage that hosting service 105 of the disclosure provides over conventional document sharing systems. More specifically, in this step, the computer is selected according to a method 500 of
At a step 334, document sharing service 122 issues commands to the computer selected in step 332 to start the document editor 112 selected in step 330. Continuing the example, document sharing service 122 issues commands to host computer 110-2 to start the AutoCAD® application.
At a step 336, remote access service 116 of the computer selected in step 332 starts the document editor 112 selected in step 330 and client-server computing system 100 “remotes” the user interface to the client device 160. Continuing the example, remote access service 116 of host computer 110-2 starts the AutoCAD® application and the user interface thereof is displayed on the user's class I client device 160, class II client device 160, or class III client device 160.
At a step 338, using a class I client device 160, class II client device 160, or class III client device 160, the user 150 creates a new document 132 using the document editor 112 that is being accessed remotely. Continuing the example, the user 150 creates a new CAD drawing (i.e., .dwg file) using the AutoCAD® application of host computer 110-2 that is being accessed remotely. Method returns to step 320.
At a step 410, using client application 162 of the user's class I client device 160, class II client device 160, or class III client device 160, the user 150 signs into the document sharing service 122 and a standard authentication process is performed that allows the user 150 to access document editors 112 of host computers 110-1 through 110-n and document database 130. The user sign-in process may be as described with reference to step 318 of method 300 of
At a step 412, client-server computing system 100 displays the documents 132 as well as the document editors 112 and document viewers 114 that are available to the authenticated user 150. More specifically, a list of documents 132 in document database 130 and/or documents 132 on class I client devices 160 to which the user 150 has rights and privileges is published by document sharing service 122 and displayed on the user's class I client device 160, class II client device 160, or class III client device 160. These may be documents 132 the user 150 has created as well as documents 132 that other users 150 are sharing. The list of documents 132 may be presented in a hierarchical file structure by which the user 150 can browse files and folders, such as a virtual file structure.
Similarly, a list of document editors 112 and document viewers 114 to which the user 150 has rights and privileges is published by document sharing service 122 and displayed on the user's class I client device 160, class II client device 160, or class III client device 160.
At a step 414, user 150 selects a certain document 132 from the list presented in step 412.
At a decision step 416, the user 150 chooses to open the selected document 132 in a view mode (i.e., read-only mode) or in edit mode (i.e., read/write mode). In some cases, predetermined access rights for the user 150 may automatically dictate view-only rights vs. edit rights to the selected document 132. If the user 150 selects view mode, method 400 proceeds to step 418. However, if the user 150 selects edit mode, then method 400 proceeds to step 426.
At a step 418, document sharing service 122 selects a certain type of document viewer 114 that corresponds to the type of document 132 that the user 150 selected in step 414. Document sharing service 122 is tracking the document viewers 114 that are available to the user 150, both locally on the user's client device 160 and remotely on host computers 110 and class I client devices 160. In one example, if the user 150 desires to view a Microsoft® PowerPoint file, document sharing service 122 selects a PowerPoint viewer application, which is one of the listed document viewers 114.
At a step 420, document sharing service 122 selects the computer on which to start the document viewer 114 selected in step 418. The choice of computers includes host computers 110-1 through 110-n of hosting service 105, any class I client devices 160 to which the user 150 has access rights, and any class II client device 160. Again, the capability that allows class I client devices 160 to be included in the choices for hosting an application is an advantage that hosting service 105 of the disclosure provides over conventional document sharing systems. More specifically, in this step, the computer is selected according to method 500 of
At an optional step 422, if the document 132 selected in step 414 is stored in document database 130 or if the document 132 is not stored on the computer selected in step 420, the document 132 is moved to the computer selected in step 420 and client application 162 or remote access service 116 creates a read-only copy of the selected document 132 on the selected computer. Continuing the example, if the Microsoft® PowerPoint file (e.g., .ppt file) is stored in document database 130 or if the Microsoft® PowerPoint file is not stored on host computer 110-2, the Microsoft® PowerPoint file is moved to host computer 110-2 and remote access service 116 creates a read-only copy of the Microsoft® PowerPoint file on host computer 110-2.
At a step 424, client application 162 or remote access service 116 opens the document 132 selected in step 414 in the document viewer 114 selected in step 418. Continuing the example, remote access service 116 displays the interface of the Microsoft® PowerPoint viewer (or in the full version of Microsoft® PowerPoint) on the user's client device 160 via client application 162, then displays the Microsoft® PowerPoint file (e.g., .ppt file) in read-only mode to the user 150 on the user's client device 160. Method 400 ends.
At a step 426, document sharing service 122 selects a certain type of document editor 112 that corresponds to the type of document 132 that the user 150 selected in step 414. Document sharing service 122 is tracking the document editors 112 that are available to the user 150, both locally on the user's client device 160 and remotely on host computers 110. In one example, if the user 150 desires to edit a Microsoft® PowerPoint file, document sharing service 122 selects a PowerPoint editor application, which is one of the listed document editors 112.
At a step 428, document sharing service 122 selects the computer on which to start the document editor 112 selected in step 426. The choice of computers includes host computers 110-1 through 110-n of hosting service 105, any class I client devices 160 to which the user 150 has access rights, and any class II client device 160. Again, the capability that allows class I client devices 160 to be included in the choices for hosting an application is an advantage that hosting service 105 of the disclosure provides over conventional document sharing systems. More specifically, in this step, the computer is selected according to method 500 of
At an optional step 430, if the document 132 selected in step 414 is stored in document database 130 or on a computer other than the computer selected in step 428, the document 132 is moved to the computer selected in step 428 and client application 162 or remote access service 116 creates a read/write copy of the selected document 132 on the selected computer. Continuing the example, if the Microsoft® PowerPoint file (e.g., .ppt file) is stored in document database 130 or stored on a computer other than host computer 110-2, client-server computing system 100 moves the Microsoft® PowerPoint file to host computer 110-2 and remote access service 116 creates a read/write copy of the Microsoft® PowerPoint file on host computer 110-2.
At a step 432, client application 162 or remote access service 116 opens the document 132 selected in step 414 in the document editor 112 selected in step 426. Continuing the example, remote access service 116 opens the Microsoft® PowerPoint file (e.g., .ppt file) in the PowerPoint editor application and displays the file to the user 150 on the user's client device 160.
At a step 434, using a class I client device 160, class II client device 160, or class III client device 160, the user 150 edits the document 132 selected in step 414. The user 150 then saves the document 132 on the computer selected in step 428. Continuing the example, the user 150 edits the Microsoft® PowerPoint file using the PowerPoint editor application of host computer 110-2 that is being accessed remotely. The user 150 then saves the Microsoft® PowerPoint file (e.g., .ppt file) on host computer 110-2.
At a step 436, document 132 is saved to its original location. Client-server computing system 100 may overwrite the original document, retain the original document or save only the differences from the original document. If the computer selected in step 428 is a class I client device 160 or class II client device 160 and the document was obtained from the document database 130, remote access service 116 or client application 162 transmits the document 132 to document sharing service 122. Then, document sharing service 122 saves document 132 (e.g., the PowerPoint file or .ppt file) from the class I client device 160 or class II client device 160 to document database 130. However, if the computer selected in step 428 is a host computer 110 (e.g., host computer 110-2), remote access service 116 of the host computer 110 automatically transmits document 132 (e.g., the PowerPoint file) from the host computer 110 to document sharing service 122, which then saves document 132 in document database 130.
At a step 438, document sharing service 122 saves the metadata of the document 132 in document database 130. Continuing the example, document sharing service 122 saves the metadata associated with PowerPoint file (e.g., .ppt file) in document database 130. The metadata may include, for example, the username of the user 150 who edited the document 132, a timestamp, a record of the original source document 132, document version information, any other relevant information, and the like. Method 400 ends.
At a step 510, document sharing service 122 determines the type of document editor 112 or document viewer 114 needed for the type of document 132 to be processed. For example, if the document 132 to be processed is a Microsoft® Word document (i.e., a .doc file), document sharing service 122 determines the type of document editor 112 to be the Microsoft® Word application.
At a decision step 512, document sharing service 122 determines whether the document 132 of interest (e.g., the Microsoft® Word document) is stored on any class I client device 160 to which the user 150 has access rights. If the document 132 of interest is stored on a class I client device 160, method 500 proceeds to step 520. However, if the document 132 of interest is not stored on a class I client device 160, method 500 proceeds to step 514.
At a decision step 514, client application 162 of the client device 160 from which the request originates determines whether the document editor 112 or document viewer 114 determined in step 510 is installed on the request-originating client device 160. Continuing the example, client application 162 determines whether the Microsoft® Word application is installed on the request-originating client device 160. If yes, method 500 proceeds to step 516. However, if no, then method 500 proceeds to step 518.
At a step 516, document sharing service 122 selects the request-originating client device 160, which may be a class I client device 160, class II client device 160, or class III client device 160. Method 500 ends.
At a decision step 518, document sharing service 122 determines whether a class I client device 160 is available to the user 150 that has the document editor 112 or document viewer 114 determined in step 510 installed thereon. The class I client device 160 may be the user 150's own client device or another user 150's class I client device 160 to which the requesting user has access. If a class I client device 160 is available to the user 150, method 500 proceeds to step 520. However, if no class I client device 160 is available to the user 150, then method 500 proceeds to step 522.
At a step 520, document sharing service 122 selects the class I client device 160. Method 500 ends.
At a step 522, document sharing service 122 selects one of the host computers 110 of hosting service 105. For example, if the user 150 has a session already running on a certain host computer 110, that particular host computer 110 may be selected. However, if the user 150 does not already have a session running on any host computer 110, a load-balancing algorithm may be used to select a particular host computer 110 that has the lightest load. Method 500 ends.
At a step 610, document sharing service 122 selects a certain host computer 110 or a certain class I client device 160 in client-server computing system 100 that has the document editor 112 or document viewer 114 that is needed to process a certain type of document 132 (i.e., to process a certain file type).
At an optional step 612, if the document 132 is stored in the document database 130 or on a computer other than the computer selected at step 610, document sharing service 122 moves the document 132 to the host computer 110 or class I client device 160 selected at step 610.
At a step 614, document sharing service 122 “remotes” the user interface for the document editor 112 or document viewer 114 to the user's client device 160.
At step 710, using any class I client device 160, class II client device 160, or class III client device 160, the user 150 determines whether the desired document editor 112 exists on his/her client device 160. In one example, if the user 150 desires to create a CAD drawing (i.e., a .dwg file) the user 150 determines whether an AutoCAD® application exists on his/her client device 160.
At a decision step 712, if the user 150 determines that the desired document editor 112 (e.g., the AutoCAD® application) exists on his/her client device 160, method 700 proceeds to step 714. However, if the user 150 determines that the desired document editor 112 (e.g., the AutoCAD® application) does not exist on his/her client device 160, then method 700 proceeds to step 724.
At a step 714, the user 150 starts the desired document editor 112 on his/her client device 160 and the interface of the particular type of document editor 112 is displayed on the client device 160. Continuing the example, the user 150 starts the AutoCAD® application on his/her client device 160 and the interface of the AutoCAD® application is displayed on the client device 160.
At a step 716, using a class I client device 160, class II client device 160, or class III client device 160, the user 150 creates a new document 132 using the document editor 112 that is on his/her client device 160. The user 150 then saves the document 132 on his/her client device 160. Continuing the example, the user 150 creates a new CAD drawing (i.e., .dwg file) using the AutoCAD® application that is on his/her client device 160. The user 150 then saves the CAD drawing on his/her client device 160.
At a step 718, using client application 162 of the user's class I client device 160, class II client device 160, or class III client device 160, the user 150 signs into the document sharing service 122 and a standard authentication process is performed that allows the user 150 to access document editors 112 of host computers 110-1 through 110-n and document database 130. The user sign-in process may be as described with reference to step 318 of method 300 of
At step 720, user 150 selects the storage location for document 132. This selection is either made via client application 162 or via document editor 112's file dialog, in which the dialog displays the computer's local file system, network shares, and, optionally, a mapped drive or directory that provides access to document database 130 via document sharing service 122 and client application 162. In one example, user 150 chooses to store the document 132 (e.g., the CAD drawing) on document database 130. In another example, user 150 chooses to store the document 132 (e.g., the CAD drawing) locally on his/her client device 160. The capability that allows a user 150 to store documents 132 locally on his/her client device 160 and then share these documents with other users 150 is an advantage that hosting service 105 of the disclosure provides over conventional document sharing systems.
At a step 722, based on the user's selection at step 720, the document 132 is either uploaded to document database 130 or stored locally on the user 150's client device 160. For example, if at step 720 user 150 selects document database 130, client application 162 initiates the document upload process and document sharing service 122 uploads the document 132 (e.g., the CAD drawing) to document database 130 and the document 132 is now available for sharing. Alternatively, if at step 720 the user 150 chooses to store the document 132 (e.g., the CAD drawing) locally on his/her client device 160, document editor 112 saves the document to the selected location. From this step, method 700 may end or proceed to optional step 724.
At an optional step 724, the user 150 grants other users 150 access to the document 132 (e.g., the CAD drawing) that is stored in document database 130 or stored locally on his/her client device 160. Namely, using his/her client device 160, the user 150 enters the access control entries for the document 132. Method 700 ends.
At a step 726, using client application 162 of the user's class I client device 160, class II client device 160, or class III client device 160, the user 150 signs into the document sharing service 122. The user sign-in process may be as described with reference to step 318 of method 300 of
At a step 728, the document editors 112 and document viewers 114 that are available to the authenticated user 150 are displayed on the user's client device 160. More specifically, a list of document editors 112 and document viewers 114 to which the user 150 has rights and privileges is displayed on the user's class I client device 160, class II client device 160, or class III client device 160.
At a step 730, using client application 162 of the user's class I client device 160, class II client device 160, or class III client device 160, the user 150 selects and starts a certain type of document editor 112 that corresponds to the type of document the user 150 wishes to create. Continuing the example, if the user 150 desires to create a CAD drawing (i.e., a .dwg file) the user 150 may select and start an AutoCAD® application, which is one of the listed document editors 112.
At a step 732, the interface of the document editor 112 selected in step 730 is displayed on the user's client device 160. Continuing the example, the AutoCAD® application is displayed on the user's class I client device 160, class II client device 160, or class III client device 160.
At a step 734, using a class I client device 160, class II client device 160, or class III client device 160, the user 150 creates a new document 132 using the document editor 112 that is being accessed remotely. Continuing the example, the user 150 creates a new CAD drawing (i.e., .dwg file) using the AutoCAD® application. Method 700 proceeds to step 720.
At a step 810, using client application 162 of the user's class I client device 160, class II client device 160, or class III client device 160, the user 150 signs into the document sharing service 122. The user sign-in process may be as described with reference to step 318 of method 300 of
At a step 812, documents 132, document editors 112, and document viewers 114 that are available to the authenticated user 150 are display on his/her client device 160. More specifically, a list of documents 132 in document database 130 and/or documents 132 on class I client devices 160 to which the user 150 has rights and privileges is displayed on the user's class I client device 160, class II client device 160, or class III client device 160. Similarly, a list of document editors 112 and document viewers 114 to which the user 150 has rights and privileges is displayed on the user's class I client device 160, class II client device 160, or class III client device 160.
At a step 814, using his/her client device 160, the user 150 selects a certain document 132 from the list presented in step 812.
At a decision step 816, using his/her client device 160, the user 150 chooses to open the selected document 132 in a view mode (i.e., read-only mode) or in edit mode (i.e., read/write mode). If the user 150 selects view mode, method 800 proceeds to step 818. However, if the user 150 selects edit mode, then method 800 proceeds to step 820.
At a step 818, the document 132 selected in step 814 is opened in the document viewer 114 that corresponds to the file format of the document 132. Continuing the example, the Microsoft® PowerPoint file (e.g., .ppt file) is displayed on the user's client device 160 in read-only mode in the Microsoft® PowerPoint viewer interface. Method 400 ends.
At a step 820, the document 132 selected in step 814 is opened in the document editor 112 that corresponds to the file format of the document 132. Continuing the example, the Microsoft® PowerPoint file (e.g., .ppt file) is displayed on the user's client device 160 in edit mode in the Microsoft® PowerPoint interface.
At a step 822, using a class I client device 160, class II client device 160, or class III client device 160, the user 150 edits the document 132 selected in step 814. The user 150 then saves the document 132. Continuing the example, the user 150 edits the Microsoft® PowerPoint file using the PowerPoint editor application that is being accessed remotely. The user 150 then saves the Microsoft® PowerPoint file (e.g., .ppt file).
At a step 910, a service provider (not shown) implements document sharing service 122 of hosting service 105 that supports three types of client devices at various user price points. For example, because of the three different classes of client devices 160 (e.g., class I client devices 160, class II client devices 160, and class III client devices 160), three different levels of service with different price points may be offered to users 150 of hosting service 105 of client-server computing system 100. For example, hosting service 105 of the disclosure provides:
At a step 912, the service provider offers users 150 a subscription to document sharing service 122. The three levels of service described in step 910 may be offered at three different price points because each level of service is more expensive to provide. Namely, the more data that is routed through document sharing service 122, the higher the cost. For example, a subscription to the lowest service level may be offered to users 150 at a price of $10 per month, a subscription to the medium service level may be offered to users 150 at a price of $20 per month, and a subscription to the highest service level may be offered to users 150 at a price of $30 per month,
At a step 914, a user 150 accepts a subscription to document sharing service 120 and then selects a certain level of service at a corresponding subscription price.
At a decision step 916, if the user 150 selects the lowest service level of document sharing service 122, business method 900 proceeds to step 918. However, if the user 150 does not select the lowest level of document sharing service 122, business method 900 proceeds to step 920.
At a step 918, the service provider collects payment from the user 150 for the lowest service level (e.g., $10 per month) and provides the lowest service level of document sharing service 1222, which supports class II client devices 160 only.
At a decision step 920, if the user 150 selects the medium service level of document sharing service 122, business method 900 proceeds to step 922. However, if the user 150 does not select the medium level of document sharing service 122, business method 900 proceeds to step 924.
At a step 922, the service provider collects payment from the user 150 for the medium service level (e.g., $20 per month) and provides the medium service level of document sharing service 122, which supports class I client devices 160, class II client devices 160, and class III client devices 160 and that also allows the user 150 to host his/her own document editor/viewer applications.
At a step 924, the user 150 selects the highest service level of document sharing service 122. Therefore, the service provider collects payment from the user 150 for the highest service level (e.g., $30 per month) and provides the highest service level of document sharing service 122, which supports class I client devices 160, class II client devices 160, and class III client devices 160 and that (1) allows the user to host his/her own document editor/viewer applications and (2) allows the user to access host computers
Referring now to
Once the user 150 signs out of document sharing service 122 or the user's session times out, document sharing service 122 of document server 120 may delete the user 150's host sessions on all host computers 110. Alternatively, the user 150's host sessions may remain running so that the user 150 can reconnect to them at a later time.
Various embodiments of the present invention allow for the method disclosed herein to be performed by an intermediary device (e.g., a cloud server), which may be associated with the host computer or reside elsewhere in the network (e.g., in the cloud). For example, a host computer of this disclosure may receive a request from a requesting client device, forward to a cloud server device, receive responsive data and forward to the client device, or visa-versa.
Number | Name | Date | Kind |
---|---|---|---|
5831609 | London et al. | Nov 1998 | A |
5898419 | Liu | Apr 1999 | A |
5978834 | Simonoff et al. | Nov 1999 | A |
6288702 | Tachibana | Sep 2001 | B1 |
6393569 | Orenshteyn | May 2002 | B1 |
6710790 | Fagioli | Mar 2004 | B1 |
7051288 | Bennett et al. | May 2006 | B2 |
7058461 | Malizia | Jun 2006 | B2 |
7188181 | Squier et al. | Mar 2007 | B1 |
7216298 | Ballard et al. | May 2007 | B1 |
7222158 | Wexelblat | May 2007 | B2 |
7249175 | Donaldson | Jul 2007 | B1 |
7353252 | Yang et al. | Apr 2008 | B1 |
7461134 | Ambrose | Dec 2008 | B2 |
7526792 | Ross | Apr 2009 | B2 |
7587459 | Wewalaarachchi et al. | Sep 2009 | B2 |
7647411 | Schiavone et al. | Jan 2010 | B1 |
7716302 | Maze et al. | May 2010 | B2 |
7739693 | Bernhard et al. | Jun 2010 | B2 |
7920528 | Karaoguz et al. | Apr 2011 | B2 |
8073855 | Nagoya | Dec 2011 | B2 |
8219807 | Danoyan et al. | Jul 2012 | B1 |
8281410 | Sobel et al. | Oct 2012 | B1 |
8427445 | Kennedy | Apr 2013 | B2 |
8438473 | Mak et al. | May 2013 | B2 |
8527978 | Sallam | Sep 2013 | B1 |
8688734 | Tidd | Apr 2014 | B1 |
8694507 | Meyerzon et al. | Apr 2014 | B2 |
8713658 | Tidd | Apr 2014 | B1 |
8738814 | Cronin | May 2014 | B1 |
8739074 | Kinoshita | May 2014 | B2 |
8745505 | Tam | Jun 2014 | B2 |
8769011 | Baird et al. | Jul 2014 | B2 |
8799777 | Lee | Aug 2014 | B1 |
8856907 | Tidd | Oct 2014 | B1 |
8863232 | Tidd | Oct 2014 | B1 |
8887132 | Hunter | Nov 2014 | B1 |
8950007 | Teal et al. | Feb 2015 | B1 |
8954887 | Tseng | Feb 2015 | B1 |
9165160 | Tidd | Oct 2015 | B1 |
9203791 | Olomskiy | Dec 2015 | B1 |
9239812 | Berlin | Jan 2016 | B1 |
20010023438 | Ishida | Sep 2001 | A1 |
20020091697 | Huang et al. | Jul 2002 | A1 |
20020130900 | Davis | Sep 2002 | A1 |
20020158921 | Silverstein | Oct 2002 | A1 |
20030058277 | Bowman-Amuah | Mar 2003 | A1 |
20030084112 | Curray et al. | May 2003 | A1 |
20030163448 | Kilemba et al. | Aug 2003 | A1 |
20040080771 | Mihira et al. | Apr 2004 | A1 |
20040163046 | Chu et al. | Aug 2004 | A1 |
20040190049 | Itoh | Sep 2004 | A1 |
20050044483 | Maze et al. | Feb 2005 | A1 |
20050093868 | Hinckley | May 2005 | A1 |
20050102636 | McKeon et al. | May 2005 | A1 |
20050114760 | Arregui et al. | May 2005 | A1 |
20050138569 | Baxter et al. | Jun 2005 | A1 |
20050149857 | Negishi et al. | Jul 2005 | A1 |
20050177730 | Davenport et al. | Aug 2005 | A1 |
20050198299 | Beck et al. | Sep 2005 | A1 |
20050210418 | Marvit et al. | Sep 2005 | A1 |
20050226192 | Red et al. | Oct 2005 | A1 |
20060039012 | Ferlitsch | Feb 2006 | A1 |
20060047780 | Patnude | Mar 2006 | A1 |
20060059253 | Goodman et al. | Mar 2006 | A1 |
20060075224 | Tao | Apr 2006 | A1 |
20060150256 | Fanton et al. | Jul 2006 | A1 |
20060161846 | Van Leeuwen | Jul 2006 | A1 |
20060250578 | Pohl et al. | Nov 2006 | A1 |
20060253558 | Acree et al. | Nov 2006 | A1 |
20070061264 | Yeung et al. | Mar 2007 | A1 |
20070078994 | Wilson et al. | Apr 2007 | A1 |
20070101297 | Forstall et al. | May 2007 | A1 |
20070113187 | McMullen et al. | May 2007 | A1 |
20070121584 | Qiu et al. | May 2007 | A1 |
20070174410 | Croft et al. | Jul 2007 | A1 |
20070198950 | Dodge | Aug 2007 | A1 |
20070280459 | Yee et al. | Dec 2007 | A1 |
20070283446 | Yami et al. | Dec 2007 | A1 |
20080016504 | Cheng et al. | Jan 2008 | A1 |
20080071860 | Dal Canto et al. | Mar 2008 | A1 |
20080091550 | Zacarias et al. | Apr 2008 | A1 |
20080137131 | Cavill et al. | Jun 2008 | A1 |
20080167005 | Gilzean et al. | Jul 2008 | A1 |
20080209537 | Wong et al. | Aug 2008 | A1 |
20080270516 | Ragnet et al. | Oct 2008 | A1 |
20090013045 | Maes et al. | Jan 2009 | A1 |
20090013273 | Fuchs | Jan 2009 | A1 |
20090021387 | Hosono | Jan 2009 | A1 |
20090024626 | Takei | Jan 2009 | A1 |
20090027334 | Foulk et al. | Jan 2009 | A1 |
20090037976 | Teo et al. | Feb 2009 | A1 |
20090070404 | Mazzaferri | Mar 2009 | A1 |
20090083852 | Kuo et al. | Mar 2009 | A1 |
20090132509 | Nagoya | May 2009 | A1 |
20090144362 | Richmond et al. | Jun 2009 | A1 |
20090177791 | Edelstein et al. | Jul 2009 | A1 |
20090180777 | Bernard et al. | Jul 2009 | A1 |
20090182501 | Fyke | Jul 2009 | A1 |
20090187654 | Raja et al. | Jul 2009 | A1 |
20090187857 | Tanaka | Jul 2009 | A1 |
20090204711 | Binyamin | Aug 2009 | A1 |
20090231285 | Duncan | Sep 2009 | A1 |
20090235347 | Syed et al. | Sep 2009 | A1 |
20090245176 | Balasubramanian et al. | Oct 2009 | A1 |
20090300129 | Golub | Dec 2009 | A1 |
20100005142 | Xiao et al. | Jan 2010 | A1 |
20100020025 | Lemort et al. | Jan 2010 | A1 |
20100058431 | McCorkendale et al. | Mar 2010 | A1 |
20100088367 | Brown et al. | Apr 2010 | A1 |
20100138780 | Marano et al. | Jun 2010 | A1 |
20100146504 | Tang et al. | Jun 2010 | A1 |
20100153581 | Nagarajan et al. | Jun 2010 | A1 |
20100162163 | Wang et al. | Jun 2010 | A1 |
20100214302 | Melcher et al. | Aug 2010 | A1 |
20100228963 | Kassab et al. | Sep 2010 | A1 |
20100268762 | Pahlavan et al. | Oct 2010 | A1 |
20100269039 | Pahlavan et al. | Oct 2010 | A1 |
20100269152 | Pahlavan et al. | Oct 2010 | A1 |
20100293499 | Young et al. | Nov 2010 | A1 |
20100295817 | Nicholson et al. | Nov 2010 | A1 |
20100321406 | Iwase | Dec 2010 | A1 |
20100325716 | Hong et al. | Dec 2010 | A1 |
20110010668 | Feldstein | Jan 2011 | A1 |
20110029772 | Fanton et al. | Feb 2011 | A1 |
20110099297 | Hayton | Apr 2011 | A1 |
20110113427 | Dotan | May 2011 | A1 |
20110137974 | Momchilov | Jun 2011 | A1 |
20110138295 | Momchilov et al. | Jun 2011 | A1 |
20110138314 | Mir et al. | Jun 2011 | A1 |
20110141031 | McCullough et al. | Jun 2011 | A1 |
20110145728 | Bishop | Jun 2011 | A1 |
20110154212 | Gharpure et al. | Jun 2011 | A1 |
20110191407 | Fu et al. | Aug 2011 | A1 |
20110197051 | Mullin et al. | Aug 2011 | A1 |
20110209064 | Jorgensen et al. | Aug 2011 | A1 |
20110258271 | Gaquin | Oct 2011 | A1 |
20110264463 | Kincaid | Oct 2011 | A1 |
20110270936 | Guthrie et al. | Nov 2011 | A1 |
20110277027 | Hayton et al. | Nov 2011 | A1 |
20110279829 | Chang et al. | Nov 2011 | A1 |
20110302495 | Pinto et al. | Dec 2011 | A1 |
20110307614 | Bernardi et al. | Dec 2011 | A1 |
20110314093 | Sheu et al. | Dec 2011 | A1 |
20120011472 | Ohkubo | Jan 2012 | A1 |
20120011578 | Hinton et al. | Jan 2012 | A1 |
20120023593 | Puder et al. | Jan 2012 | A1 |
20120030584 | Bian | Feb 2012 | A1 |
20120054671 | Thompson et al. | Mar 2012 | A1 |
20120066607 | Song et al. | Mar 2012 | A1 |
20120066695 | Berezansky et al. | Mar 2012 | A1 |
20120066762 | Todorovic | Mar 2012 | A1 |
20120084713 | Desai et al. | Apr 2012 | A1 |
20120092277 | Momchilov | Apr 2012 | A1 |
20120096389 | Flam et al. | Apr 2012 | A1 |
20120151374 | Liu | Jun 2012 | A1 |
20120159570 | Reierson et al. | Jun 2012 | A1 |
20120173673 | Dietrich et al. | Jul 2012 | A1 |
20120173732 | Sullivan | Jul 2012 | A1 |
20120185527 | Jaudon et al. | Jul 2012 | A1 |
20120185767 | Schlegel | Jul 2012 | A1 |
20120226742 | Momchilov et al. | Sep 2012 | A1 |
20120240054 | Webber | Sep 2012 | A1 |
20120246645 | Iikura et al. | Sep 2012 | A1 |
20120297471 | Smithson | Nov 2012 | A1 |
20120304061 | Hoover | Nov 2012 | A1 |
20120304168 | Raj Seeniraj et al. | Nov 2012 | A1 |
20120311070 | BianRosa et al. | Dec 2012 | A1 |
20120324365 | Momchilov et al. | Dec 2012 | A1 |
20130024779 | Bechtel et al. | Jan 2013 | A1 |
20130024812 | Reeves et al. | Jan 2013 | A1 |
20130060842 | Grossman | Mar 2013 | A1 |
20130097550 | Grossman et al. | Apr 2013 | A1 |
20130110828 | Meyerzon et al. | May 2013 | A1 |
20130132856 | Binyamin et al. | May 2013 | A1 |
20130138810 | Binyamin et al. | May 2013 | A1 |
20130198600 | Lockhart et al. | Aug 2013 | A1 |
20130219338 | VanBlon | Aug 2013 | A1 |
20130254675 | de Andrade et al. | Sep 2013 | A1 |
20130254761 | Reddy et al. | Sep 2013 | A1 |
20130290856 | Beveridge et al. | Oct 2013 | A1 |
20130305344 | Alicherry et al. | Nov 2013 | A1 |
20130311990 | Tang et al. | Nov 2013 | A1 |
20130318582 | McCann et al. | Nov 2013 | A1 |
20130326583 | Freihold et al. | Dec 2013 | A1 |
20140012574 | Pasupalak et al. | Jan 2014 | A1 |
20140026057 | Kimpton et al. | Jan 2014 | A1 |
20140032644 | Saxena et al. | Jan 2014 | A1 |
20140074881 | Meyerzon et al. | Mar 2014 | A1 |
20140143846 | Tidd | May 2014 | A1 |
20140143847 | Tidd | May 2014 | A1 |
20140165176 | Ow | Jun 2014 | A1 |
20140188977 | Song et al. | Jul 2014 | A1 |
20140325054 | Agrawal et al. | Oct 2014 | A1 |
20150074199 | Lv | Mar 2015 | A1 |
Number | Date | Country |
---|---|---|
WO 2010135127 | Nov 2010 | WO |
Entry |
---|
U.S. Appl. No. 13/367,228 Final Office Action dated Jul. 23, 2013. |
U.S. Appl. No. 13/367,228 Office Action dated Jan. 30, 2013. |
U.S. Appl. No. 13/367,239 Office Action dated Jun. 24, 2013. |
U.S. Appl. No. 13/481,742 Office Action dated May 9, 2013. |
U.S. Appl. No. 13/481,752 Office Action dated May 9, 2013. |
U.S. Appl. No. 13/367,239 Final Office Action dated Nov. 14, 2013. |
U.S. Appl. No. 13/481,742 Final Office Action dated Sep. 4, 2013. |
U.S. Appl. No. 13/481,752 Final Office Action dated Sep. 4, 2013. |
U.S. Appl. No. 13/753,474 Office Action dated Nov. 21, 2013. |
U.S. Appl. No. 14/150,680, William Tidd, System for and Method of Providing Single Sign-On (SSO) Capability in an Application Publishing Environment, filed Jan. 8, 2014. |
U.S. Appl. No. 14/150,684, William Tidd, System for and Method of Providing Single Sign-On (SSO) Capability in an Application Publishing Environment, filed Jan. 8, 2014. |
U.S. Appl. No. 14/151,222, William Tidd, System for and Method of Providing Single Sign-On (SSO) Capability in an Application Publishing Environment, filed Jan. 9, 2014. |
U.S. Appl. No. 14/152,303, William Tidd, System for and Method of Providing Single Sign-On (SSO) Capability in an Application Publishing, filed Jan. 10, 2014. |
U.S. Appl. No. 14/152,306, William Tidd, System for and Method of Providing Single Sign-On (SSO) Capability in an Application Publishing Environment, filed Jan. 10, 2014. |
U.S. Appl. No. 13/753,474 Final Office Action mailed Mar. 6, 2014. |
U.S. Appl. No. 13/570,106 Office Action mailed Feb. 27, 2014. |
U.S. Appl. No. 13/570,115 Office Action mailed Feb. 11, 2014. |
U.S. Appl. No. 13/481,743 Office Action mailed Jan. 14, 2015. |
U.S. Appl. No. 13/570,108 Office Action mailed May 13, 2014. |
U.S. Appl. No. 14/332,660 Office Action mailed Mar. 7, 2015. |
U.S. Appl. No. 13/481,745 Office Action mailed Feb. 10, 2015. |
U.S. Appl. No. 13/753,474 Office Action mailed Mar. 27, 2015. |
U.S. Appl. No. 13/570,108 Office Action mailed Apr. 1, 2015. |
U.S. Appl. No. 13/570,110 Office Action mailed Mar. 30, 2015. |
U.S. Appl. No. 13/570,111 Office Action mailed Apr. 1, 2015. |
U.S. Appl. No. 13/570,113 Office Action mailed Apr. 3, 2015. |
U.S. Appl. No. 14/332,660, William Tidd, System for and Methods of Controlling User Access to Applications and/or Programs of a Computer, filed Jul. 16, 2014. |
U.S. Appl. No. 14/176,895, William Tidd, System for and Methods of Controlling User Access and/or Visibility to Directories and Files of a Computer, filed Feb. 10, 2014. |
U.S. Appl. No. 13/481,743, William Tidd, System for and Method of Providing a Document Sharing Service in Combination with Remote Access to Document Applications, filed May 25, 2012. |
U.S. Appl. No. 13/481,745, William Tidd, System for and Method of Providing a Document Sharing Service in Combination with Remote Access to Document Applications, filed May 25, 2012. |
U.S. Appl. No. 13/481,751, John Cronin, System for and Method of Processing User Interface Graphics Between a Client Device and an Application Host Computer, filed May 25, 2012. |
U.S. Appl. No. 14/445,319, William Tidd, System for and Methods of Providing Single Sign-On (SSO) Capability in an Application Publishing and/or Document Sharing Environment, filed Jul. 29, 2014. |
U.S. Appl. No. 13/753,474, Robert W. Currey, System for and Methods of Translating Accelerometer Information to Mouse-Based I/O Commands in a Remote Access Application Publishing Environment, filed Jan. 29, 2013. |
U.S. Appl. No. 13/753,475, Robert W. Currey, System for and Method of Cross-Platform User Notification in an Application Publishing Environment, filed Jan. 29, 2013. |
U.S. Appl. No. 13/753,476, Robert W. Currey, System for and Method of Cross Platform User Notification in an Application Publishing Environment, filed Jan. 29, 2013. |
U.S. Appl. No. 13/753,477, Robert W. Currey, System for and Method of Rendering Remote Applications on a Client Device in an Application Publishing Environment, filed Jan. 29, 2013. |
U.S. Appl. No. 13/753,478, Robert W. Currey, System for and Method of Rendering Remote Applications on a Client Device in an Application Publishing Environment, filed Jan. 29, 2013. |
U.S. Appl. No. 13/753,479, Robert W. Currey, System for and Method of Rendering Remote Applications on a Client Device in an Application Publishing Environment, filed Jan. 29, 2013. |
U.S. Appl. No. 13/570,103, Christoph Berlin, System for and Method of Providing a Universal I/O Command Translation Framework in an Application Publishing Environment, filed Aug. 8, 2012. |
U.S. Appl. No. 13/570,106, Christoph Berlin, System for and Method of Providing a Universal I/O Command Translation Framework in an Application Publishing Environment, filed Aug. 8, 2012. |
U.S. Appl. No. 13/570,108, Christoph Berlin, System for and Method of Providing a Universal I/O Command Translation Framework in an Application Publishing Environment, filed Aug. 8, 2012. |
U.S. Appl. No. 13/570,110, Christoph Berlin, System for and Method of Providing Alternating Desktop Views on a Client Device in an Application Publishing Environment, filed Aug. 8, 2012. |
U.S. Appl. No. 13/570,111, Christoph Berlin, System for and Method of Providing Alternating Desktop Views on a Client Device in an Application Publishing Environment, filed Aug. 8, 2012. |
U.S. Appl. No. 13/570,113, Christoph Berlin, System for and Method of Providing Alternating Desktop Views on a Client Device in a Cloud-Based Application Publishing Environment, filed Aug. 8, 2012. |
U.S. Appl. No. 13/570,115, Christoph Berlin, System for and Method of Providing Alternating Desktop Views on a Client Device in a Cloud-Based Application Publishing Environment, filed Aug. 8, 2012. |
U.S. Appl. No. 13/668,097, William Tidd, System for and Methods of Providing Bidirectional Communication Between a Web Application and an Application Hosted in an Application Publishing Environment, filed Nov. 2, 2012. |
U.S. Appl. No. 13/668,100, William Tidd, Client Computing System in a Client-Server Computing Environment for Providing Bidirectional Communication Between a Web Application and a Hosted Application, filed Nov. 2, 2012. |
U.S. Appl. No. 13/688,105, William Tidd, Server Computing System in a Client-Server Computing Environment for Providing Bidirectional Communication Between a Hosted Application and a Web Application, filed Nov. 2, 2012. |
U.S. Appl. No. 13/753,477 Office Action mailed Jul. 29, 2015. |
U.S. Appl. No. 13/753,478 Office Action mailed Aug. 19, 2015. |
U.S. Appl. No. 13/753,479 Office Action mailed Aug. 12, 2015. |
U.S. Appl. No. 13/668,105 Office Action mailed Jul. 8, 2015. |
U.S. Appl. No. 14/884,571, William Tidd, System for and Methods of Controlling User Access and/or Visibility to Directories and Files of a Computer, filed Oct. 15, 2015. |
U.S. Appl. No. 13/481,751 Final Office Action mailed Sep. 3, 2014. |
U.S. Appl. No. 13/753,474 Final Office Action mailed Oct. 6, 2014. |
U.S. Appl. No. 13/570,106 Final Office Action mailed Sep. 15, 2014. |
U.S. Appl. No. 13/570,108 Office Action mailed Oct. 10, 2014. |
U.S. Appl. No. 13/668,097 Office Action mailed Sep. 12, 2014. |
U.S. Appl. No. 13/668,100 Office Action mailed Sep. 10, 2014. |
U.S. Appl. No. 13/481,751 Office Action dated Dec. 30, 2013. |
Park et al.; “Role-based access control on the web”; ACM transactions on information and system security; vol. 4, No. 1, Feb. 2001. p. 37-71, 35 pages. |
U.S. Appl. No. 13/753,474 Office Action mailed Jun. 11, 2014. |
U.S. Appl. No. 13/570,115 Final Office Action mailed Jun. 30, 2014. |
U.S. Appl. No. 13/481,751 Office Action mailed Sep. 17, 2015. |
U.S. Appl. No. 14/332,660 Final Office Action mailed Nov. 3, 2015. |
U.S. Appl. No. 13/481,743 Office Action mailed Oct. 23, 2015. |
U.S. Appl. No. 13/570,108 Final Office Action mailed Oct. 29, 2015. |
Damien, “How to Switch to Desktop Mode for Your Browser in Honeycomb Tablet [Android].” Oct. 4, 2011, http://www.maketecheasier.com/switch-to-desktop-mode-for-honeycomb-tablet-android/. |
Kessler, How to use Safari's new ‘Reader’, Jun. 9, 2010, http://www.cnet.com/news/how-to-use-safaris-new-reader/. |
Mobotap, “Add-on Digest: Desktop Toggle,” May 16, 2012, http://dolphin.com/add-on-digest-desktop-toggle/. |
Sieber, “5 Must Have Add-Ons for the Dolphin Browser on Your Android Honeycomb Tablet,” Oct. 25, 2011, http://www.makeuseof.com/tag/5-addons-dolphin-browser-android-honeycomb-tablet/. |
Xue, “Windows 8 How to: 1. Switch Between Metro UI and Desktop Mode,” Mar. 7, 2012, http://blogs.msdn.com/b/zxue/archive/2012/03/07win8-howto-1-switch-between-metro-ui-and-desktop.aspx. |
U.S. Appl. No. 14/152,303 Office Action mailed Nov. 13, 2015. |
U.S. Appl. No. 13/481,745 Final Office Action mailed Nov. 19, 2015. |
U.S. Appl. No. 14/445,319 Office Action mailed Dec. 14, 2015. |
U.S. Appl. No. 13/570,103 Final Office Action mailed Dec. 31, 2015. |
U.S. Appl. No. 13/570,110 Final Office Action mailed Dec. 21, 2015. |
U.S. Appl. No. 13/570,111 Final Office Action mailed Dec. 18, 2015. |
U.S. Appl. No. 13/570,113 Final Office Action mailed Dec. 18, 2015. |
U.S. Appl. No. 13/753,475 Office Action mailed Apr. 24, 2015. |
U.S. Appl. No. 13/753,476 Office Action mailed Apr. 22, 2015. |
U.S. Appl. No. 13/570,103 Office Action mailed Apr. 24, 2015. |
U.S. Appl. No. 13/570,115 Office Action mailed Jun. 19, 2015. |
U.S. Appl. No. 13/668,097 Final Office Action mailed Jun. 16, 2015. |
U.S. Appl. No. 13/668,100 Final Office Action mailed Jun. 17, 2015. |
U.S. Appl. No. 14/150,680 Office Action mailed Mar. 29, 2016. |
U.S. Appl. No. 14/150,684 Office Action mailed Apr. 12, 2016. |
U.S. Appl. No. 14/151,222 Office Action mailed Mar. 30, 2016. |
U.S. Appl. No. 14/152,306 Office Action mailed Mar. 30, 2016. |
U.S. Appl. No. 13/753,475 Final Office Action mailed Mar. 3, 2016. |
U.S. Appl. No. 13/753,476 Final Office Action mailed Mar. 2, 2016. |
U.S. Appl. No. 13/753,478 Final Office Action mailed Mar. 29, 2016. |
U.S. Appl. No. 13/753,479 Final Office Action mailed Apr. 18, 2016. |
U.S. Appl. No. 13/668,097 Office Action mailed Feb. 25, 2016. |
U.S. Appl. No. 13/668,100 Office Action mailed Feb. 26, 2016. |