US20140282074A1 - System and method for cooperative sharing of resources of an environment - Google Patents
System and method for cooperative sharing of resources of an environment Download PDFInfo
- Publication number
- US20140282074A1 US20140282074A1 US14/020,858 US201314020858A US2014282074A1 US 20140282074 A1 US20140282074 A1 US 20140282074A1 US 201314020858 A US201314020858 A US 201314020858A US 2014282074 A1 US2014282074 A1 US 2014282074A1
- Authority
- US
- United States
- Prior art keywords
- viewport
- resources
- resource
- environment
- user
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Definitions
- the aspects of the present disclosure relate generally to systems that enable sharing of information between users of computing devices, and in particular to cooperative sharing of resources in a desktop environment, including applications, windows, files and information, among different users.
- Desktop sharing systems do not support multiple parties operating together so that the different parties having access to a shared desktop would be able to bring their own windows to the shared desktop. Also, windows appearing on top of other windows on the shared desktop will disable different parties from working with different windows at the same time if some of the relevant windows are occluded by others. These problems with desktop sharing systems disable multiple user cases where a user, who is currently not sharing his own desktop, would need to share one of his windows to the other parties e.g. because it contains valuable information to the other parties or where the parties would need to be able to collaborate or cooperate using a number of windows or applications. It would be advantageous to have a system where multiple users could share and/or interact with one or more windows or comparable resources, substantially simultaneously in the same desktop.
- Certain desktop sharing and windowing applications will support multiple users simultaneously sharing windows, generally referred to resources herein, that are presented on a desktop, with a fixed, limited size.
- resources generally referred to resources herein
- the resources In order for two or more users to be able to work on different resources on the shared desktop, the resources generally need to occupy different regions of the available desktop space. This generally means that the individual dimensions of the different resources will have to be reduced to less than half of the available screen space to remain fully visible. It would be advantageous if multiple users working on different resources at the same time could do so without needing to limit the size of the resources and if even large numbers of resources could be laid out so that the layout of resources is comfortable for multiple users to work with.
- buttons are customarily positioned substantially in front of their display device, in terms of viewing direction, users will tend to position their active windows approximately in the middle of the screen of the display device (horizontally) so that they do not have to turn their head or body to look at the window(s) they are working with.
- all users share the same view. This means that when two or more users are working on different resources on the shared desktop, it may not be possible or practical for every user to position the resource they are working on in the center region of the screen. It would be advantageous if all users could position the resource they are working on in the center region of the screen.
- the terms “screen”, “display” or “display area” is generally intended to include the area of a display device that can be used to present resources, as is generally described herein.
- Remote desktop systems are frequently used by computing device users to share a desktop between multiple devices.
- these systems suffer from the problem that because different devices are frequently used in different working contexts (e.g. work or home) where different windows will also frequently be used, the stacking order of windows will frequently change whenever the user switches between different devices. This will, generally make transitioning between working contexts more difficult as the user will have to re-establish the working context whenever they switch between devices and working contexts. It would be advantageous to use different devices to access different windows in a single desktop without affecting the layout of windows in the shared desktop.
- Windows usually overlap in desktop sharing systems and the layout or stacking order of windows can change when a window is activated, which can include a window getting focus or moving to the foreground.
- a window also referred to as an active window
- the layout or order of the other windows on the display relative to the active window can change, potentially reducing visibility of window regions that were previously visible.
- the creation of new windows can obstruct another user's view to other windows that they were working on as the new windows that have been created appear on top of other windows.
- a desktop space in which resources do not have to overlap in order to fit in the desktop space, regardless of their sizes, but in which the resources can be arranged in a spatially stable and non-overlapping manner instead.
- Such a desktop space would: be easier for its users to navigate because they will be able to employ their spatial memory more effectively to located specific resources in the desktop space; allow its users to work with windows that cover much of the display area without losing context of work; and support more efficient cooperation between multiple users as users' resources can be arranged so that they will not be occluded by other users' resources.
- windows can be minimized, which hides the window in the taskbar.
- minimizing is a frequent operation performed to hide items not needed anymore or when a user thinks that a window is on the way. This can be problematic in a multi-user context where minimizing a window may have adverse effect on other users who may want to continue working with the window. It would be advantageous to have a system in which windows that a user is working on will not be frequently hidden by activities of another user.
- Certain social systems allow users to promote a resource by, for example “liking” a resource.
- this requires explicit action on part of the user and it may not be possible to monitor interest in an activity on a resource, e.g. visits or the amount of time spent on the resource by users, actively as the resource is accessed or acted upon.
- It would be advantageous for a user to be able to directly observe it when a resource is accessed, visited, spent time on, or acted upon, and to provide an indication of the amount of interest in or activity on a resource, to the user.
- the space is shared actively by the host.
- the host quits, the session is terminated. It would be advantageous to be able to use a server to host a session that does not terminate or to have a distributed session that does not end until all the users have quit.
- the exemplary embodiments overcome one or more of the above or other disadvantages known in the art.
- the computer program product includes computer readable code means, the computer readable code means when executed by a processor device, being configured to provide a desktop environment, the desktop environment being configured to represent the resources on the display of the computing device; provide a first viewport to at least a portion of the desktop environment on the display of the computing device; enable a resource to be added to the desktop environment and be viewed within the first viewport; and enable the resource to be acted upon within the first viewport.
- the method includes providing a desktop environment, the desktop environment being configured to represent the resources on the display of the computing device; providing a first viewport to at least a portion of the desktop environment on the display of the computing device; enabling a resource to be added to the desktop environment and be viewed within the first viewport; and enabling the resource to be acted upon within the first viewport.
- a further aspect of the disclosed embodiments is directed to a display device for displaying and enabling cooperation with resources.
- the display device includes a user interface; and a controller in communication with the user interface, the controller having a memory including programming instructions that when executed by a processor are configured to cause the controller to provide a desktop environment; provide one or more viewports to the desktop environment; enable one or more resources to be added to the desktop environment, the viewport providing a gateway to the resources that enables interaction with the resources through the user interface; and enable selection of a resource within a viewport to bring the selected resource to a forefront of the user interface.
- FIG. 1 illustrates a schematic block diagram of one embodiment of a system incorporating aspects of the present disclosure.
- FIG. 2 illustrates one embodiment of an exemplary arrangement of desktop environments and resources within a desktop environment, in accordance with the aspects of the present disclosure.
- FIG. 3 illustrates a zoomed-in view of the arrangement illustrated in FIG. 2 .
- FIG. 4 illustrates a zoomed-in view of the arrangement illustrated in FIG. 3 .
- FIG. 5 illustrates a schematic block diagram of one embodiment of the present disclosure where different users with individual viewports focus on a portion of a desktop environment presented on another device.
- FIGS. 6-11 illustrates examples of configurations of an exemplary viewport incorporating aspects of the present disclosure.
- FIG. 12 illustrates a network of nested desktop environments in a system incorporating aspects of the present disclosure.
- FIG. 13 illustrates another example of a nested desktop environment in a system incorporating aspects of the present disclosure.
- FIG. 14 illustrates one embodiment of sharing a desktop environment in accordance with the aspects of the present disclosure.
- FIG. 15 illustrates another embodiment of sharing a desktop environment in a system incorporating aspects of the present disclosure.
- FIG. 16 illustrates one embodiment of sharing resources in a system incorporating aspects of the present disclosure.
- FIG. 17 illustrates one embodiment of sharing a viewport in a system incorporating aspects of the present disclosure.
- FIGS. 18A-18F illustrate one embodiment of how two users may cooperate or establish a cooperative desktop environment for sharing resources in a shared desktop environment in a system incorporating aspects of the present disclosure.
- FIG. 19 illustrates one embodiment of an exemplary visual appearance of sub-desktop environments in a system incorporating aspects of the present disclosure.
- FIG. 20 illustrates one embodiment of position indication in a desktop environment in accordance with the aspects of the present disclosure.
- FIG. 21 illustrates one embodiment of proxy creation in a system incorporating aspects of the present disclosure.
- FIG. 22 illustrate an embodiment of resource sharing between users in a system incorporating aspects of the disclosed embodiments.
- FIG. 23 illustrates an exemplary application of the aspects of the present disclosure.
- FIG. 24 illustrates a schematic block diagram of one embodiment of a computing architecture for implementing aspects of the present disclosure.
- FIG. 25 illustrates another exemplary computing architecture for implementing aspects of the present disclosure.
- FIG. 26 illustrates a schematic block diagram of a system in which aspects of the disclosed embodiments can be implemented.
- FIG. 1 one embodiment of a system 100 incorporating aspects of the disclosed embodiments is illustrated.
- the aspects of the present disclosure are generally directed to a multi-user computing environment, where there is a cooperative or collaborative sharing of resources, files and information between and among multiple users. Users are provided with one or more viewports through which they can observe resources in a desktop environment, zoom into and out from specific resources, as well as interact with those resources.
- resources generally refers to any object or item, groups of objects or items, or any combination thereof, which can be placed and arranged on or in a desktop environment.
- sources can include, but are not limited to, application windows, or any visual output or indication of an application that provides the user with some type of user interface (which may or may not be interactive) to that or another application.
- Resources can also include, for example, web documents and resources “Environment” is intended to include a large, theoretically infinite, space according to the desktop metaphor, in which “resources” can be arranged.
- the extent or size of the environment is defined substantially by the size of an area within which the resources in that environment reside.
- an “environment” is the desktop space of a computer, generally referred to herein as the desktop environment.
- the resources can be accessed using different computing devices.
- the aspects of the disclosed embodiments advantageously support effective cooperation around or involving use of resources between users.
- cooperation is generally intended to include any form of related activity by multiple parties e.g. for personal or group benefit, in any context, e.g. private or work.
- FIG. 1 illustrates a block diagram of one embodiment of the system 100 .
- the system 100 includes a desktop environment 300 that is presented on a display or display device 140 .
- a desktop environment 300 is shown in this example, in alternate embodiments, say suitable number of desktop environments 300 can be provided on the display device 140 , including more or less than one.
- the display device 140 in this example can include any suitable display that is coupled to, or part of, a computing device or system 160 .
- the display device 140 will be shown as part of the computing device 160 , the aspects of the disclosed embodiments are not so limited, and the display device 140 can be a separate component from, and is communicatively coupled to, the computing device 160 .
- Examples of such computing devices or systems 160 can include, but are not limited to, a computer, personal computer, mobile communication device, tablet or touch screen device.
- the display device 140 can be referred to as a monitor.
- the computing device 160 can be connected to a network 101 , such as the Internet for example, as well as a server 102 to enable communication and cooperation with other users 110 n, the user 110 n also have a computing device 160 , such as that shown in FIG. 1 .
- the environment 300 includes one or more resources, generally indicated by reference 200 . While for the purposes of the description herein, the same reference number 200 will be used to indicate resources generally, the numbering does not imply that resources 200 are the same resources. Rather, it will be understood that the resources 200 can comprise different and individual resources, commensurate with the definition of resources herein.
- the resource 200 is an application window, although in alternate embodiments, the resource 200 can comprise any suitable resource as is otherwise described herein. Although only one resource 200 is referred to in this example, in alternate embodiments, any suitable number of resources can be provided in the environment 300 . In one embodiment, resources 200 may appear differently through different viewports 180 .
- a web resource 200 such as a web page may appear in a FirefoxTM browser window and within the viewport 180 of another user the same resource 200 may appear inside an OperaTM browser window.
- an application window to a text document could appear differently through viewports of different users so that the different users are able to see and interact with different parts of the text document.
- the desktop environment 300 can include another desktop environment 300 , or desktop sub environment 310 , generally referred to herein as a “sub-environment.” Although, only one other sub-environment 310 is shown in this example, in alternate embodiments, any suitable number of other sub-environments 310 within the desktop environment 300 can be provided. As shown in FIG. 1 , the desktop environment 300 includes a resource 200 . Although the resource 200 in FIG. 1 is shown in the form of an application window, it will be understood that the resource 200 can include any suitable resource, as is otherwise defined herein.
- FIG. 2 illustrates one embodiment of an exemplary arrangement of desktop sub environments 310 and resources 200 within desktop environment 300 , in accordance with the aspects of the present disclosure.
- the sub environments 310 include one or more resources 200 , or groups 202 of resources 200 .
- the resources 200 arranged in desktop environment 300 are configured to be shared between more than one user 110 .
- the aspects of the disclosed embodiments provide a viewport 180 .
- a viewport 180 provides a view to at least a portion of the desktop environment 300 in the example of FIG. 2 .
- the viewport 180 provides a view to the portion of the environment 300 including a number of resources 200 .
- the viewport 180 can be configured to show more or less of the environment 300 .
- the user 110 can navigate the desktop environment 300 by panning, zooming, or otherwise adjusting the region of the environment 300 seen through the viewport 180 .
- the viewport 180 can also be used to zoom into and out from specific resources in the environment 310 .
- the resources 200 within the view of the viewport 180 can also be interacted with, through the viewport 180 .
- the user 110 can zoom in directly on specific resources 200 in the environment 300 by “clicking”, as that term is generally understood, on a specific resource 200 , when the resource is not shown in full scale on the display device 140 .
- clicking on resource 201 in the viewport 180 of FIG. 2 will result in the zoomed-in view shown in FIG. 3 .
- FIG. 4 Clicking on resource 201 in the view shown in FIG. 3 will zoom-in further on resource 201 , as is shown in the view presented in FIG. 4 .
- FIG. 4 a zoomed-in view of the environment 300 illustrated in FIG. 3 is shown, with more focus on resource 201 , meaning that a larger area of the resource 201 is shown compared to other resources 200 .
- the aspects of the disclosed embodiments enable utilizing the viewport 180 to zoom-out of the environment 300 , meaning that more resources 200 will be brought into the focus or field of view of the viewport 180 .
- a scale or zoom adjustment device 103 can be provided to allow sealing the zoom view or magnification feature.
- the adjustment device 103 can be provided inside the viewport 180 as shown in FIG.
- zoom adjustment devices 103 can include for example, but are not limited to, plus and minus size indicators, an up/down scale or size adjustor, or zoom-in, zoom-out buttons, for example.
- Various interactions and user input elements can be used to manipulate the zoom or scale, including for example, touch and user gestures or input devices and methods such as a mouse, keyboard, pen and stylus.
- FIG. 5 illustrates one embodiment where different users 112 , 114 , with different computing devices 162 , 164 have individual viewports 182 , 183 , that can be used to focus on or obtain a view into the desktop environment 300 shown on the display device 141 of another computing device 161 .
- desktop environment 300 includes sub-environments 310 , referenced in this example as sub-environments 311 and 312 , and a resource 230 .
- the viewport 182 is used to focus on, gain a view of, and interact with, resource 230 within the desktop environment 300
- viewport 183 is used to focus on, gain a view of, and interact with resources 236 , 238 within sub-environment 312 .
- a viewport 181 is shown on computing device 161 focusing on resources 232 and 234 of desktop environment 300 .
- the owner or operator of computing device 161 with desktop environment 300 can enable selective sharing of resource 230 and sub-environments 311 , 312 within the desktop environment 300 with the other users 112 , 114 . While only three viewports 181 , 182 , 183 are shown in this example, in alternate embodiments, more or less than three viewports can be provided focusing on different desktop environments and resources of the desktop environment 300 .
- user 112 is associated with computing device 162 , which is coupled to a display device 144 with display area 150 .
- User 114 is associated with computing device 164 , which in this example is a single system with two display devices 146 , 148 , such as a dual monitor display setup, with respective display areas 151 , 152 .
- Viewport 182 is provided on display device 144 of computing device 162
- viewport 183 is provided on, or is spread across, one or both of display devices 146 , 148 of computing device 164 .
- each of the display devices 146 , 148 could be provided with its own viewport 180 .
- FIGS. 6-10 illustrate examples of configurations of an exemplary viewport 180 .
- the viewport 180 is coextensive with, covers or encompasses a substantial entirety of the screen or display area 150 of the display device 140 .
- FIG. 7 only a portion of the display area 150 of display device 140 is encompassed by the viewport 180 .
- the display device 140 has multiple, but separate, viewports 185 , 186 across the display area 150 .
- the viewport 180 spans across at least a portion of both monitors or display areas 150 , 151 of the display device 140 .
- FIG. 10 illustrates an exemplary configuration of multiple viewports 180 , shown in this example as viewports 181 - 184 across multiple display devices 140 , shown in this example as display devices 141 , 142 .
- the display devices 142 , 144 could be coupled to a single computing device 160 , or multiple computing devices 160 .
- each display device 141 , 142 is illustrated in FIG. 10 as having two viewports 180 , in alternate embodiments, each display device 141 , 142 could include any suitable number of viewports 180 , including more or less than two, encompassing any suitable portion of a display device 140 .
- the viewports 181 - 184 are shown in a substantially side-by-side arrangement, each encompassing approximately the same amount of area on the respective display device 141 , 142 .
- the viewports 181 - 184 can be arranged in any suitable manner including partially or completely overlapping on the respective display device 141 , 142 , or encompassing a different area.
- a single viewport 180 may be used to focus on a part of, or the entirety of the display area 150 of the display device 140 .
- the orientation of the viewport 180 may also be freely transformed in the display area 143 of the display device 140 .
- a display device 140 has viewports 180 , referenced as viewports 181 , 182 within the display area 150 .
- Viewport 181 provides a view or focus to resources 200 , referenced as resources 201 , 202
- viewport 182 provides a view or focus to another resource 200 , referenced as resource 203 .
- user 112 controls viewport 181
- user 114 controls viewport 181 .
- the viewports 181 , 182 can be transformed or positioned in the display area 150 so that they are visually oriented towards the respective user 112 , 114
- the single display device 140 is being shared by multiple users 112 , 114 , each having their own viewport 280 , 281 to the shared desktop environment 330 .
- this embodiment would allow co-located users 112 , 114 to work together on an interactive table or whiteboard, while the users 112 , 114 have their own viewport to the content or resources. This can allow them to work on their own or shared resources and maintain their own workflow.
- FIG. 12 illustrates an embodiment where a network of sub or nested environments 310 can be formed.
- user 112 has a desktop environment 310 nested within desktop environment 301
- user 114 may have the same desktop environment 310 nested in their own desktop environment 302 .
- desktop environment 310 is the shared desktop environment.
- Users 112 and 114 can access their respective desktop environments 301 , 302 but do not have access to other desktop environments beside the shared desktop environment 310 .
- Resources 201 and 202 are the shared resources 200 .
- Resources 203 , 204 and 205 are not shared.
- the nested desktop environment is the shared desktop environment 310 that is accessed by different users 112 , 114 from different desktop environments 301 , 302 .
- a resource 200 can include a hidden resource, or one that is not intended to be shared with other parties, even though the underlying application is being shared.
- some electronic mail or messaging applications will include pop-up notifications of an incoming email or message. In some circumstances, it may not be desirable to share such notification with other users, even though the underlying messaging applications is the subject of the shared desktop environment 300 .
- the aspects of the disclosed embodiments can characterize such notifications as hidden resources, which are then not shared with other users without explicit permissions.
- a hidden resource such as a notification will first appear in a non-shared portion of the user's desktop environment 300 . The user can then determine whether to share the hidden resource, such as by clicking on or moving the hidden resource to the shared portion of the desktop environment 300 .
- FIG. 13 illustrates another embodiment of a nested desktop environment 310 .
- a nested environment 310 may appear pushed down in desktop environment 300 so that the resources 201 , 202 of the nested environment 310 appear smaller in scale when compared to the resource 203 in the desktop environment 300 , which for purposes of this example can be considered the parent desktop environment.
- another nested environment 311 may also appear to be popped up so that resources 204 , 205 of the nested environment 311 appear to be on the same scale as the resource 203 in the desktop environment 300 of this example.
- a user 110 can zoom in on that nested environment 310 to see the resources 201 , 202 in larger scale, leaving behind the desktop environment 300 .
- the aspects of the disclosed embodiments can provide an impression of a pushed down desktop environment and zooming in on the pushed down desktop environment 310 in this example acts as a pathway to that desktop environment 310 .
- FIG. 14 illustrates an example where users 112 , 114 are sharing a desktop environment 300 , but through separate computing devices 160 .
- both user 112 , 114 have access to the same desktop environment 300 .
- User 112 has a view of desktop environment 300 through viewport 181 on display device 141 of computing device 161 and user 114 has a view of desktop environment 300 through viewport 182 on display device 142 of computing device 162 .
- Both users 112 , 114 maintain their own viewport 180 , referenced in this example as viewports 181 , 182 . In this way, each user 112 , 114 can navigate between different parts of the same desktop environment 300 , including other resources 200 and desktop environments 300 , at the same time, but using different computing devices 160 .
- FIG. 15 illustrates an example of sharing a desktop environment 310 from within different desktop environments 300 .
- user 112 is associated with environment 301
- user 114 is associated with desktop environment 302 .
- User 112 views at least a portion of desktop environment 301 through viewport 181 on display device 141 of computing device 161
- user 114 views at least a portion of desktop environment 302 on display device 142 of computing device 162 through viewport 182 .
- users 112 and 114 share access to the shared desktop environment 310 from their respective desktop environments 301 , 302 .
- Both users 112 , 114 can freely position the shared desktop environment 310 , also referred to as a sub-environment, within their own desktop environment 301 , 302 , the desktop environments 301 and 302 also being referred to herein as parent desktop environments. Only the desktop environment 310 is shared. The desktop environments 311 , 312 , 313 , 314 , 315 and resource 201 are not shared.
- FIG. 16 illustrates one example of sharing resources 200 .
- user 112 shares a resource 200 , such as resource 201 or a group 210 of resources, referred to herein as the shared resources, with user 114 .
- Both users 112 , 114 can freely position the shared resources 201 , 210 within their own respective desktop environment 301 , 302 .
- FIG. 17 illustrates one example of sharing a viewport 180 .
- user 112 on computing device 160 , shares his viewport 180 with user 114 on computing device 161 .
- User 114 can position the viewport 180 , including the desktop environments 300 and resources 200 in view therein of user 112 , anywhere within their viewport 181 , as well as with the desktop environments 300 and resources 200 .
- FIGS. 18A-18F illustrate one embodiment of how two users 112 , 114 may cooperate or establish a cooperative environment for sharing of a resource 202 in a shared desktop environment 301 .
- one of the users 112 , 114 referred to in this example as a host, can invite the other user 114 , 112 , referred to in this example as a guest, to collaborate.
- the guest 114 , 112 can request access to a resource 200 , which the host 112 , 114 can accept.
- user 112 selects resources 200 , 201 in desktop environment 301 to share with user 114 .
- context menu 502 is used to designate the selected resources 200 , 201 for sharing.
- the box 533 and desktop environment 301 appears or pops up in the desktop environment 300 of user 114 as shown in FIG. 18D .
- the box 533 illustrates a viewport 180 providing a view to the shared desktop environment 301 .
- the user 114 selects a resource 202 from the desktop environment 302 to add to the shared desktop environment 301 , using the selection indicator 525 .
- the window 202 appears in the shared desktop environment 301 as shown in FIG. 18E .
- Both users 112 , 114 can view, focus on and interact with the resources 200 , 201 , 202 they have in the shared environment 301 , while maintaining autonomy over the non-shared resources and desktop environments in their own desktop environments 300 , 302 .
- a single or individual user could use a system according to the present disclosure to share a single desktop environment 300 between a number of computing devices 160 without affecting the layout of the resources 200 on the shared desktop environment 300 .
- a user could organize resources 201 used at work and resources 202 used at home in a shared desktop environment 300 so that the resources 201 , 202 occupy different regions of the shared desktop environment 300 .
- FIG. 19 illustrates one embodiment of an exemplary visual appearance of a sub-environment 301 and sub-environment 302 within an environment 300 .
- Sub-environments 301 , 302 can be shown in the same scale as the parent environment 300 , or scaled down.
- the sub-environments 301 , 302 can generally follow the shape of the content, for example, or be in the form of a tile, or any other such suitable shape. Environments may also be indicated by visual indicators, such as color or icons and such.
- the sub-environment 301 is in the same scale as the parent environment 300 , and is in a tile shape, while sub-environment 302 is in the form of a silhouette of the content.
- the presence or position of viewports 180 relative to the respective desktop environment 300 and resources 200 can be visualized or indicated on the display device 140 , so that the user of the particular display device 140 , in this example user 116 , can see where in or relative to the desktop environment 300 the viewports of the other users, such as user 112 , 114 , 118 , for example, are relatively positioned.
- the area of the desktop environment 301 visible through the viewport 182 of user 118 is visualized or displayed within the display area 150 of display device 140 , providing user 116 with a sense or indication of what resources user 118 is working on.
- the viewport 181 of user 116 in this example encompasses substantially all of the display area 150 .
- Position indicators 602 , 604 are used to indicate the relative position of the viewport of the users 112 , 114 , with respect to a current position of the viewport 181 of user 116 .
- the position indicators 602 , 604 are in the form of a half circle. In alternate embodiments, any suitable shape, figure, icon, or image can be used as a position indicator.
- a relative proximity or distance of the user 116 to each of the users 112 , 114 can be indicated.
- the size of the half-circle 604 referring to the visible portion, could indicate a distance from the viewport 181 in which it appears to be user 112 . The smaller the half-circle, the further away the viewport of the user 112 , 114 is from the viewport 181 of user 116 .
- the larger size of indicator 604 relative to indicator 602 indicates that the viewport of user 114 is closer to the viewport 181 of user 116 than the viewport of user 112 is to the viewport 181 of user 116 .
- a smaller indicator relative to a larger indicator could be used to indicate closeness (smaller meaning closer).
- the indicators 602 , 604 could also be different depending on whether the respective user 112 , 114 actually sees part of the display area 130 of user 116 .
- the indicator 602 , 604 could change shape to a rectangle when the respective user 112 , 114 has the viewport 181 of user 116 covered.
- the size of the rectangle could also be dependent on how far behind the user is.
- the rectangle could also be drawn to only partly show which parts of the display area 150 the user 112 , 114 sees.
- the aspects of the disclosed embodiments enable a user 110 , such as user 112 , to drag and drop, or copy and paste, a resource 202 from one desktop environment 302 to another desktop environment 301 so that the other user sharing the desktop environment 301 will then be able to access and interact with the resource 202 .
- the user 112 can execute one or more of a copy and paste function, or a drag and drop function, as is generally understood in order to move resource 202 to the shared desktop environment 301 .
- resource 202 to be shared is selected.
- the selection of the resource 202 can take place in any suitable manner, such as for example by using a context menu 502 , dragging and dropping the selected resource 202 using the mouse or other suitable keypad or keyboard function or command, such as ctrl+c/x.
- the indicator 604 of the other user 114 is selected or activated as the target destination for the selected resource 202 by for example, clicking on the indicator 604 .
- a paste function could then be activated to complete the copy and paste action, such as for example a ctrl+v. In this way, a user can move or transmit flies from one user to one or more other users.
- proxies may also be considered resources. Through proxies, one user 112 can view or work on the resource 200 separately at a different location than user 114 . It may also be possible to interact with a proxy 810 and different proxies may illustrate different representations of the original resource 200 . This allows the original resource 200 to remain where it is in the environment 300 , but the one or more proxies 810 of that resource 200 are also shown on the desktop.
- the resource 200 is a window showing a text based document 812 or a text file.
- the proxies 810 may show different parts 822 , 824 of the text file 812 so that different user can edit different paragraphs not visible through the other proxies 814 . This allows a user 112 to work with a resource 200 without affecting the working context of other users 110 . As another benefit, a window that is customarily in a specific position in an environment 300 can remain in that position. A user 112 can create a proxy 810 of the window to work with, and other users 110 will still find the window where they would expect to find it in the environment 300 .
- a proxy 810 may include an indicator 804 to identify that it is a proxy 810 and not the original resource 201 .
- the indicator 804 can comprise any suitable indicator, such as for example a geographical symbol, icon, highlight, image or colored dot. Locating the proxies using the visual indicators 804 will enable one user 112 to determine if another user 114 is working on the proxy 810 , and for example, determine if the proxy 810 can or should be disposed of.
- a visualization or visual indicator 832 can be provided that provides an indication of the origin of the original resource 200 .
- This visualization can be helpful in locating the original resource 200 . For example, looking for relevant information about information in a proxy 810 can involve locating the original resource 200 , which may have related resources in its vicinity assuming relevant resources have been arranged close to each other. This is made easier if there is a visual indicator or visualization of where to find that resource 200 .
- the indicator 832 is in the form of an arrow.
- the indicator 832 can be provided or made visible in the resource 200 , that when clicked-on, will indicate the original resource 200 , such as by pointing an arrow to it.
- the most recently used proxy 810 for each resource 200 can have a different indicator than the other proxies.
- the proxy indicators 832 can also be configured so that they provide an indication of when the proxy 810 was used, such as a strength indication.
- the original resources 201 may not be removable until all proxies 810 have been removed from the desktop environment 300 .
- a proxy 810 enables a user 110 to provide others with access to a resource 200 , even in another desktop environment 301 , and keep track of where the resource 200 is seen and used.
- the user 110 does not have to move the original resource 200 and the indicator 804 of a proxy can help the user 110 keep track of their own resources 200 .
- FIG. 22 illustrates one embodiment of the present disclosure where a first user device 160 and a second user device 161 are configured to share content or resources to and between each other, as well as with a third user device 162 .
- the first user wants to only share content A from the resource 201 and the second user wants to only share content B from the resources 202 .
- a proxy group 931 is formed and presented on the display device 140 of the first user device 160 .
- the first user creates the proxy group 931 (for example by accessing a context menu of an existing environment and selecting a menu option corresponding to the creation of a new environment) and adds a copy of the content A (e.g.
- proxy group 931 a proxy showing only the content part of the resource 201 ) referred to here as A 1 into the proxy group 931 .
- the proxy group 931 including the copy of content A, is shared with the second user device 161 .
- a version of the proxy group 931 is presented on the display device 141 of the second user device 161 as proxy group 931 ′.
- the first user can also share the proxy group 931 with the third user device 162 , shown in FIG. 25 as proxy group 931 ′′.
- the second user adds a copy of content B to the proxy group 931 ′, and the content B is now visible in the proxy groups 931 and 931 ′′.
- the proxy group 931 can be passive or be configured to be edited by designated users.
- the content A 1 can be edited by the user of the first device 160 , the content B 1 by the user of the second device 161 , while the user of the device 162 is not enabled to edit either content A 1 or content B 1 .
- any of the user devices 160 , 161 and 162 that are configured with Read/Write privileges, as those are generally understood to be known, can edit any content within the proxy groups 931 , 931 ′ and 931 ′′.
- the layout of resources 200 in a desktop environment 300 can be specified in an abstract fashion. This can be done by specifying their relations towards each other, such as for example “resource a left of b” or “resources g, h, i, j, k, l, m belonging to the same group where central resource “g” is surrounded by resources “h-l” or resources n, o, p, q, r, s, l with parent-child relationships, parent(n,o), parent(n,p), parent(o,q), parent(o,r), parent(r,a), parent(r,l.) This advantageously allows the resources 200 to be shown to different users in different dimensions.
- users with computing devices 160 that have different characteristics, such as resolution, can share the same resources 200 and the layout of resources 200 , even though they may see the resources 200 differently on their respective display devices 140 .
- the same resources 200 could be presented with different dimensions and arranged differently to different users in absolute coordinates depending upon the resolution of the display device 140 used. Nested environments might be shown minimized on display devices 140 with a small display resolution.
- a taskbar is generally understood as a temporary storage facility for windows that are not currently used. However, this feature does not work well in a desktop that is shared by multiple users because another user might need a window even if one user currently does not.
- Resources 200 that the user is working with or wants to see are generally not allowed to overlap or be minimized. Thus, users working on resources 200 in the same desktop environment 300 will typically be easy to locate, since one resource 200 cannot be in the taskbar or be positioned behind another resource 200 , out of view another user looking at resource 200 will able to be found.
- the aspects of the disclosed embodiments allow different users to share a space for a meeting, with all parties to the meeting being able to have the meeting within the context of their own resources.
- one of the users shares a sub-environment 310 with the other user.
- the other user opens the shared desktop environment 310 in their desktop environment, such as user 114 in desktop environment 301 .
- one user can have the sub-environment 310 minimized or pushed down while the other user has it maximized.
- Both users now have the sub-environment 310 merged into their own respective desktop environments 300 , 301 with their own resources 200 , such as 204 , 204 and 205 , nearby.
- Another user or group of users taking part in the meeting could access the shared sub-environment 310 from the context of their own resources 200 .
- a user 116 could open a web browser and locate a certain resource 205 in the context of their own resources before sharing it with others in the sub-environment 310 where the meeting is taking place.
- users can have multiple nested meetings at the same time in the same environment. For example, a user could start two or more meetings at the same time. Each meeting could have one or more additional nested meetings with other users. A user could have separate meetings going on with different users. The user can move between the two or more meetings.
- the sub-environment 310 can be minimized automatically to save display space e.g. when the user zooms out.
- minimization of desktop environments 310 could be used to provide a confined work area for a group of users. Navigation, for example, could be confined into a sub-environment 310 as long as the user does not zoom out of the sub-environment 310 .
- a nested environment 301 is not intended to be used directly from the parent desktop environment 300 , meaning that for instance clicking within the region of a nested environment 301 will not have an effects in that environment but may instead be interpreted as a command to zoom into that environment 301 .
- the nesting of environments may also support optimization of network bandwidth use and uses of other resources, e.g. because less image data needs to be transmitted over the network when some windows will appear in smaller scale and can be represented using smaller resolution images.
- the small visual representation of resources 200 may not need to be updated frequently, even if visible to the user, assuming that the user is not actively following desktop environment 300 that shows in small scale on the display.
- an indication is provided that informs the user whether a desktop environment 300 is a remote or distributed environment. This will make users aware of whether they are operating in a volatile setting, generally meaning that the user can be aware if a change they are planning to make to a resource 200 , such as a file, can be undone, damaged or lost if the network connection to the remote environment is interrupted. The indication will also allow the user to determine if their actions in the remote or distributed environment may be perceived by others.
- the aspects of the disclosed embodiments can also be used to provide support to different computing devices 160 .
- the different users 112 , 114 are using different computing devices 162 , 164 , where different computing devices 162 , 164 can have a different display resolution or configuration.
- a determination can be made whether to present sub-environments 311 to the environment 300 in either a minimized or maximized view, to match the specific user needs and resources. The determination can be made by the user 114 in this example, or automatically based on characteristics of the computing device 164 , such as for example, display resolution and configuration.
- the computing device 164 comprises a dual-screen or monitor display device, where the shared environment 312 can be presented on or across one or both of the display devices 144 , 145 .
- a sob-environment 303 and its resources 200 can have a different representation that prevents non-public details of the desktop environment 303 from being viewed from outside of the environment or before having granted access.
- desktop environment 303 has a different representation of an icon or image, for example 639 , viewed from the parent desktop environment 300 , indicating that the sub-environment 303 cannot be viewed before having granted access. This can be advantageous in a situation, for example, where a meeting is to be held in a private desktop environment 300 .
- environment 300 and resources 200 can have access rights so that they are not freely accessible to all users 110 - 110 n.
- an indication 639 can be provided that represents to a user, the level of rights and/or privileges that are required to access the specific environment 303 .
- Certain credentials may need to be provided, such as a user name and password, for example.
- Rights and privileges can include for example, but are not limited to, read, write, execute, copy, cut, move, delete, and resize. In alternate embodiments, suitable rights and privileges can be encompassed.
- Providing access rights, and different levels of rights and privileges, can be beneficial in the multi-user desktop environment 300 in order to control what users 110 can do. It may be desirable to ensure that certain users 110 , or user groups, do not view, move or edit resources 200 that should only be seen, managed or edited by some users. It may also be desirable in some eases to specify, for example, that certain resources 200 cannot be moved to another desktop environment 300 that requires different access credentials to avoid accidental disclosures to parties that should not have access to a particular resource or resources 200 .
- a user 112 can dedicate an environment 310 to those resources 201 , 202 that the user 112 is willing to share to another user 114 . This can be advantageous, for example, in remote support situations where the user 112 needs to allow a user 114 , such as for example a technician, to assist them with specific resources 201 , 202 , such as application windows.
- the resources 200 within the desktop environments 300 of the disclosed embodiments generally do not overlap, or substantially obstruct the content of one another.
- the resources 200 , 201 , as well as resource 202 will be arranged so that there is no overlap or substantial obstruction of content.
- a size and position of the viewport 180 can also be rearranged to minimize distraction from the layout change.
- the viewport 180 of user 112 may also move. This will be beneficial to avoid the user 112 being distracted by changes in the position of the resource 201 , or even lose resource 201 entirely out of his/her sight.
- the layout changes can be recorded and saved in memory for future use, such as for example, playback.
- the resource 202 when a resource 202 is moved, such as by dragging, so that it occupies the same area of the environment 301 as another resource 200 , the resource 202 may show primarily on top of any other resources 200 , 201 in the environment 301 . If multiple resources 202 are being moved at the same time, the moved resources 200 , 201 may appear to overlap.
- a desktop environment 300 that is designated to be shared may also be temporarily shown to the user prior to sharing.
- the portion of the environment 300 focused on in the viewport 180 of user 112 is designated to be shared with computing device 161 of user 114 .
- the viewport 180 is moved into the viewport 181 of the other user 114 , in which case the user 114 will automatically receive a question from the system 100 asking whether the user 114 wishes to see the contents of the viewport 180 .
- the question can be presented in the display area 151 of the display device 161 .
- the target user 114 has to accept the resource to be placed in his viewport prior to the resource being placed in his viewport 181 .
- the resource comprises the viewport 180 .
- a resource such as resource 200 shown in FIG. 17 could be selected to be shared. This could be facilitated for example, by the user 114 accepting the invitation.
- users 112 , 114 and 118 on the desktop and the position indicators 602 may be grouped based on the position of the users. For example, users close enough to each other can belong to a group of users. Users working on a specific group of resources in a specific area of an environment 300 , or in a specific environment, could be determined to belong to the same group.
- Grouping may also be used to enable messaging, generally meant to encompass the transmission of text, voice and video of the user, between certain users.
- Users may also be able in form groups explicitly or define explicitly that they do not belong to one or more groups.
- Groups may also have access policies such that user 110 has to be accepted to a group, and may be required to provide log-in credentials. Groups can also have time-dependent membership policies such that group membership may persist for a certain time period even if a group member is not within the group reach, meaning the aura of the group could also be determined by distance, whether indicated visually or not.
- group of users may be indicated to each other so that users can identify who belongs to which group, both in a zoomed in and zoomed out view.
- a group member's indicator may be connected with visual connectors, such as lines of a specific type, weight or color, in zoomed out or zoomed in views. By visualizing the aura of users and groups when zoomed out, connected auras may indicate belonging to the same group or may have auras of the same color.
- a common indicator such as a circle, triangle or other suitable shape, can be used for users in the same group, to indicate group membership, such as for example in a zoomed-in view, where aura may not be displayed in order to avoid visual clutter.
- Groups may also be indicated differently depending upon whether a user belongs to a group.
- the user indicator can be a live video image, while indicators of users who belong to other groups may be icons. If a user belongs to multiple groups, the indicators of members in different groups, such as the live images, may be grouped spatially or by being connected visually, using for example, lines or appearing inside the same shape visualization.
- the desktop environment 300 includes resources 200 .
- resources 200 can be a movie, a news or sports web page, a video or movie and a television news feed.
- Resources 205 and 206 in desktop environment 311 can comprise user indicators, which in this example are video feeds or live images of different users.
- FIG. 23 illustrates an embodiment of the present disclosure where one user, referred to as the manager, can monitor the activity or progress of other users.
- the managing computing device 160 also referred to as the managing screen, includes viewport 180 , which provides a view to the environment 300 .
- the environment 300 in this example is used to monitor the activities of the user computing devices referenced as 161 , 162 , 163 and 164 , also referred to as the observed devices or screens.
- the managing device 160 is configured to access the viewports 181 , 182 , 183 and 184 of the observed devices 161 , 162 , 163 and 164 .
- the resources 201 , 202 , 203 and 204 on the observed computing devices 161 , 162 , 163 and 164 are proxied or mirrored in the viewport 180 of the managing computing device 160 as proxied viewports 1811 ′, 1822 ′, 183 ′ and 184 ′, with proxied resources 201 ′, 202 ′, 203 ′ and 204 ′.
- proxied resources 201 ′, 202 ′, 203 ′ and 204 ′ As changes are made to any of the resources 201 , 202 , 203 and 204 in their respective viewports, these changes will be automatically reflected in the proxied resources 201 ′, 202 ′, 203 ′ and 204 ′, in their respective viewports presented in the managing viewport 180 .
- a computing architecture incorporating aspects of the disclosed embodiments is illustrated.
- user management can be tied to domain/user accounts.
- the information and data pertaining to each environment (here referred to as a group), resource and user is maintained in respective database tables, shown generally as table 910 , 930 , 922 and 930 .
- the different database tables will have relationships to at least one other table.
- a window table 910 will include at least information pertaining to the window identity and on-screen position of the resource 200 .
- the user table 920 will include the user identity information for the user associated with the resource 200 .
- the table or functionality is tied to domain or user account information.
- a group table 930 will include information pertaining to a shared status, such as for example, an owner identification, name and color.
- the window table 910 and the user table 920 will be related with respect to the active user who is currently using the resource 200 .
- an “active user” is the owner of an active window, where a user can only have ownership over one window. Since a given window belongs to a given group, the window table 910 and the group table 930 will be similarly related.
- the user table 920 and the group table 930 will generally have an access rights relationship.
- a user will have to be granted privileges 922 , such as READ, WRITE access, or a combination thereof, for a given group.
- a persistent windows table 940 is used to store information pertaining to windows that are persistent.
- Windows that are persistent are generally ones that open in a predetermined place, for example within the desktop environment 300 , with predetermined content opened.
- the document can be opened in substantially the same position as when it was last open. This can be advantageous when maintaining a group for example, that includes all office application windows.
- FIG. 25 illustrates one embodiment of a computing architecture incorporating aspects of the disclosed embodiments.
- a computing device 160 and a computing device 161 are coupled together by a network 101 , such as the Internet.
- the internet 101 is configured to transfer data to and between the computing devices 160 , 161 using HTTP (over TCP).
- Computing device 160 includes a Real Window or resource 200 that contains information presented by an application running on computing device 160 .
- the information or content can be in the form of a bitmap of the window, and needs to be transferred to computing device 161 .
- the information is encoded, such as with a codec, and the compressed data is transferred via the Internet 101 to the computing device 161 .
- the computing device 160 includes a shadow window or resource 201 that is a real window to the operating system of the computing device 161 , but whose contents are controlled.
- the content data is received from the Internet, decoded and drawn onto the shadow window or resource 201 .
- the input events are transferred to computing device 160 over the Internet 101 .
- the meaning of the input events to the shadow window 201 are interpreted by computing device 160 , as it is computing device 160 that is running the actual application comprising the resource of the real window 200 .
- computing device 161 only has a photo image of the contents of the resource represented by the real window 200 .
- the input data 901 is received by computing device 160 as is passed to the real application window 200 as a simulated user input.
- the application running on the computing device 160 does not distinguish the simulated user input 902 from one that might be received from a user of computing device 160 .
- computing device 160 updates the contents of the resource represented by the real window 200 .
- the updated information referred to as captured content 903 , is encoded and then sent to computing device 161 as bitmap content 904 to update the contents of the resource represented by the shadow window 201 .
- One example use of a system incorporating aspects of the present disclosure can involve members of a team of designers (e.g. of a team of designers in charge of designing a car) who invite other members of the team to connect to an environment.
- a team of designers e.g. of a team of designers in charge of designing a car
- it could be a specific desktop sub-environment of the inviting user that has been created for a joint work session with the other team members.
- An invitation to share content or the desktop environment may be generated for instance by bringing up a context menu of the sub-environment by right clicking inside the sub-environment and then selecting a menu option corresponding to the action of sharing the desktop sub-environment with other users and then selecting from a list (e.g.
- the invited team members may receive a notification in their environments, such as for example an activatable link, that they have been invited to open a shared environment with the team member that sent the invitation.
- the invitation may be presented in a window where a question is presented asking whether the invitation is to be accepted.
- a sub-environment Upon accepting the invitation, a sub-environment will be created in the environment shared by the inviting team member. With the shared sub-environment appearing within their environment, one way that a user could move their own windows or resources to the shared environment would be simply by dragging the resources to the shared environment. In this way, all of the invited or connected users that share the same environment will see the same windows appearing in the shared environment. For instance, the team members could all move their own Computer-Aided Design (CAD) windows to the shared environment so that whilst different members of the team may work on different parts of the larger design, the team members could zoom out to see how work progresses on the other parts of the larger design in the windows of the other team members.
- CAD Computer-Aided Design
- a game development team might use a shared environment so that a graphics designer might work on the graphical design of an item in a game, such as a sword, in a CAD design application window and when ready with the design, move the item directly to an integrated development environment (IDE) window of the programmer in the same team who could then run the game in a new window in the same environment so that both the graphical designer and the programmer could see how the sword looks in game play.
- IDE integrated development environment
- a shared desktop environment 300 could also be used to support working in various control room or mission control situations or other situations where one or more agents may need to monitor or coordinate actions of others that are working with a number of shared resources 200 .
- a large shared display device 140 could be used to show the shared desktop environment 300 in zoomed out mode so that the manager or anyone else could take a look at the shared display device 140 to monitor or coordinate actions of individual workers or groups of workers that could generally be focused on their own display devices 140 showing smaller regions of the shared desktop environment 300 or perhaps just individual resources 200 therein.
- teachers could benefit from having pupils with laptops be present in a shared desktop environment 300 during class so the teacher can monitor that the pupils are not active on extra-curricular activities when they should be focused on the topic of the class.
- Shared environments could also be used for various social purposes. Friends might use a shared environment for collaborative web searching so that different parties are using different web browsers, yet all parties could at any time easily see what the other parties have found or are looking at. Gamers could use a shared environment to hang out with friends playing video games; school girls could use a shared environment to access FACEBOOKTM cooperatively from multiple different windows with their friends or to temporarily share recent photos and videos with their trusted group of friends without making them permanently available elsewhere, e.g.
- FIG. 26 is a block diagram illustrating an exemplary operating environment for performing the disclosed methods.
- This exemplary operating environment is only an example of an operating environment and is not intended to suggest any limitation as to the scope of use or functionality of operating environment architecture. Neither should the operating environment be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment.
- the present methods and systems can be operational with numerous other general purpose or special purpose computing system environments or configurations.
- Examples of well-known computing systems, environments, and/or configurations that can be suitable for use with the systems and methods comprise, but are not limited to, personal computers, server computers, laptop devices, and multiprocessor systems. Additional examples comprise set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments that comprise any of the above systems or devices, and the like.
- the processing of the disclosed methods and systems can be performed by software components.
- the disclosed systems and methods can be described in the general context of computer-executable instructions, such us program modules, being executed by one or more computers or other devices.
- program modules comprise computer code, routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- the disclosed methods can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules can be located in both local and remote computer storage media including memory storage devices.
- the components of the computing device 160 can comprise, but are not limited to, one or more processors or processing units 703 , a system memory 712 , and a system bus 713 that couples various system components including the processor 703 to the system memory 712 .
- the system can utilize parallel computing.
- the system bus 713 represents one or more of several possible types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
- bus architectures can comprise an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, and Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, an Accelerated Graphics Port (AGP) bus, and a Peripheral Component Interconnects (PCI), a PCI-Express bus, a Personal Computer Memory Card Industry Association (PCMCIA), Universal Serial Bus (USB) and the like.
- ISA Industry Standard Architecture
- MCA Micro Channel Architecture
- EISA Enhanced ISA
- VESA Video Electronics Standards Association
- AGP Accelerated Graphics Port
- PCI Peripheral Component Interconnects
- PCI-Express PCI-Express
- PCMCIA Personal Computer Memory Card Industry Association
- USB Universal Serial Bus
- the bus 713 and all buses specified in this description can also be implemented over a wired or wireless network connection and each of the subsystems, including the processor 703 , a mass storage device 704 , an operating system 705 , a network adapter 708 , system memory 712 , an Input/Output Interface 710 , a display adapter 709 , a display device 140 , and a human machine interface 702 , can be contained within one or more remote computing devices or clients 161 , 162 , 162 at physically separate locations, connected through buses of this form, in effect implementing a fully distributed system or distributed architecture.
- the one or more computing devices 160 typically comprise a variety of computer readable media. Exemplary readable media can be any available media that is non-transitory and accessible by the computing device 160 and comprises, for example and not meant to be limiting, both volatile and non-volatile media, removable and non-removable media.
- the system memory 712 comprises computer readable media in the form of volatile memory, such as random access memory (RAM), and/or non-volatile memory, such as read only memory (ROM).
- the system memory 712 typically contains data such as demand control data 707 and/or program modules such as an operating system 705 that is immediately accessible to and/or are presently operated on by the processing unit 703 .
- the system memory 712 contains computer executable codes sections for performing the steps described herein.
- the computing device 160 can also comprise other non-transitory, removable/non-removable, volatile/non-volatile computer storage media.
- FIG. 26 illustrates a mass storage device 704 that can provide non-volatile storage of computer code, computer readable instructions, data structures, program modules, and other data for the computing device 160 .
- a mass storage device 704 can be a hard disk, a removable magnetic disk, a removable optical disk, magnetic cassettes or other magnetic storage devices, flash memory cards, CD-ROM, digital versatile disks (DVD) or other optical storage, random access memories (RAM), read only memories (ROM), electrically erasable programmable read-only memory (EEPROM), and the like.
- any number of program modules can be stored on the mass storage device 704 , including by way of example, an operating system 705 and other software 706 .
- Each of the operating system 705 and software 706 (or some combination thereof) can comprise elements of the programming.
- Data can also be stored on the mass storage device 704 .
- Data can be stored in any of one or more databases known in the art. Examples of such databases comprise, DB2® (IBM Corporation, Armonk, N.Y.), Microsoft® Access, Microsoft® SQL, Server, (Microsoft Corporation, Bellevue, Wash.), Oracle®, (Oracle Corporation, Redwood Shores, Calif.), mySQL, PostgreSQL, and the like.
- the databases can be centralized or distributed across multiple systems.
- the user can enter commands and information into the computing device 160 via an input device (not shown).
- input devices comprise, but are not limited to, a keyboard, pointing device (e.g., a “mouse”), a microphone, a joystick, a scanner, tactile input devices such as gloves, and other body coverings, and the like.
- a human machine interface 702 that is coupled to the system bus 713 , but can be connected by other interface and bus structures, such as a parallel port, game port, an IEEE 1394 Port (also known as a Firewire port), a serial port, or a universal serial bus (USB).
- a display device 140 can also be connected to the system bus 713 via an interface, such as a display adapter 709 . It is contemplated that the computing device 160 can have more than one display adapter 709 and the computing device 160 can have more than one display device 140 .
- a display device 140 can be a monitor, an LCD (Liquid Crystal Display), or a projector.
- other output peripheral devices can comprise components such as speakers (not shown) and a printer (not shown), which can be connected to the computing device 160 via Input/Output interface 710 . Any step and/or result of the methods can be output in any form to an output device. Such output can be any form of visual representation, including but not limited to, textual, graphical, animation, audio, tactile, and the like.
- the computing device 160 can operate in a networked environment using logical connections to one or more remote computing devices or clients 161 - 163 . Although only three remote computing devices 161 - 163 are shown in FIG. 26 , in alternate embodiments, any suitable number of remote computing devices can be implemented, including more or less than three.
- a remote computing device 161 - 163 can be a personal computer, portable computer, a server, a router, a network computer, a vendor's or manufacturer's computing device, a peer device or other common network node, and so on.
- Logical connections between the computing device 160 and a remote computing device or client 161 - 163 can be made via a local area network (LAN) and a general wide area network (WAN).
- LAN local area network
- WAN wide area network
- Such network connections can be through a network adapter 708 .
- a network adapter 708 can be implemented in both wired and wireless environments. Such networking environments are conventional and commonplace in offices, enterprise-wide computer networks, intranets, and other networks 101 such as the Internet.
- the aspects of the disclosed embodiments can be implemented in a peer-to-peer (P2P) computing architecture or system.
- P2P peer-to-peer
- application programs and other executable program components such as the operating system 705 are illustrated herein as discrete blocks, although it is recognized that such programs and components reside at various times in different storage components of the computing device 160 and are executed by the data processor(s) of the computing device 160 .
- An implementation of software including instructions for carrying out the method and processes described herein can be stored on or transmitted across some form of computer readable media. Any of the disclosed methods can be performed by computer readable instructions embodied on computer readable media.
- Computer readable media can be any available media that can be accessed by a computer.
- Computer readable media can comprise “computer storage media” and “communications media.”
- “Computer storage media” comprise volatile and non-volatile, removable and non-removable media implemented in any methods or technology for storage of information such as computer readable instructions, data structures, program modules, or other data.
- Exemplary computer storage media comprises, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.
- embodiments of the present disclosure may be configured as a system, method, or computer program product. Accordingly, embodiments of the present disclosure may be comprised of various means including entirely of hardware, entirely of software, or any combination of software and hardware. Furthermore, embodiments of the present disclosure may take the form of a computer program product on a computer-readable storage medium having computer-readable program instructions (e.g., computer software) embodied in the storage medium. Any suitable non-transitory computer-readable storage medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices.
- Embodiments of the present disclosure have been described above with reference to block diagrams and flowchart illustrations of methods, apparatuses (i.e., systems) and computer program products. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by various means including computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus, such as the one or more processors 703 discussed above with reference to FIG. 26 , to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create a means for implementing the functions specified in the flowchart block or blocks.
- These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus (e.g., one or more processors 703 of FIG. 20 to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the functions specified.
- the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified herein.
- blocks of the block diagrams and illustrations support combinations of means or performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Abstract
Description
- The present application is a U.S. continuation patent application of, and claims priority under 35 U.S.C. 120 to, U.S. patent application Ser. No. 13/842,627, filed Mar. 15, 2013, which patent application is incorporated by reference herein.
- 1. Field
- The aspects of the present disclosure relate generally to systems that enable sharing of information between users of computing devices, and in particular to cooperative sharing of resources in a desktop environment, including applications, windows, files and information, among different users.
- 2. Description of Related Art
- Desktop sharing systems do not support multiple parties operating together so that the different parties having access to a shared desktop would be able to bring their own windows to the shared desktop. Also, windows appearing on top of other windows on the shared desktop will disable different parties from working with different windows at the same time if some of the relevant windows are occluded by others. These problems with desktop sharing systems disable multiple user cases where a user, who is currently not sharing his own desktop, would need to share one of his windows to the other parties e.g. because it contains valuable information to the other parties or where the parties would need to be able to collaborate or cooperate using a number of windows or applications. It would be advantageous to have a system where multiple users could share and/or interact with one or more windows or comparable resources, substantially simultaneously in the same desktop.
- In some desktop sharing systems it is also difficult or even not possible to control and verify which windows on the desktop a guest user is allowed to see. This can be a problem in situations where a user would like to allow or enable a guest user, for example a technical support person, to see some but not all of the windows that are open and/or to verify which windows the guest user will be able to see. It would be advantageous to have a system that makes it possible and efficient to control and visually verify which windows are shared with a guest user.
- Certain desktop sharing and windowing applications will support multiple users simultaneously sharing windows, generally referred to resources herein, that are presented on a desktop, with a fixed, limited size. However, in a workspace with a limited size it is difficult to establish a layout that the multiple users are comfortable working with, which can depend upon, for example visibility, accessibility and relative positioning of the resources on the desktop such that the positioning supports workflow. In order for two or more users to be able to work on different resources on the shared desktop, the resources generally need to occupy different regions of the available desktop space. This generally means that the individual dimensions of the different resources will have to be reduced to less than half of the available screen space to remain fully visible. It would be advantageous if multiple users working on different resources at the same time could do so without needing to limit the size of the resources and if even large numbers of resources could be laid out so that the layout of resources is comfortable for multiple users to work with.
- For instance, in the aforementioned desktop sharing systems, it can also be difficult to maintain a layout where resources such as windows do not overlap, or establish layouts with spatially stable relationships between them. While increasing the size or display resolution of the physical display, or adding multiple monitors, may aim to address this problem, larger or additional monitors are generally not able to compensate for the increasing number of (active) resources, on the desktop. If more windows are continually opened, the amount of open windows will eventually crowd the available display space. As a result, these systems typically allow users to work with only one window at a time, since allowing users to work with more than one window would cause space contention when two or more users try to use different windows that overlap on the desktop. It would be advantageous for multiple users to have access to a shared environment that contains more than one, or a number of resources, without having to negotiate their use of screen real estate.
- Because users are customarily positioned substantially in front of their display device, in terms of viewing direction, users will tend to position their active windows approximately in the middle of the screen of the display device (horizontally) so that they do not have to turn their head or body to look at the window(s) they are working with. However, in the typical desktop sharing system, all users share the same view. This means that when two or more users are working on different resources on the shared desktop, it may not be possible or practical for every user to position the resource they are working on in the center region of the screen. It would be advantageous if all users could position the resource they are working on in the center region of the screen. The terms “screen”, “display” or “display area” is generally intended to include the area of a display device that can be used to present resources, as is generally described herein.
- In a multiple user environment, different users may be working on a shared set of resources, but they may not have a sense of a shared context of work or cooperation with other team members, which can make the coordination of activities difficult. For example, in systems where multiple users are working on a shared set of documents, but where the users work with the documents in the context of their own resources, the users will have minimal, if any, awareness of the working context of the other users. It would be advantageous for a user to be able to quickly see what shared resources other users are and have been using, as well as how those resources are and have been arranged, even when not actively being used by themselves.
- Remote desktop systems are frequently used by computing device users to share a desktop between multiple devices. However, these systems suffer from the problem that because different devices are frequently used in different working contexts (e.g. work or home) where different windows will also frequently be used, the stacking order of windows will frequently change whenever the user switches between different devices. This will, generally make transitioning between working contexts more difficult as the user will have to re-establish the working context whenever they switch between devices and working contexts. It would be advantageous to use different devices to access different windows in a single desktop without affecting the layout of windows in the shared desktop.
- Windows usually overlap in desktop sharing systems and the layout or stacking order of windows can change when a window is activated, which can include a window getting focus or moving to the foreground. Thus, when a window is activated, also referred to as an active window, the layout or order of the other windows on the display relative to the active window, can change, potentially reducing visibility of window regions that were previously visible. Similarly, in desktop sharing systems, the creation of new windows can obstruct another user's view to other windows that they were working on as the new windows that have been created appear on top of other windows. It would be advantageous to have a desktop space in which resources do not have to overlap in order to fit in the desktop space, regardless of their sizes, but in which the resources can be arranged in a spatially stable and non-overlapping manner instead. Such a desktop space would: be easier for its users to navigate because they will be able to employ their spatial memory more effectively to located specific resources in the desktop space; allow its users to work with windows that cover much of the display area without losing context of work; and support more efficient cooperation between multiple users as users' resources can be arranged so that they will not be occluded by other users' resources.
- In many traditional systems such as the MICROSOFT WINDOWS 7™ operating system windows can be minimized, which hides the window in the taskbar. In these systems, minimizing is a frequent operation performed to hide items not needed anymore or when a user thinks that a window is on the way. This can be problematic in a multi-user context where minimizing a window may have adverse effect on other users who may want to continue working with the window. It would be advantageous to have a system in which windows that a user is working on will not be frequently hidden by activities of another user.
- Instant messaging systems, chat rooms and other communication, systems such as the channels on Internet Relay Chat (IRC) or Skype™ are frequently used for cooperation and collaboration. One of the limitations of such systems is that the participating users will generally have their own, individual copies of the resources being worked on. As an example, it is common that participants post links or documents that each participant will have to open separately to access some resource that is to be shared between the participants. It is also possible that the links to documents will scroll in the window with more text entries being introduced in the window so that the user may have to scroll the chat window to locate the address or link that will open the shared resource. This is inconvenient for the sender, who might first have to make some resource (e.g. a snippet of programming code) available online and then separately post the URL to that resource to others in the chat room, and after which may not be able to effectively monitor who actually looks at the resource. this can also be inconvenient for the respondents who have to download or open the document to see what the sender wants them to see. It would be advantageous for different parties to be able to share live resources in a shared space so anyone with access rights in the environment can access and interact with it effortlessly.
- Certain social systems allow users to promote a resource by, for example “liking” a resource. However, this requires explicit action on part of the user and it may not be possible to monitor interest in an activity on a resource, e.g. visits or the amount of time spent on the resource by users, actively as the resource is accessed or acted upon. For instance, it may be difficult for a FACEBOOK™ user to see what shared resources their friends, currently also logged in to FACEBOOK, are viewing or acting upon. It would be advantageous for a user to be able to directly observe it when a resource is accessed, visited, spent time on, or acted upon, and to provide an indication of the amount of interest in or activity on a resource, to the user.
- In a desktop type of sharing solution, the space is shared actively by the host. When the host quits, the session is terminated. It would be advantageous to be able to use a server to host a session that does not terminate or to have a distributed session that does not end until all the users have quit.
- Accordingly, it would be desirable to provide a system that addresses at least some of the problems identified above. As described herein, the exemplary embodiments overcome one or more of the above or other disadvantages known in the art.
- One aspect of the present disclosure relates to a computer program product for providing a graphical user interface for displaying of, and enabling cooperative use of resources on a display of a computing device. In one embodiment, the computer program product includes computer readable code means, the computer readable code means when executed by a processor device, being configured to provide a desktop environment, the desktop environment being configured to represent the resources on the display of the computing device; provide a first viewport to at least a portion of the desktop environment on the display of the computing device; enable a resource to be added to the desktop environment and be viewed within the first viewport; and enable the resource to be acted upon within the first viewport.
- Another aspect of the present disclosure relates to a method for providing a graphical user interface for displaying and enabling cooperation with resources on a display of a computiug device. In one embodiment, the method includes providing a desktop environment, the desktop environment being configured to represent the resources on the display of the computing device; providing a first viewport to at least a portion of the desktop environment on the display of the computing device; enabling a resource to be added to the desktop environment and be viewed within the first viewport; and enabling the resource to be acted upon within the first viewport.
- A further aspect of the disclosed embodiments is directed to a display device for displaying and enabling cooperation with resources. In one embodiment, the display device includes a user interface; and a controller in communication with the user interface, the controller having a memory including programming instructions that when executed by a processor are configured to cause the controller to provide a desktop environment; provide one or more viewports to the desktop environment; enable one or more resources to be added to the desktop environment, the viewport providing a gateway to the resources that enables interaction with the resources through the user interface; and enable selection of a resource within a viewport to bring the selected resource to a forefront of the user interface.
- These and other aspects and advantages of the exemplary embodiments will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. Additional aspects and advantages of the invention will be set forth in the description that follows, and in part will be obvious from the description, or may be learned by practice of the invention. Moreover, the aspects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
- In the drawings:
-
FIG. 1 illustrates a schematic block diagram of one embodiment of a system incorporating aspects of the present disclosure. -
FIG. 2 illustrates one embodiment of an exemplary arrangement of desktop environments and resources within a desktop environment, in accordance with the aspects of the present disclosure. -
FIG. 3 illustrates a zoomed-in view of the arrangement illustrated inFIG. 2 . -
FIG. 4 illustrates a zoomed-in view of the arrangement illustrated inFIG. 3 . -
FIG. 5 illustrates a schematic block diagram of one embodiment of the present disclosure where different users with individual viewports focus on a portion of a desktop environment presented on another device. -
FIGS. 6-11 illustrates examples of configurations of an exemplary viewport incorporating aspects of the present disclosure. -
FIG. 12 illustrates a network of nested desktop environments in a system incorporating aspects of the present disclosure. -
FIG. 13 illustrates another example of a nested desktop environment in a system incorporating aspects of the present disclosure. -
FIG. 14 illustrates one embodiment of sharing a desktop environment in accordance with the aspects of the present disclosure. -
FIG. 15 illustrates another embodiment of sharing a desktop environment in a system incorporating aspects of the present disclosure. -
FIG. 16 illustrates one embodiment of sharing resources in a system incorporating aspects of the present disclosure. -
FIG. 17 illustrates one embodiment of sharing a viewport in a system incorporating aspects of the present disclosure. -
FIGS. 18A-18F illustrate one embodiment of how two users may cooperate or establish a cooperative desktop environment for sharing resources in a shared desktop environment in a system incorporating aspects of the present disclosure. -
FIG. 19 illustrates one embodiment of an exemplary visual appearance of sub-desktop environments in a system incorporating aspects of the present disclosure. -
FIG. 20 illustrates one embodiment of position indication in a desktop environment in accordance with the aspects of the present disclosure. -
FIG. 21 illustrates one embodiment of proxy creation in a system incorporating aspects of the present disclosure. -
FIG. 22 illustrate an embodiment of resource sharing between users in a system incorporating aspects of the disclosed embodiments. -
FIG. 23 illustrates an exemplary application of the aspects of the present disclosure. -
FIG. 24 illustrates a schematic block diagram of one embodiment of a computing architecture for implementing aspects of the present disclosure. -
FIG. 25 illustrates another exemplary computing architecture for implementing aspects of the present disclosure. -
FIG. 26 illustrates a schematic block diagram of a system in which aspects of the disclosed embodiments can be implemented. - Referring now to
FIG. 1 , one embodiment of asystem 100 incorporating aspects of the disclosed embodiments is illustrated. The aspects of the present disclosure are generally directed to a multi-user computing environment, where there is a cooperative or collaborative sharing of resources, files and information between and among multiple users. Users are provided with one or more viewports through which they can observe resources in a desktop environment, zoom into and out from specific resources, as well as interact with those resources. - The term “resource” as is used herein, generally refers to any object or item, groups of objects or items, or any combination thereof, which can be placed and arranged on or in a desktop environment. Examples of “resources” can include, but are not limited to, application windows, or any visual output or indication of an application that provides the user with some type of user interface (which may or may not be interactive) to that or another application. Resources can also include, for example, web documents and resources “Environment” is intended to include a large, theoretically infinite, space according to the desktop metaphor, in which “resources” can be arranged. In one embodiment, the extent or size of the environment is defined substantially by the size of an area within which the resources in that environment reside. One example of an “environment” is the desktop space of a computer, generally referred to herein as the desktop environment.
- In accordance with the aspects of the disclosed embodiments, the resources can be accessed using different computing devices. The aspects of the disclosed embodiments advantageously support effective cooperation around or involving use of resources between users. The terms “cooperation”, “cooperative” and “collaboration” as used herein, are generally intended to include any form of related activity by multiple parties e.g. for personal or group benefit, in any context, e.g. private or work.
-
FIG. 1 illustrates a block diagram of one embodiment of thesystem 100. In this example, thesystem 100 includes adesktop environment 300 that is presented on a display ordisplay device 140. Although only asingle desktop environment 300 is shown in this example, in alternate embodiments, say suitable number ofdesktop environments 300 can be provided on thedisplay device 140, including more or less than one. Thedisplay device 140 in this example can include any suitable display that is coupled to, or part of, a computing device orsystem 160. Although for the purposes of the description herein thedisplay device 140 will be shown as part of thecomputing device 160, the aspects of the disclosed embodiments are not so limited, and thedisplay device 140 can be a separate component from, and is communicatively coupled to, thecomputing device 160. Examples of such computing devices orsystems 160 can include, but are not limited to, a computer, personal computer, mobile communication device, tablet or touch screen device. In this example, thedisplay device 140 can be referred to as a monitor. In one embodiment, thecomputing device 160 can be connected to anetwork 101, such as the Internet for example, as well as aserver 102 to enable communication and cooperation withother users 110 n, theuser 110 n also have acomputing device 160, such as that shown inFIG. 1 . - In the example of
FIG. 1 , theenvironment 300 includes one or more resources, generally indicated byreference 200. While for the purposes of the description herein, thesame reference number 200 will be used to indicate resources generally, the numbering does not imply thatresources 200 are the same resources. Rather, it will be understood that theresources 200 can comprise different and individual resources, commensurate with the definition of resources herein. In this example, theresource 200 is an application window, although in alternate embodiments, theresource 200 can comprise any suitable resource as is otherwise described herein. Although only oneresource 200 is referred to in this example, in alternate embodiments, any suitable number of resources can be provided in theenvironment 300. In one embodiment,resources 200 may appear differently throughdifferent viewports 180. For example, within theviewport 180 of one user aweb resource 200 such as a web page may appear in a Firefox™ browser window and within theviewport 180 of another user thesame resource 200 may appear inside an Opera™ browser window. As another example, an application window to a text document could appear differently through viewports of different users so that the different users are able to see and interact with different parts of the text document. - In one embodiment, the
desktop environment 300 can include anotherdesktop environment 300, ordesktop sub environment 310, generally referred to herein as a “sub-environment.” Although, only oneother sub-environment 310 is shown in this example, in alternate embodiments, any suitable number ofother sub-environments 310 within thedesktop environment 300 can be provided. As shown inFIG. 1 , thedesktop environment 300 includes aresource 200. Although theresource 200 inFIG. 1 is shown in the form of an application window, it will be understood that theresource 200 can include any suitable resource, as is otherwise defined herein. -
FIG. 2 illustrates one embodiment of an exemplary arrangement ofdesktop sub environments 310 andresources 200 withindesktop environment 300, in accordance with the aspects of the present disclosure. In this example, thesub environments 310 include one ormore resources 200, orgroups 202 ofresources 200. - As noted with respect to
FIG. 1 , theresources 200 arranged indesktop environment 300 are configured to be shared between more than oneuser 110. In order to shareresources 200, the aspects of the disclosed embodiments provide aviewport 180. Aviewport 180, as that term is generally used herein, provides a view to at least a portion of thedesktop environment 300 in the example ofFIG. 2 . In the example shown inFIG. 2 , theviewport 180 provides a view to the portion of theenvironment 300 including a number ofresources 200. In alternate embodiments, theviewport 180 can be configured to show more or less of theenvironment 300. - In one embodiment, referring to
FIGS. 2-4 , theuser 110 can navigate thedesktop environment 300 by panning, zooming, or otherwise adjusting the region of theenvironment 300 seen through theviewport 180. Theviewport 180 can also be used to zoom into and out from specific resources in theenvironment 310. Theresources 200 within the view of theviewport 180 can also be interacted with, through theviewport 180. In one embodiment, theuser 110 can zoom in directly onspecific resources 200 in theenvironment 300 by “clicking”, as that term is generally understood, on aspecific resource 200, when the resource is not shown in full scale on thedisplay device 140. For example, referring toFIGS. 2 and 3 , in one embodiment, clicking onresource 201 in theviewport 180 ofFIG. 2 , will result in the zoomed-in view shown inFIG. 3 . - Clicking on
resource 201 in the view shown inFIG. 3 will zoom-in further onresource 201, as is shown in the view presented inFIG. 4 . InFIG. 4 , a zoomed-in view of theenvironment 300 illustrated inFIG. 3 is shown, with more focus onresource 201, meaning that a larger area of theresource 201 is shown compared toother resources 200. Similarly, the aspects of the disclosed embodiments enable utilizing theviewport 180 to zoom-out of theenvironment 300, meaning thatmore resources 200 will be brought into the focus or field of view of theviewport 180. In one embodiment, a scale orzoom adjustment device 103 can be provided to allow sealing the zoom view or magnification feature. Theadjustment device 103 can be provided inside theviewport 180 as shown inFIG. 4 , or theadjustment device 103 can also be external to theviewport 180. Examples of suchzoom adjustment devices 103 are generally known, and can include for example, but are not limited to, plus and minus size indicators, an up/down scale or size adjustor, or zoom-in, zoom-out buttons, for example. Various interactions and user input elements can be used to manipulate the zoom or scale, including for example, touch and user gestures or input devices and methods such as a mouse, keyboard, pen and stylus. -
FIG. 5 illustrates one embodiment wheredifferent users different computing devices individual viewports desktop environment 300 shown on thedisplay device 141 of anothercomputing device 161. As shown in this example,desktop environment 300 includes sub-environments 310, referenced in this example assub-environments resource 230. Theviewport 182 is used to focus on, gain a view of, and interact with,resource 230 within thedesktop environment 300, whileviewport 183 is used to focus on, gain a view of, and interact withresources sub-environment 312. Aviewport 181 is shown oncomputing device 161 focusing onresources desktop environment 300. The owner or operator ofcomputing device 161 withdesktop environment 300 can enable selective sharing ofresource 230 andsub-environments desktop environment 300 with theother users viewports desktop environment 300. - In the example of
FIG. 5 ,user 112 is associated withcomputing device 162, which is coupled to adisplay device 144 withdisplay area 150.User 114 is associated withcomputing device 164, which in this example is a single system with twodisplay devices 146, 148, such as a dual monitor display setup, withrespective display areas Viewport 182 is provided ondisplay device 144 ofcomputing device 162, whileviewport 183 is provided on, or is spread across, one or both ofdisplay devices 146, 148 ofcomputing device 164. In alternate embodiments, each of thedisplay devices 146, 148 could be provided with itsown viewport 180. -
FIGS. 6-10 illustrate examples of configurations of anexemplary viewport 180. InFIG. 6 , theviewport 180 is coextensive with, covers or encompasses a substantial entirety of the screen ordisplay area 150 of thedisplay device 140. InFIG. 7 , only a portion of thedisplay area 150 ofdisplay device 140 is encompassed by theviewport 180. In the example illustrated inFIG. 8 , thedisplay device 140 has multiple, but separate,viewports display area 150. InFIG. 9 , where thedisplay device 140 is a dual monitor, theviewport 180 spans across at least a portion of both monitors ordisplay areas display device 140. -
FIG. 10 illustrates an exemplary configuration ofmultiple viewports 180, shown in this example as viewports 181-184 acrossmultiple display devices 140, shown in this example asdisplay devices display devices single computing device 160, ormultiple computing devices 160. Also, although eachdisplay device FIG. 10 as having twoviewports 180, in alternate embodiments, eachdisplay device viewports 180, including more or less than two, encompassing any suitable portion of adisplay device 140. - In the example of
FIG. 10 , the viewports 181-184 are shown in a substantially side-by-side arrangement, each encompassing approximately the same amount of area on therespective display device respective display device - As shown in the embodiments illustrated in
FIGS. 6-7 , asingle viewport 180 may be used to focus on a part of, or the entirety of thedisplay area 150 of thedisplay device 140. The orientation of theviewport 180 may also be freely transformed in the display area 143 of thedisplay device 140. Referring toFIG. 11 , in one embodiment, adisplay device 140 hasviewports 180, referenced asviewports display area 150.Viewport 181 provides a view or focus toresources 200, referenced asresources viewport 182 provides a view or focus to anotherresource 200, referenced asresource 203. In this example,user 112 controls viewport 181, whileuser 114controls viewport 181. In one embodiment, theviewports display area 150 so that they are visually oriented towards therespective user - In the embodiment illustrated in
FIG. 11 , thesingle display device 140 is being shared bymultiple users co-located users users -
FIG. 12 illustrates an embodiment where a network of sub or nestedenvironments 310 can be formed. As shown inFIG. 12 ,user 112 has adesktop environment 310 nested withindesktop environment 301, whileuser 114 may have thesame desktop environment 310 nested in theirown desktop environment 302. In this example,desktop environment 310 is the shared desktop environment.Users respective desktop environments desktop environment 310.Resources resources 200.Resources desktop environment 310 that is accessed bydifferent users different desktop environments - In one embodiment, a
resource 200 can include a hidden resource, or one that is not intended to be shared with other parties, even though the underlying application is being shared. For example, some electronic mail or messaging applications will include pop-up notifications of an incoming email or message. In some circumstances, it may not be desirable to share such notification with other users, even though the underlying messaging applications is the subject of the shareddesktop environment 300. The aspects of the disclosed embodiments can characterize such notifications as hidden resources, which are then not shared with other users without explicit permissions. For example, in one embodiment, a hidden resource such as a notification will first appear in a non-shared portion of the user'sdesktop environment 300. The user can then determine whether to share the hidden resource, such as by clicking on or moving the hidden resource to the shared portion of thedesktop environment 300. -
FIG. 13 illustrates another embodiment of a nesteddesktop environment 310. As is shown inFIG. 13 , in one embodiment, a nestedenvironment 310 may appear pushed down indesktop environment 300 so that theresources environment 310 appear smaller in scale when compared to theresource 203 in thedesktop environment 300, which for purposes of this example can be considered the parent desktop environment. In one embodiment, another nestedenvironment 311 may also appear to be popped up so thatresources environment 311 appear to be on the same scale as theresource 203 in thedesktop environment 300 of this example. If the nestedenvironment 310 is pushed down, auser 110 can zoom in on that nestedenvironment 310 to see theresources desktop environment 300. In this manner, the aspects of the disclosed embodiments can provide an impression of a pushed down desktop environment and zooming in on the pushed downdesktop environment 310 in this example acts as a pathway to thatdesktop environment 310. -
FIG. 14 illustrates an example whereusers desktop environment 300, but throughseparate computing devices 160. In this example, bothuser same desktop environment 300.User 112 has a view ofdesktop environment 300 throughviewport 181 ondisplay device 141 ofcomputing device 161 anduser 114 has a view ofdesktop environment 300 throughviewport 182 ondisplay device 142 ofcomputing device 162. Bothusers own viewport 180, referenced in this example asviewports user same desktop environment 300, includingother resources 200 anddesktop environments 300, at the same time, but usingdifferent computing devices 160. -
FIG. 15 illustrates an example of sharing adesktop environment 310 from withindifferent desktop environments 300. In this example,user 112 is associated withenvironment 301, whileuser 114 is associated withdesktop environment 302.User 112 views at least a portion ofdesktop environment 301 throughviewport 181 ondisplay device 141 ofcomputing device 161, whileuser 114 views at least a portion ofdesktop environment 302 ondisplay device 142 ofcomputing device 162 throughviewport 182. In this example,users desktop environment 310 from theirrespective desktop environments users desktop environment 310, also referred to as a sub-environment, within theirown desktop environment desktop environments desktop environment 310 is shared. Thedesktop environments resource 201 are not shared. -
FIG. 16 illustrates one example of sharingresources 200. In thisexample user 112 shares aresource 200, such asresource 201 or agroup 210 of resources, referred to herein as the shared resources, withuser 114. Bothusers resources respective desktop environment -
FIG. 17 illustrates one example of sharing aviewport 180. In this example,user 112, oncomputing device 160, shares hisviewport 180 withuser 114 oncomputing device 161.User 114 can position theviewport 180, including thedesktop environments 300 andresources 200 in view therein ofuser 112, anywhere within theirviewport 181, as well as with thedesktop environments 300 andresources 200. -
FIGS. 18A-18F illustrate one embodiment of how twousers resource 202 in a shareddesktop environment 301. In one embodiment, one of theusers other user guest resource 200, which thehost - Referring to
FIG. 18A ,user 112 selectsresources desktop environment 301 to share withuser 114. As is shown inFIG. 18A ,context menu 502 is used to designate the selectedresources desktop environment 301 inFIG. 18C , the box 533 anddesktop environment 301 appears or pops up in thedesktop environment 300 ofuser 114 as shown inFIG. 18D . In one embodiment, the box 533 illustrates aviewport 180 providing a view to the shareddesktop environment 301. InFIG. 18D , theuser 114 selects aresource 202 from thedesktop environment 302 to add to the shareddesktop environment 301, using theselection indicator 525. When theuser 114 adds theresource 202 to the shareddesktop environment 301, thewindow 202 appears in the shareddesktop environment 301 as shown inFIG. 18E . Bothusers resources environment 301, while maintaining autonomy over the non-shared resources and desktop environments in theirown desktop environments - While the aspects of the disclosed embodiments are generally described herein with reference to multiple users, the aspects of the disclosed embodiments can also be beneficial for individual users. For example, a single or individual user could use a system according to the present disclosure to share a
single desktop environment 300 between a number ofcomputing devices 160 without affecting the layout of theresources 200 on the shareddesktop environment 300. For instance, a user could organizeresources 201 used at work andresources 202 used at home in a shareddesktop environment 300 so that theresources desktop environment 300. This would enable the user to access both groups ofresources different devices 160 in different contexts (for example, using a computing device at the workplace or a computing device at home) without altering the layout ofresources -
FIG. 19 illustrates one embodiment of an exemplary visual appearance of a sub-environment 301 and sub-environment 302 within anenvironment 300.Sub-environments parent environment 300, or scaled down. In one embodiment, thesub-environments FIG. 19 , the sub-environment 301 is in the same scale as theparent environment 300, and is in a tile shape, whilesub-environment 302 is in the form of a silhouette of the content. - In one embodiment, referring to
FIG. 20 , the presence or position ofviewports 180 relative to therespective desktop environment 300 andresources 200 can be visualized or indicated on thedisplay device 140, so that the user of theparticular display device 140, in thisexample user 116, can see where in or relative to thedesktop environment 300 the viewports of the other users, such asuser desktop environment 301 visible through theviewport 182 of user 118 is visualized or displayed within thedisplay area 150 ofdisplay device 140, providinguser 116 with a sense or indication of what resources user 118 is working on. Theviewport 181 ofuser 116 in this example encompasses substantially all of thedisplay area 150. The viewports ofusers viewport 182 of user 118.Position indicators users viewport 181 ofuser 116. In this example, theposition indicators - In one embodiment, a relative proximity or distance of the
user 116 to each of theusers circle 604, referring to the visible portion, could indicate a distance from theviewport 181 in which it appears to beuser 112. The smaller the half-circle, the further away the viewport of theuser viewport 181 ofuser 116. In this example, the larger size ofindicator 604 relative toindicator 602 indicates that the viewport ofuser 114 is closer to theviewport 181 ofuser 116 than the viewport ofuser 112 is to theviewport 181 ofuser 116. In alternate embodiments, a smaller indicator relative to a larger indicator could be used to indicate closeness (smaller meaning closer). - In one embodiment, the
indicators respective user user 116. For example, theindicator respective user viewport 181 ofuser 116 covered. The size of the rectangle could also be dependent on how far behind the user is. The rectangle could also be drawn to only partly show which parts of thedisplay area 150 theuser - Drag & Drop Between Users
- Referring to
FIG. 18D , the aspects of the disclosed embodiments enable auser 110, such asuser 112, to drag and drop, or copy and paste, aresource 202 from onedesktop environment 302 to anotherdesktop environment 301 so that the other user sharing thedesktop environment 301 will then be able to access and interact with theresource 202. For example, theuser 112 can execute one or more of a copy and paste function, or a drag and drop function, as is generally understood in order to moveresource 202 to the shareddesktop environment 301. For example, as shown inFIG. 18D ,resource 202 to be shared is selected. The selection of theresource 202 can take place in any suitable manner, such as for example by using acontext menu 502, dragging and dropping the selectedresource 202 using the mouse or other suitable keypad or keyboard function or command, such as ctrl+c/x. To move a resource to another user, referring toFIG. 20 , theindicator 604 of theother user 114 is selected or activated as the target destination for the selectedresource 202 by for example, clicking on theindicator 604. A paste function could then be activated to complete the copy and paste action, such as for example a ctrl+v. In this way, a user can move or transmit flies from one user to one or more other users. - Proxies of Resources
- Referring to
FIG. 21 , the aspects of the disclosed embodiments allow forusers 110 to createproxies 810 orresources 200. In one embodiment, proxies may also be considered resources. Through proxies, oneuser 112 can view or work on theresource 200 separately at a different location thanuser 114. It may also be possible to interact with aproxy 810 and different proxies may illustrate different representations of theoriginal resource 200. This allows theoriginal resource 200 to remain where it is in theenvironment 300, but the one ormore proxies 810 of thatresource 200 are also shown on the desktop. For example, in one embodiment, theresource 200 is a window showing a text baseddocument 812 or a text file. Theproxies 810 may showdifferent parts text file 812 so that different user can edit different paragraphs not visible through theother proxies 814. This allows auser 112 to work with aresource 200 without affecting the working context ofother users 110. As another benefit, a window that is customarily in a specific position in anenvironment 300 can remain in that position. Auser 112 can create aproxy 810 of the window to work with, andother users 110 will still find the window where they would expect to find it in theenvironment 300. - In one embodiment, a
proxy 810 may include anindicator 804 to identify that it is aproxy 810 and not theoriginal resource 201. Theindicator 804 can comprise any suitable indicator, such as for example a geographical symbol, icon, highlight, image or colored dot. Locating the proxies using thevisual indicators 804 will enable oneuser 112 to determine if anotheruser 114 is working on theproxy 810, and for example, determine if theproxy 810 can or should be disposed of. - As shown in
FIG. 21 , in one embodiment, a visualization orvisual indicator 832 can be provided that provides an indication of the origin of theoriginal resource 200. This visualization can be helpful in locating theoriginal resource 200. For example, looking for relevant information about information in aproxy 810 can involve locating theoriginal resource 200, which may have related resources in its vicinity assuming relevant resources have been arranged close to each other. This is made easier if there is a visual indicator or visualization of where to find thatresource 200. - In the example shown in
FIG. 22 , theindicator 832 is in the form of an arrow. In one embodiment, theindicator 832 can be provided or made visible in theresource 200, that when clicked-on, will indicate theoriginal resource 200, such as by pointing an arrow to it. Additionally, in one embodiment, the most recently usedproxy 810 for eachresource 200 can have a different indicator than the other proxies. Theproxy indicators 832 can also be configured so that they provide an indication of when theproxy 810 was used, such as a strength indication. - In one embodiment, the
original resources 201 may not be removable until allproxies 810 have been removed from thedesktop environment 300. - In one embodiment, a
proxy 810 enables auser 110 to provide others with access to aresource 200, even in anotherdesktop environment 301, and keep track of where theresource 200 is seen and used. Theuser 110 does not have to move theoriginal resource 200 and theindicator 804 of a proxy can help theuser 110 keep track of theirown resources 200. -
FIG. 22 illustrates one embodiment of the present disclosure where afirst user device 160 and asecond user device 161 are configured to share content or resources to and between each other, as well as with athird user device 162. In this example, the first user wants to only share content A from theresource 201 and the second user wants to only share content B from theresources 202. Aproxy group 931 is formed and presented on thedisplay device 140 of thefirst user device 160. In one embodiment, the first user creates the proxy group 931 (for example by accessing a context menu of an existing environment and selecting a menu option corresponding to the creation of a new environment) and adds a copy of the content A (e.g. a proxy showing only the content part of the resource 201) referred to here as A1 into theproxy group 931. Theproxy group 931, including the copy of content A, is shared with thesecond user device 161. A version of theproxy group 931 is presented on thedisplay device 141 of thesecond user device 161 asproxy group 931′. In one embodiment, the first user can also share theproxy group 931 with thethird user device 162, shown inFIG. 25 asproxy group 931″. As shown inFIG. 22 , the second user adds a copy of content B to theproxy group 931′, and the content B is now visible in theproxy groups - In one embodiment, the
proxy group 931 can be passive or be configured to be edited by designated users. For example, in one embodiment, the content A1 can be edited by the user of thefirst device 160, the content B1 by the user of thesecond device 161, while the user of thedevice 162 is not enabled to edit either content A1 or content B1. Generally, any of theuser devices proxy groups - Abstract Resource Layouts
- The layout of
resources 200 in adesktop environment 300 can be specified in an abstract fashion. This can be done by specifying their relations towards each other, such as for example “resource a left of b” or “resources g, h, i, j, k, l, m belonging to the same group where central resource “g” is surrounded by resources “h-l” or resources n, o, p, q, r, s, l with parent-child relationships, parent(n,o), parent(n,p), parent(o,q), parent(o,r), parent(r,a), parent(r,l.) This advantageously allows theresources 200 to be shown to different users in different dimensions. For example, users withcomputing devices 160 that have different characteristics, such as resolution, can share thesame resources 200 and the layout ofresources 200, even though they may see theresources 200 differently on theirrespective display devices 140. For example, thesame resources 200 could be presented with different dimensions and arranged differently to different users in absolute coordinates depending upon the resolution of thedisplay device 140 used. Nested environments might be shown minimized ondisplay devices 140 with a small display resolution. - Window Minimization to Taskbar
- The aspects of the disclosed embodiments generally enable that the windows or resources on the desktop that the user wants to see or work with are not minimized to the taskbar, while alerts and other windows can be minimized. A taskbar is generally understood as a temporary storage facility for windows that are not currently used. However, this feature does not work well in a desktop that is shared by multiple users because another user might need a window even if one user currently does not.
Resources 200 that the user is working with or wants to see are generally not allowed to overlap or be minimized. Thus, users working onresources 200 in thesame desktop environment 300 will typically be easy to locate, since oneresource 200 cannot be in the taskbar or be positioned behind anotherresource 200, out of view another user looking atresource 200 will able to be found. - Operating in the Same Environment with Other Users
- The aspects of the disclosed embodiments allow different users to share a space for a meeting, with all parties to the meeting being able to have the meeting within the context of their own resources. For example, referring to
FIG. 12 , in a meeting between two users, or groups of users, one of the users shares a sub-environment 310 with the other user. The other user opens the shareddesktop environment 310 in their desktop environment, such asuser 114 indesktop environment 301. In one embodiment, one user can have the sub-environment 310 minimized or pushed down while the other user has it maximized. Both users now have the sub-environment 310 merged into their ownrespective desktop environments own resources 200, such as 204, 204 and 205, nearby. Another user or group of users taking part in the meeting could access the shared sub-environment 310 from the context of theirown resources 200. For example, auser 116, not shown in this example, could open a web browser and locate acertain resource 205 in the context of their own resources before sharing it with others in the sub-environment 310 where the meeting is taking place. - In one embodiment, users can have multiple nested meetings at the same time in the same environment. For example, a user could start two or more meetings at the same time. Each meeting could have one or more additional nested meetings with other users. A user could have separate meetings going on with different users. The user can move between the two or more meetings.
- In one embodiment, if the amount of activity detected in a sub-environment 310 is at or below a pre-determined threshold level, meaning little or no activity is taking place within the sub-environment 310, the sub-environment 310 can be minimized automatically to save display space e.g. when the user zooms out. In one embodiment, minimization of
desktop environments 310 could be used to provide a confined work area for a group of users. Navigation, for example, could be confined into a sub-environment 310 as long as the user does not zoom out of the sub-environment 310. In one embodiment, a nestedenvironment 301 is not intended to be used directly from theparent desktop environment 300, meaning that for instance clicking within the region of a nestedenvironment 301 will not have an effects in that environment but may instead be interpreted as a command to zoom into thatenvironment 301. The nesting of environments may also support optimization of network bandwidth use and uses of other resources, e.g. because less image data needs to be transmitted over the network when some windows will appear in smaller scale and can be represented using smaller resolution images. The small visual representation ofresources 200 may not need to be updated frequently, even if visible to the user, assuming that the user is not actively followingdesktop environment 300 that shows in small scale on the display. - In one embodiment, an indication is provided that informs the user whether a
desktop environment 300 is a remote or distributed environment. This will make users aware of whether they are operating in a volatile setting, generally meaning that the user can be aware if a change they are planning to make to aresource 200, such as a file, can be undone, damaged or lost if the network connection to the remote environment is interrupted. The indication will also allow the user to determine if their actions in the remote or distributed environment may be perceived by others. - The aspects of the disclosed embodiments can also be used to provide support to
different computing devices 160. For example, in the example ofFIG. 5 , thedifferent users different computing devices different computing devices sub-environments 311 to theenvironment 300 in either a minimized or maximized view, to match the specific user needs and resources. The determination can be made by theuser 114 in this example, or automatically based on characteristics of thecomputing device 164, such as for example, display resolution and configuration. In the example ofFIG. 5 , thecomputing device 164 comprises a dual-screen or monitor display device, where the sharedenvironment 312 can be presented on or across one or both of thedisplay devices 144, 145. - In one embodiment, referring to
FIG. 19 , a sob-environment 303 and itsresources 200 can have a different representation that prevents non-public details of thedesktop environment 303 from being viewed from outside of the environment or before having granted access. As shown inFIG. 19 ,desktop environment 303 has a different representation of an icon or image, for example 639, viewed from theparent desktop environment 300, indicating that the sub-environment 303 cannot be viewed before having granted access. This can be advantageous in a situation, for example, where a meeting is to be held in aprivate desktop environment 300. - Access Rights
- Referring to
FIG. 1 ,environment 300 andresources 200 can have access rights so that they are not freely accessible to all users 110-110 n. In one embodiment, referring toFIG. 19 , anindication 639 can be provided that represents to a user, the level of rights and/or privileges that are required to access thespecific environment 303. Certain credentials may need to be provided, such as a user name and password, for example. Rights and privileges can include for example, but are not limited to, read, write, execute, copy, cut, move, delete, and resize. In alternate embodiments, suitable rights and privileges can be encompassed. - Providing access rights, and different levels of rights and privileges, can be beneficial in the
multi-user desktop environment 300 in order to control whatusers 110 can do. It may be desirable to ensure thatcertain users 110, or user groups, do not view, move or editresources 200 that should only be seen, managed or edited by some users. It may also be desirable in some eases to specify, for example, thatcertain resources 200 cannot be moved to anotherdesktop environment 300 that requires different access credentials to avoid accidental disclosures to parties that should not have access to a particular resource orresources 200. - In one embodiment, referring to
FIG. 12 for example, auser 112 can dedicate anenvironment 310 to thoseresources user 112 is willing to share to anotheruser 114. This can be advantageous, for example, in remote support situations where theuser 112 needs to allow auser 114, such as for example a technician, to assist them withspecific resources - Layouting
- Referring to
FIGS. 18A-F for example, in one embodiment, theresources 200 within thedesktop environments 300 of the disclosed embodiments generally do not overlap, or substantially obstruct the content of one another. For example, when aresource 202 is added toenvironment 301, theresources resource 202, will be arranged so that there is no overlap or substantial obstruction of content. In one embodiment, a size and position of theviewport 180 can also be rearranged to minimize distraction from the layout change. - In one embodiment, when a resource, such as
resource 201 that is currently being viewed by theuser 112 moves on the desktop environment independently of the actions ofuser 112, theviewport 180 ofuser 112 may also move. This will be beneficial to avoid theuser 112 being distracted by changes in the position of theresource 201, or even loseresource 201 entirely out of his/her sight. In one embodiment, the layout changes can be recorded and saved in memory for future use, such as for example, playback. - In one embodiment, when a
resource 202 is moved, such as by dragging, so that it occupies the same area of theenvironment 301 as anotherresource 200, theresource 202 may show primarily on top of anyother resources environment 301. Ifmultiple resources 202 are being moved at the same time, the movedresources - In one embodiment, a
desktop environment 300 that is designated to be shared may also be temporarily shown to the user prior to sharing. - For example, referring to
FIG. 17 , in this example, the portion of theenvironment 300 focused on in theviewport 180 ofuser 112 is designated to be shared withcomputing device 161 ofuser 114. In one embodiment, it is possible to move theviewport 180 and show it to theuser 114 by moving theviewport 180, including theenvironments 300 andresources 200 contained therein. Theviewport 180 is moved into theviewport 181 of theother user 114, in which case theuser 114 will automatically receive a question from thesystem 100 asking whether theuser 114 wishes to see the contents of theviewport 180. The question can be presented in thedisplay area 151 of thedisplay device 161. In one embodiment, thetarget user 114 has to accept the resource to be placed in his viewport prior to the resource being placed in hisviewport 181. In this example, the resource comprises theviewport 180. In an alternate embodiment, a resource such asresource 200 shown inFIG. 17 could be selected to be shared. This could be facilitated for example, by theuser 114 accepting the invitation. - User Grouping
- Referring to
FIG. 20 ,users position indicators 602, which in one embodiment are live video images, may be grouped based on the position of the users. For example, users close enough to each other can belong to a group of users. Users working on a specific group of resources in a specific area of anenvironment 300, or in a specific environment, could be determined to belong to the same group. - Grouping may also be used to enable messaging, generally meant to encompass the transmission of text, voice and video of the user, between certain users. In one embodiment, there is a custom shape aura with a specific extent to each direction, which may be indicated visually, around a
user 110 or group that can be used to determine if two given users or groups belong to the same group. Users may also be able in form groups explicitly or define explicitly that they do not belong to one or more groups. Groups may also have access policies such thatuser 110 has to be accepted to a group, and may be required to provide log-in credentials. Groups can also have time-dependent membership policies such that group membership may persist for a certain time period even if a group member is not within the group reach, meaning the aura of the group could also be determined by distance, whether indicated visually or not. - In one embodiment, group of users may be indicated to each other so that users can identify who belongs to which group, both in a zoomed in and zoomed out view. In one embodiment, a group member's indicator may be connected with visual connectors, such as lines of a specific type, weight or color, in zoomed out or zoomed in views. By visualizing the aura of users and groups when zoomed out, connected auras may indicate belonging to the same group or may have auras of the same color. A common indicator, such as a circle, triangle or other suitable shape, can be used for users in the same group, to indicate group membership, such as for example in a zoomed-in view, where aura may not be displayed in order to avoid visual clutter. Groups may also be indicated differently depending upon whether a user belongs to a group. For example, in those groups where a user belongs, the user indicator can be a live video image, while indicators of users who belong to other groups may be icons. If a user belongs to multiple groups, the indicators of members in different groups, such as the live images, may be grouped spatially or by being connected visually, using for example, lines or appearing inside the same shape visualization.
- In the example of
FIG. 2 , thedesktop environment 300 includesresources 200. In this example,resources 200 can be a movie, a news or sports web page, a video or movie and a television news feed.Resources desktop environment 311 can comprise user indicators, which in this example are video feeds or live images of different users. -
FIG. 23 illustrates an embodiment of the present disclosure where one user, referred to as the manager, can monitor the activity or progress of other users. In this example, the managingcomputing device 160, also referred to as the managing screen, includesviewport 180, which provides a view to theenvironment 300. Theenvironment 300 in this example is used to monitor the activities of the user computing devices referenced as 161, 162, 163 and 164, also referred to as the observed devices or screens. In particular, the managingdevice 160 is configured to access theviewports devices resources computing devices viewport 180 of the managingcomputing device 160 asproxied viewports 1811′, 1822′, 183′ and 184′, withproxied resources 201′, 202′, 203′ and 204′. As changes are made to any of theresources proxied resources 201′, 202′, 203′ and 204′, in their respective viewports presented in the managingviewport 180. - Referring to
FIG. 24 , one embodiment of a computing architecture incorporating aspects of the disclosed embodiments is illustrated. In one embodiment, in a Windows™ environment, user management can be tied to domain/user accounts. The information and data pertaining to each environment (here referred to as a group), resource and user is maintained in respective database tables, shown generally as table 910, 930, 922 and 930. The different database tables will have relationships to at least one other table. For example, a window table 910 will include at least information pertaining to the window identity and on-screen position of theresource 200. The user table 920 will include the user identity information for the user associated with theresource 200. In one embodiment, such as in a Windows™ environment, the table or functionality is tied to domain or user account information. A group table 930 will include information pertaining to a shared status, such as for example, an owner identification, name and color. - In one embodiment, the window table 910 and the user table 920 will be related with respect to the active user who is currently using the
resource 200. In this example, an “active user” is the owner of an active window, where a user can only have ownership over one window. Since a given window belongs to a given group, the window table 910 and the group table 930 will be similarly related. The user table 920 and the group table 930 will generally have an access rights relationship. A user will have to be grantedprivileges 922, such as READ, WRITE access, or a combination thereof, for a given group. - In one embodiment, a persistent windows table 940 is used to store information pertaining to windows that are persistent. Windows that are persistent are generally ones that open in a predetermined place, for example within the
desktop environment 300, with predetermined content opened. For example, when a document is opened, the document can be opened in substantially the same position as when it was last open. This can be advantageous when maintaining a group for example, that includes all office application windows. -
FIG. 25 illustrates one embodiment of a computing architecture incorporating aspects of the disclosed embodiments. In this example, acomputing device 160 and acomputing device 161 are coupled together by anetwork 101, such as the Internet. Theinternet 101 is configured to transfer data to and between thecomputing devices Computing device 160 includes a Real Window orresource 200 that contains information presented by an application running oncomputing device 160. The information or content can be in the form of a bitmap of the window, and needs to be transferred tocomputing device 161. The information is encoded, such as with a codec, and the compressed data is transferred via theInternet 101 to thecomputing device 161. - In the embodiment shown in
FIG. 25 , thecomputing device 160 includes a shadow window orresource 201 that is a real window to the operating system of thecomputing device 161, but whose contents are controlled. The content data is received from the Internet, decoded and drawn onto the shadow window orresource 201. - In one embodiment, when the user of the
computing device 161 interacts with the content of theshadow window 201, such as for example by clicking with the mouse or touching the touch screen, the input events are transferred tocomputing device 160 over theInternet 101. The meaning of the input events to theshadow window 201 are interpreted by computingdevice 160, as it is computingdevice 160 that is running the actual application comprising the resource of thereal window 200. In this example,computing device 161 only has a photo image of the contents of the resource represented by thereal window 200. - After passing through the
Internet 101 fromcomputing device 161, theinput data 901 is received by computingdevice 160 as is passed to thereal application window 200 as a simulated user input. In this embodiment of the present disclosure, the application running on thecomputing device 160 does not distinguish thesimulated user input 902 from one that might be received from a user ofcomputing device 160. Based on the receivedsimulated input 902,computing device 160 updates the contents of the resource represented by thereal window 200. The updated information, referred to as capturedcontent 903, is encoded and then sent tocomputing device 161 asbitmap content 904 to update the contents of the resource represented by theshadow window 201. - One example use of a system incorporating aspects of the present disclosure can involve members of a team of designers (e.g. of a team of designers in charge of designing a car) who invite other members of the team to connect to an environment. In this example, it could be a specific desktop sub-environment of the inviting user that has been created for a joint work session with the other team members. An invitation to share content or the desktop environment may be generated for instance by bringing up a context menu of the sub-environment by right clicking inside the sub-environment and then selecting a menu option corresponding to the action of sharing the desktop sub-environment with other users and then selecting from a list (e.g. in a window that is displayed on the screen as a result of the menu selection) the users that the sub-environment in question should be shared with. (The list from which the users are selected can also be managed by the team member so that it is possible to add and remove people to and from the list by their user names or other contact details, similarly as in other systems that support real time communication or cooperation with other people, such as Skype™ or Windows Live Messenger™.) As a result of sending the invitation to the team members, the invited team members may receive a notification in their environments, such as for example an activatable link, that they have been invited to open a shared environment with the team member that sent the invitation. In one embodiment, the invitation may be presented in a window where a question is presented asking whether the invitation is to be accepted. Upon accepting the invitation, a sub-environment will be created in the environment shared by the inviting team member. With the shared sub-environment appearing within their environment, one way that a user could move their own windows or resources to the shared environment would be simply by dragging the resources to the shared environment. In this way, all of the invited or connected users that share the same environment will see the same windows appearing in the shared environment. For instance, the team members could all move their own Computer-Aided Design (CAD) windows to the shared environment so that whilst different members of the team may work on different parts of the larger design, the team members could zoom out to see how work progresses on the other parts of the larger design in the windows of the other team members. Alternatively, a game development team might use a shared environment so that a graphics designer might work on the graphical design of an item in a game, such as a sword, in a CAD design application window and when ready with the design, move the item directly to an integrated development environment (IDE) window of the programmer in the same team who could then run the game in a new window in the same environment so that both the graphical designer and the programmer could see how the sword looks in game play.
- Another example of the use of a system incorporating aspects of the present disclosure, two programmers could use a shared
desktop environment 300 to cooperatively implement a new feature in some software so that either of the two programmers could work on one of many related source code documents or programming tools arranged in the shareddesktop environment 300. A shareddesktop environment 300 according to the aspects of the disclosed embodiments could also be used to support working in various control room or mission control situations or other situations where one or more agents may need to monitor or coordinate actions of others that are working with a number of sharedresources 200. For example, a large shareddisplay device 140 could be used to show the shareddesktop environment 300 in zoomed out mode so that the manager or anyone else could take a look at the shareddisplay device 140 to monitor or coordinate actions of individual workers or groups of workers that could generally be focused on theirown display devices 140 showing smaller regions of the shareddesktop environment 300 or perhaps justindividual resources 200 therein. In schools or other teaching situations, teachers could benefit from having pupils with laptops be present in a shareddesktop environment 300 during class so the teacher can monitor that the pupils are not active on extra-curricular activities when they should be focused on the topic of the class. - Shared environments according to aspects of the disclosed embodiments could also be used for various social purposes. Friends might use a shared environment for collaborative web searching so that different parties are using different web browsers, yet all parties could at any time easily see what the other parties have found or are looking at. Gamers could use a shared environment to hang out with friends playing video games; school girls could use a shared environment to access FACEBOOK™ cooperatively from multiple different windows with their friends or to temporarily share recent photos and videos with their trusted group of friends without making them permanently available elsewhere, e.g. on FACEBOOK™; a group of artists could hold a public exhibition of their works where resources provided by different artists' are automatically promoted by moving them to a more central position in the environment as they receive increasing amounts of interest from visitors of the exhibition (as determined by a system according to the invention based on a measure of interest or activity derived from the number of visits to the resources, amount of time spent on the resources, amount of activity on the resources, characteristics of resource visitation patterns and/or other factors that may be indicative of the amount of interest in or activity on resources); and NBA™ fans could share an environment to keep an eye on multiple games showing live at the same time.
-
FIG. 26 is a block diagram illustrating an exemplary operating environment for performing the disclosed methods. This exemplary operating environment is only an example of an operating environment and is not intended to suggest any limitation as to the scope of use or functionality of operating environment architecture. Neither should the operating environment be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. - The present methods and systems can be operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that can be suitable for use with the systems and methods comprise, but are not limited to, personal computers, server computers, laptop devices, and multiprocessor systems. Additional examples comprise set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments that comprise any of the above systems or devices, and the like.
- The processing of the disclosed methods and systems can be performed by software components. The disclosed systems and methods can be described in the general context of computer-executable instructions, such us program modules, being executed by one or more computers or other devices. Generally, program modules comprise computer code, routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The disclosed methods can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.
- Further, one skilled in the art will appreciate that the systems and methods disclosed herein can be implemented via one or
more computing devices 160, such as that shown inFIG. 1 . As is illustrated, inFIG. 26 , in one embodiment, the components of thecomputing device 160 can comprise, but are not limited to, one or more processors orprocessing units 703, asystem memory 712, and a system bus 713 that couples various system components including theprocessor 703 to thesystem memory 712. In the case ofmultiple processing units 703, the system can utilize parallel computing. - The system bus 713 represents one or more of several possible types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures can comprise an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, and Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, an Accelerated Graphics Port (AGP) bus, and a Peripheral Component Interconnects (PCI), a PCI-Express bus, a Personal Computer Memory Card Industry Association (PCMCIA), Universal Serial Bus (USB) and the like. The bus 713, and all buses specified in this description can also be implemented over a wired or wireless network connection and each of the subsystems, including the
processor 703, amass storage device 704, anoperating system 705, anetwork adapter 708,system memory 712, an Input/Output Interface 710, adisplay adapter 709, adisplay device 140, and ahuman machine interface 702, can be contained within one or more remote computing devices orclients - The one or
more computing devices 160 typically comprise a variety of computer readable media. Exemplary readable media can be any available media that is non-transitory and accessible by thecomputing device 160 and comprises, for example and not meant to be limiting, both volatile and non-volatile media, removable and non-removable media. Thesystem memory 712 comprises computer readable media in the form of volatile memory, such as random access memory (RAM), and/or non-volatile memory, such as read only memory (ROM). Thesystem memory 712 typically contains data such as demand control data 707 and/or program modules such as anoperating system 705 that is immediately accessible to and/or are presently operated on by theprocessing unit 703. In one aspect, thesystem memory 712 contains computer executable codes sections for performing the steps described herein. - In another aspect, the
computing device 160 can also comprise other non-transitory, removable/non-removable, volatile/non-volatile computer storage media. By way of example,FIG. 26 illustrates amass storage device 704 that can provide non-volatile storage of computer code, computer readable instructions, data structures, program modules, and other data for thecomputing device 160. For example and not meant to be limiting, amass storage device 704 can be a hard disk, a removable magnetic disk, a removable optical disk, magnetic cassettes or other magnetic storage devices, flash memory cards, CD-ROM, digital versatile disks (DVD) or other optical storage, random access memories (RAM), read only memories (ROM), electrically erasable programmable read-only memory (EEPROM), and the like. - Optionally, any number of program modules can be stored on the
mass storage device 704, including by way of example, anoperating system 705 andother software 706. Each of theoperating system 705 and software 706 (or some combination thereof) can comprise elements of the programming. Data can also be stored on themass storage device 704. Data can be stored in any of one or more databases known in the art. Examples of such databases comprise, DB2® (IBM Corporation, Armonk, N.Y.), Microsoft® Access, Microsoft® SQL, Server, (Microsoft Corporation, Bellevue, Wash.), Oracle®, (Oracle Corporation, Redwood Shores, Calif.), mySQL, PostgreSQL, and the like. The databases can be centralized or distributed across multiple systems. - In another aspect, the user can enter commands and information into the
computing device 160 via an input device (not shown). Examples of such input devices comprise, but are not limited to, a keyboard, pointing device (e.g., a “mouse”), a microphone, a joystick, a scanner, tactile input devices such as gloves, and other body coverings, and the like. These and other input devices can be connected to theprocessing unit 703 via ahuman machine interface 702 that is coupled to the system bus 713, but can be connected by other interface and bus structures, such as a parallel port, game port, an IEEE 1394 Port (also known as a Firewire port), a serial port, or a universal serial bus (USB). - In yet another aspect, a
display device 140 can also be connected to the system bus 713 via an interface, such as adisplay adapter 709. It is contemplated that thecomputing device 160 can have more than onedisplay adapter 709 and thecomputing device 160 can have more than onedisplay device 140. For example, adisplay device 140 can be a monitor, an LCD (Liquid Crystal Display), or a projector. In addition, to thedisplay device 140, other output peripheral devices can comprise components such as speakers (not shown) and a printer (not shown), which can be connected to thecomputing device 160 via Input/Output interface 710. Any step and/or result of the methods can be output in any form to an output device. Such output can be any form of visual representation, including but not limited to, textual, graphical, animation, audio, tactile, and the like. - The
computing device 160 can operate in a networked environment using logical connections to one or more remote computing devices or clients 161-163. Although only three remote computing devices 161-163 are shown inFIG. 26 , in alternate embodiments, any suitable number of remote computing devices can be implemented, including more or less than three. A remote computing device 161-163 can be a personal computer, portable computer, a server, a router, a network computer, a vendor's or manufacturer's computing device, a peer device or other common network node, and so on. Logical connections between thecomputing device 160 and a remote computing device or client 161-163 can be made via a local area network (LAN) and a general wide area network (WAN). Such network connections can be through anetwork adapter 708. Anetwork adapter 708 can be implemented in both wired and wireless environments. Such networking environments are conventional and commonplace in offices, enterprise-wide computer networks, intranets, andother networks 101 such as the Internet. In one embodiment, the aspects of the disclosed embodiments can be implemented in a peer-to-peer (P2P) computing architecture or system. - For purposes of illustration, application programs and other executable program components such as the
operating system 705 are illustrated herein as discrete blocks, although it is recognized that such programs and components reside at various times in different storage components of thecomputing device 160 and are executed by the data processor(s) of thecomputing device 160. An implementation of software including instructions for carrying out the method and processes described herein can be stored on or transmitted across some form of computer readable media. Any of the disclosed methods can be performed by computer readable instructions embodied on computer readable media. Computer readable media can be any available media that can be accessed by a computer. By way of example and not meant to be limiting, computer readable media can comprise “computer storage media” and “communications media.” “Computer storage media” comprise volatile and non-volatile, removable and non-removable media implemented in any methods or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Exemplary computer storage media comprises, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. - As described above and as will be appreciated by one skilled in the art, embodiments of the present disclosure may be configured as a system, method, or computer program product. Accordingly, embodiments of the present disclosure may be comprised of various means including entirely of hardware, entirely of software, or any combination of software and hardware. Furthermore, embodiments of the present disclosure may take the form of a computer program product on a computer-readable storage medium having computer-readable program instructions (e.g., computer software) embodied in the storage medium. Any suitable non-transitory computer-readable storage medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices.
- Embodiments of the present disclosure have been described above with reference to block diagrams and flowchart illustrations of methods, apparatuses (i.e., systems) and computer program products. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by various means including computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus, such as the one or
more processors 703 discussed above with reference toFIG. 26 , to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create a means for implementing the functions specified in the flowchart block or blocks. - These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus (e.g., one or
more processors 703 ofFIG. 20 to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the functions specified. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified herein. - Accordingly, blocks of the block diagrams and illustrations support combinations of means or performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
- Unless otherwise expressly stated, it is in no way intended that any method set forth herein be construed as requiring that its steps be performed in a specific order. Accordingly, where a method claim does not actually recite an order to be followed by its steps or it is not otherwise specifically stated in the claims or descriptions that the steps are to be limited to a specific order, it is no way intended that an order be inferred, in any respect. This holds for any possible non-express basis for interpretation, including: matters of logic with respect to arrangement of steps or operational flow; plain meaning derived from grammatical organization or punctuation; the number of type of embodiments described in the specification.
- Thus, while there have been shown, described and pointed out, fundamental novel features of the invention as applied to the exemplary embodiments thereof, it will be understood that various omissions and substitutions and changes in the form and details of devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit and scope of the invention. Moreover, it is expressly intended that all combinations of those elements, which perform substantially the same function in substantially the same way to achieve the same results, are within the scope of the invention. Moreover, it should be recognized that structures and/or elements shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/020,858 US20140282074A1 (en) | 2013-03-15 | 2013-09-08 | System and method for cooperative sharing of resources of an environment |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/842,627 US9063631B2 (en) | 2013-03-15 | 2013-03-15 | System and method for cooperative sharing of resources of an environment |
US14/020,858 US20140282074A1 (en) | 2013-03-15 | 2013-09-08 | System and method for cooperative sharing of resources of an environment |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/842,627 Continuation US9063631B2 (en) | 2013-03-15 | 2013-03-15 | System and method for cooperative sharing of resources of an environment |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140282074A1 true US20140282074A1 (en) | 2014-09-18 |
Family
ID=51534418
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/842,627 Active 2034-02-08 US9063631B2 (en) | 2013-03-15 | 2013-03-15 | System and method for cooperative sharing of resources of an environment |
US14/020,858 Abandoned US20140282074A1 (en) | 2013-03-15 | 2013-09-08 | System and method for cooperative sharing of resources of an environment |
US14/743,055 Active 2034-07-29 US9971476B1 (en) | 2013-03-15 | 2015-06-18 | System and method for cooperative sharing of resources of an environment |
US15/582,520 Active 2033-08-23 US10534507B1 (en) | 2013-03-15 | 2017-04-28 | System and method for cooperative sharing of resources of an environment |
US15/979,448 Active 2033-06-10 US10649628B1 (en) | 2013-03-15 | 2018-05-14 | System and method for cooperative sharing of resources of an environment |
US16/872,189 Active US11093115B1 (en) | 2013-03-15 | 2020-05-11 | System and method for cooperative sharing of resources of an environment |
US17/402,594 Active US11556224B1 (en) | 2013-03-15 | 2021-08-15 | System and method for cooperative sharing of resources of an environment |
US18/092,307 Abandoned US20230152943A1 (en) | 2013-03-15 | 2022-12-31 | System and method for cooperative sharing of resources of an environment |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/842,627 Active 2034-02-08 US9063631B2 (en) | 2013-03-15 | 2013-03-15 | System and method for cooperative sharing of resources of an environment |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/743,055 Active 2034-07-29 US9971476B1 (en) | 2013-03-15 | 2015-06-18 | System and method for cooperative sharing of resources of an environment |
US15/582,520 Active 2033-08-23 US10534507B1 (en) | 2013-03-15 | 2017-04-28 | System and method for cooperative sharing of resources of an environment |
US15/979,448 Active 2033-06-10 US10649628B1 (en) | 2013-03-15 | 2018-05-14 | System and method for cooperative sharing of resources of an environment |
US16/872,189 Active US11093115B1 (en) | 2013-03-15 | 2020-05-11 | System and method for cooperative sharing of resources of an environment |
US17/402,594 Active US11556224B1 (en) | 2013-03-15 | 2021-08-15 | System and method for cooperative sharing of resources of an environment |
US18/092,307 Abandoned US20230152943A1 (en) | 2013-03-15 | 2022-12-31 | System and method for cooperative sharing of resources of an environment |
Country Status (1)
Country | Link |
---|---|
US (8) | US9063631B2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060088A1 (en) * | 2016-08-31 | 2018-03-01 | Microsoft Technology Licensing, Llc | Group Interactions |
WO2018044698A1 (en) * | 2016-08-31 | 2018-03-08 | Microsoft Technology Licensing, Llc | Group data and priority in an individual desktop |
US10191890B2 (en) | 2014-12-17 | 2019-01-29 | Microsoft Technology Licensing, Llc | Persistent viewports |
US10521093B1 (en) | 2013-09-09 | 2019-12-31 | Chad D Tillman | User interaction with desktop environment |
CN112004122A (en) * | 2019-05-27 | 2020-11-27 | 三星电子株式会社 | Electronic device and control method thereof |
US11061547B1 (en) * | 2013-03-15 | 2021-07-13 | Study Social, Inc. | Collaborative, social online education and whiteboard techniques |
EP3860132A4 (en) * | 2018-11-14 | 2021-09-08 | Huawei Technologies Co., Ltd. | Method for playing multimedia data and electronic device |
US11226712B2 (en) * | 2016-03-24 | 2022-01-18 | Sony Corporation | Information processing device and information processing method |
US11252569B2 (en) | 2013-03-15 | 2022-02-15 | Assa Abloy Ab | Method, system, and device for generating, storing, using, and validating NFC tags and data |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021220058A1 (en) | 2020-05-01 | 2021-11-04 | Monday.com Ltd. | Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices |
US11410129B2 (en) | 2010-05-01 | 2022-08-09 | Monday.com Ltd. | Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems |
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network systems, methods, and devices |
JP5728588B2 (en) * | 2012-08-28 | 2015-06-03 | Eizo株式会社 | Display control method, computer program, display control apparatus, and image display system |
US9519414B2 (en) | 2012-12-11 | 2016-12-13 | Microsoft Technology Licensing Llc | Smart whiteboard interactions |
US10304037B2 (en) * | 2013-02-04 | 2019-05-28 | Haworth, Inc. | Collaboration system including a spatial event map |
US11861561B2 (en) | 2013-02-04 | 2024-01-02 | Haworth, Inc. | Collaboration system including a spatial event map |
US9063631B2 (en) * | 2013-03-15 | 2015-06-23 | Chad Dustin TILLMAN | System and method for cooperative sharing of resources of an environment |
GB2527222A (en) | 2013-03-15 | 2015-12-16 | Topcon Positioning Systems Inc | Monitoring and control display system and method |
KR20140143971A (en) * | 2013-06-10 | 2014-12-18 | 삼성전자주식회사 | Shared home screen apparatus and method thereof |
KR20150016695A (en) * | 2013-08-05 | 2015-02-13 | 삼성전자주식회사 | Display device and control method thereof |
WO2015049931A1 (en) * | 2013-10-04 | 2015-04-09 | ソニー株式会社 | Information processing device, information processing method, and program |
US9898255B2 (en) * | 2013-11-13 | 2018-02-20 | Sap Se | Grid designer for multiple contexts |
US10949067B2 (en) * | 2014-05-29 | 2021-03-16 | Hexagon Technology Center Gmbh | Apparatus and method of displaying objects in configurable window groups |
US9870188B2 (en) * | 2014-08-18 | 2018-01-16 | Lenovo (Singapore) Pte. Ltd. | Content visibility management |
JP6381361B2 (en) * | 2014-08-20 | 2018-08-29 | キヤノン株式会社 | DATA PROCESSING DEVICE, DATA PROCESSING SYSTEM, DATA PROCESSING DEVICE CONTROL METHOD, AND PROGRAM |
US20160147432A1 (en) * | 2014-11-21 | 2016-05-26 | Cisco Technology, Inc. | Automatically returning to an active window during a meeting |
US10261741B2 (en) * | 2015-02-09 | 2019-04-16 | Prysm, Inc | Content sharing with consistent aspect ratios |
USD767613S1 (en) * | 2015-05-01 | 2016-09-27 | Microsoft Corporation | Display screen with animated graphical user interface |
WO2016179401A1 (en) | 2015-05-06 | 2016-11-10 | Haworth, Inc. | Virtual workspace viewport follow mode and location markers in collaboration systems |
JP2016224766A (en) * | 2015-06-01 | 2016-12-28 | 富士通株式会社 | Remote screen display system, remote screen display method, and remote screen display program |
US10528211B2 (en) * | 2015-10-08 | 2020-01-07 | Salesforce.Com, Inc. | Computing systems and processes for simultaneous co-development of dashboard interfaces |
US10719289B2 (en) * | 2015-11-05 | 2020-07-21 | Topcon Positioning Systems, Inc. | Monitoring and control display system and method using multiple displays in a work environment |
US10255023B2 (en) | 2016-02-12 | 2019-04-09 | Haworth, Inc. | Collaborative electronic whiteboard publication process |
US10656896B2 (en) | 2016-09-20 | 2020-05-19 | Hewlett-Packard Development Company, L.P. | Display mapping |
US10542072B1 (en) * | 2017-10-04 | 2020-01-21 | Parallels International Gmbh | Utilities toolbox for remote session and client architecture |
US20230333714A1 (en) * | 2017-10-23 | 2023-10-19 | Haworth, Inc. | Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces |
US11934637B2 (en) | 2017-10-23 | 2024-03-19 | Haworth, Inc. | Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces |
US11126325B2 (en) * | 2017-10-23 | 2021-09-21 | Haworth, Inc. | Virtual workspace including shared viewport markers in a collaboration system |
KR102481894B1 (en) * | 2017-11-06 | 2022-12-28 | 삼성전자 주식회사 | Electronic device and method for sharing screen thereof |
US11379252B1 (en) * | 2018-01-31 | 2022-07-05 | Parallels International Gmbh | System and method for providing layouts for a remote desktop session |
US11436359B2 (en) | 2018-07-04 | 2022-09-06 | Monday.com Ltd. | System and method for managing permissions of users for a single data type column-oriented data structure |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
US11573694B2 (en) | 2019-02-25 | 2023-02-07 | Haworth, Inc. | Gesture based workflows in a collaboration system |
CN110442366B (en) * | 2019-08-09 | 2021-06-15 | 广州视源电子科技股份有限公司 | Screen transmission processing method, device, equipment and storage medium |
US10891766B1 (en) * | 2019-09-04 | 2021-01-12 | Google Llc | Artistic representation of digital data |
JP7354702B2 (en) * | 2019-09-05 | 2023-10-03 | 富士通株式会社 | Display control method, display control program, and information processing device |
US11175816B2 (en) | 2019-11-18 | 2021-11-16 | Monday.Com | Digital processing systems and methods for automatic user time zone updates in collaborative work systems |
EP4062313A1 (en) | 2019-11-18 | 2022-09-28 | Monday.com Ltd. | Collaborative networking systems, methods, and devices |
US11829953B1 (en) | 2020-05-01 | 2023-11-28 | Monday.com Ltd. | Digital processing systems and methods for managing sprints using linked electronic boards |
US11277361B2 (en) | 2020-05-03 | 2022-03-15 | Monday.com Ltd. | Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems |
CN112312060B (en) * | 2020-08-28 | 2023-07-25 | 北京字节跳动网络技术有限公司 | Screen sharing method and device and electronic equipment |
US20220215342A1 (en) * | 2021-01-04 | 2022-07-07 | Polaris Industries Inc. | Virtual collaboration environment |
US11782582B2 (en) | 2021-01-14 | 2023-10-10 | Monday.com Ltd. | Digital processing systems and methods for detectable codes in presentation enabling targeted feedback in collaborative work systems |
US11797320B2 (en) * | 2021-08-10 | 2023-10-24 | Dell Products L.P. | Systems and methods to manage screen sharing of displayed local system windows |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136828A1 (en) * | 2004-12-16 | 2006-06-22 | Taiga Asano | System and method for sharing display screen between information processing apparatuses |
US7383291B2 (en) * | 2004-05-24 | 2008-06-03 | Apple Inc. | Method for sharing groups of objects |
US20110239135A1 (en) * | 2004-09-03 | 2011-09-29 | Open Text Corporation | Systems and methods for collaboration |
US20120254773A1 (en) * | 2011-01-07 | 2012-10-04 | Subramanian V | Touch screen based interactive media sharing |
US20130047095A1 (en) * | 2010-02-08 | 2013-02-21 | Oscar Divorra Escoda | Cloud desktop system with multi-touch capabilities |
US20130073980A1 (en) * | 2011-09-21 | 2013-03-21 | Sony Corporation, A Japanese Corporation | Method and apparatus for establishing user-specific windows on a multi-user interactive table |
US20130169676A1 (en) * | 2008-09-09 | 2013-07-04 | Rick Murtagh | Methods and systems for per pixel alpha-blending of a parent window and a portion of a background image |
US20130179405A1 (en) * | 2006-11-28 | 2013-07-11 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
US20130283146A1 (en) * | 2012-04-19 | 2013-10-24 | Sap Portals Israel Ltd | Managing Web Content Creation in a Web Portal |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341466A (en) * | 1991-05-09 | 1994-08-23 | New York University | Fractal computer user centerface with zooming capability |
US5561753A (en) * | 1993-12-02 | 1996-10-01 | International Business Machines Corporation | Method and system for relocating selectable graphical objects in a graphical user interface environment |
US7062488B1 (en) * | 2000-08-30 | 2006-06-13 | Richard Reisman | Task/domain segmentation in applying feedback to command control |
US9032325B2 (en) | 2001-06-08 | 2015-05-12 | Real Enterprise Solutions Development B.V. | Management of local applications in local and remote desktops in a server-based computing environment |
US8086491B1 (en) | 2001-12-31 | 2011-12-27 | At&T Intellectual Property I, L. P. | Method and system for targeted content distribution using tagged data streams |
US20060010392A1 (en) * | 2004-06-08 | 2006-01-12 | Noel Vicki E | Desktop sharing method and system |
US10152190B2 (en) * | 2003-12-15 | 2018-12-11 | Open Invention Network, Llc | Systems and methods for improved application sharing in a multimedia collaboration session |
US20060168582A1 (en) * | 2005-01-21 | 2006-07-27 | International Business Machines Corporation | Managing resource link relationships to activity tasks in a collaborative computing environment |
US20060168533A1 (en) * | 2005-01-27 | 2006-07-27 | Microsoft Corporation | System and method for providing an indication of what part of a screen is being shared |
US20070055941A1 (en) * | 2005-09-08 | 2007-03-08 | Bhakta Dharmesh N | Method and apparatus to selectively display portions of a shared desktop in a collaborative environment |
US20070067738A1 (en) * | 2005-09-16 | 2007-03-22 | Microsoft Corporation | Extensible, filtered lists for mobile device user interface |
US20070276910A1 (en) * | 2006-05-23 | 2007-11-29 | Scott Deboy | Conferencing system with desktop sharing |
US20070282793A1 (en) * | 2006-06-01 | 2007-12-06 | Majors Kenneth D | Computer desktop sharing |
JP4176122B2 (en) * | 2006-10-24 | 2008-11-05 | 株式会社東芝 | Server terminal, screen sharing method and program |
US8217854B2 (en) * | 2007-10-01 | 2012-07-10 | International Business Machines Corporation | Method and system for managing a multi-focus remote control session |
US8555193B2 (en) * | 2008-01-17 | 2013-10-08 | Google Inc. | System for intelligent automated layout and management of interactive windows |
US8202166B2 (en) * | 2008-05-05 | 2012-06-19 | Microsoft Corporation | Multiple-player collaborative content editing |
US20090300131A1 (en) * | 2008-05-27 | 2009-12-03 | Supportspace Ltd. | Simultaneous remote and local control of computer desktop |
US9135599B2 (en) | 2009-06-18 | 2015-09-15 | Microsoft Technology Licensing, Llc | Smart notebook |
US8421762B2 (en) * | 2009-09-25 | 2013-04-16 | Apple Inc. | Device, method, and graphical user interface for manipulation of user interface objects with activation regions |
GB201001728D0 (en) * | 2010-02-03 | 2010-03-24 | Skype Ltd | Screen sharing |
US20120011451A1 (en) * | 2010-07-08 | 2012-01-12 | International Business Machines Corporation | Selective screen sharing |
US9043706B2 (en) * | 2010-08-31 | 2015-05-26 | Anders Nancke-Krogh | System and method for using state replication between application instances to provide a collaborative desktop environment |
US20120204116A1 (en) * | 2011-02-03 | 2012-08-09 | Sony Corporation | Method and apparatus for a multi-user smart display for displaying multiple simultaneous sessions |
US8624954B2 (en) * | 2011-04-29 | 2014-01-07 | Hewlett-Packard Developement Company, L.P. | Methods and systems for sharing content via a collaboration screen |
US10598508B2 (en) * | 2011-05-09 | 2020-03-24 | Zoll Medical Corporation | Systems and methods for EMS navigation user interface |
US8582828B2 (en) | 2011-06-24 | 2013-11-12 | Google Inc. | Using photographs to manage groups |
US20130007895A1 (en) * | 2011-06-29 | 2013-01-03 | International Business Machines Corporation | Managing access control for a screen sharing session |
US9304662B2 (en) | 2011-08-25 | 2016-04-05 | Vmware, Inc. | User interface virtualization techniques |
US9197427B2 (en) * | 2011-08-26 | 2015-11-24 | Salesforce.Com, Inc. | Methods and systems for screensharing |
US9549045B2 (en) * | 2011-08-29 | 2017-01-17 | Vmware, Inc. | Sharing remote sessions of a user interface and/or graphics of a computer |
US10862784B2 (en) * | 2011-10-04 | 2020-12-08 | Electro Industries/Gauge Tech | Systems and methods for processing meter information in a network of intelligent electronic devices |
US9544158B2 (en) * | 2011-10-05 | 2017-01-10 | Microsoft Technology Licensing, Llc | Workspace collaboration via a wall-type computing device |
US8788950B2 (en) | 2012-02-15 | 2014-07-22 | Seiko Epson Corporation | Method for providing multiple mouse inputs in a remote desktop session |
US9348802B2 (en) * | 2012-03-19 | 2016-05-24 | Litéra Corporation | System and method for synchronizing bi-directional document management |
US9383891B2 (en) * | 2012-03-28 | 2016-07-05 | Skytap | Methods and systems for an intermediate graphical desktop sharing protocol |
US9557878B2 (en) * | 2012-04-25 | 2017-01-31 | International Business Machines Corporation | Permitting participant configurable view selection within a screen sharing session |
CN104395924A (en) * | 2012-06-01 | 2015-03-04 | 惠普发展公司,有限责任合伙企业 | Sharing information about resources in a collaborative environment |
US20140006978A1 (en) * | 2012-06-30 | 2014-01-02 | Apple Inc. | Intelligent browser for media editing applications |
US20140204873A1 (en) * | 2012-11-07 | 2014-07-24 | Panasonic Corporation Of North America | Wireless Device Mirroring with Auto Disconnect |
EP4213001A1 (en) * | 2012-12-06 | 2023-07-19 | Samsung Electronics Co., Ltd. | Display device and method of controlling the same |
US20140280274A1 (en) * | 2013-03-15 | 2014-09-18 | Teradata Us, Inc. | Probabilistic record linking |
US9063631B2 (en) * | 2013-03-15 | 2015-06-23 | Chad Dustin TILLMAN | System and method for cooperative sharing of resources of an environment |
KR20140143971A (en) * | 2013-06-10 | 2014-12-18 | 삼성전자주식회사 | Shared home screen apparatus and method thereof |
KR20150018770A (en) * | 2013-06-17 | 2015-02-24 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Method for screen sharing, related device, and communications system |
US9635091B1 (en) | 2013-09-09 | 2017-04-25 | Chad Dustin TILLMAN | User interaction with desktop environment |
US20190037611A1 (en) * | 2013-12-23 | 2019-01-31 | Google Llc | Intuitive inter-device connectivity for data sharing and collaborative resource usage |
US10474416B1 (en) * | 2019-01-03 | 2019-11-12 | Capital One Services, Llc | System to facilitate interaction during a collaborative screen sharing session |
US11330026B1 (en) * | 2021-07-31 | 2022-05-10 | Zoom Video Communications, Inc. | Concurrent screen sharing by multiple users within a communication session |
-
2013
- 2013-03-15 US US13/842,627 patent/US9063631B2/en active Active
- 2013-09-08 US US14/020,858 patent/US20140282074A1/en not_active Abandoned
-
2015
- 2015-06-18 US US14/743,055 patent/US9971476B1/en active Active
-
2017
- 2017-04-28 US US15/582,520 patent/US10534507B1/en active Active
-
2018
- 2018-05-14 US US15/979,448 patent/US10649628B1/en active Active
-
2020
- 2020-05-11 US US16/872,189 patent/US11093115B1/en active Active
-
2021
- 2021-08-15 US US17/402,594 patent/US11556224B1/en active Active
-
2022
- 2022-12-31 US US18/092,307 patent/US20230152943A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383291B2 (en) * | 2004-05-24 | 2008-06-03 | Apple Inc. | Method for sharing groups of objects |
US20110239135A1 (en) * | 2004-09-03 | 2011-09-29 | Open Text Corporation | Systems and methods for collaboration |
US20060136828A1 (en) * | 2004-12-16 | 2006-06-22 | Taiga Asano | System and method for sharing display screen between information processing apparatuses |
US20130179405A1 (en) * | 2006-11-28 | 2013-07-11 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
US20130169676A1 (en) * | 2008-09-09 | 2013-07-04 | Rick Murtagh | Methods and systems for per pixel alpha-blending of a parent window and a portion of a background image |
US20130047095A1 (en) * | 2010-02-08 | 2013-02-21 | Oscar Divorra Escoda | Cloud desktop system with multi-touch capabilities |
US20120254773A1 (en) * | 2011-01-07 | 2012-10-04 | Subramanian V | Touch screen based interactive media sharing |
US20130073980A1 (en) * | 2011-09-21 | 2013-03-21 | Sony Corporation, A Japanese Corporation | Method and apparatus for establishing user-specific windows on a multi-user interactive table |
US20130283146A1 (en) * | 2012-04-19 | 2013-10-24 | Sap Portals Israel Ltd | Managing Web Content Creation in a Web Portal |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11061547B1 (en) * | 2013-03-15 | 2021-07-13 | Study Social, Inc. | Collaborative, social online education and whiteboard techniques |
US11252569B2 (en) | 2013-03-15 | 2022-02-15 | Assa Abloy Ab | Method, system, and device for generating, storing, using, and validating NFC tags and data |
US10521093B1 (en) | 2013-09-09 | 2019-12-31 | Chad D Tillman | User interaction with desktop environment |
US10191890B2 (en) | 2014-12-17 | 2019-01-29 | Microsoft Technology Licensing, Llc | Persistent viewports |
US11226712B2 (en) * | 2016-03-24 | 2022-01-18 | Sony Corporation | Information processing device and information processing method |
US20180060088A1 (en) * | 2016-08-31 | 2018-03-01 | Microsoft Technology Licensing, Llc | Group Interactions |
WO2018044698A1 (en) * | 2016-08-31 | 2018-03-08 | Microsoft Technology Licensing, Llc | Group data and priority in an individual desktop |
WO2018044697A1 (en) * | 2016-08-31 | 2018-03-08 | Microsoft Technology Licensing, Llc | Group interactions |
EP3860132A4 (en) * | 2018-11-14 | 2021-09-08 | Huawei Technologies Co., Ltd. | Method for playing multimedia data and electronic device |
CN112004122A (en) * | 2019-05-27 | 2020-11-27 | 三星电子株式会社 | Electronic device and control method thereof |
EP3745729A3 (en) * | 2019-05-27 | 2020-12-16 | Samsung Electronics Co., Ltd. | Electronic device and method for controlling the same |
US11016715B2 (en) * | 2019-05-27 | 2021-05-25 | Samsung Electronics Co., Ltd. | Electronic device and method for controlling the same to mirror a screen of the electronic device on an external device |
Also Published As
Publication number | Publication date |
---|---|
US10649628B1 (en) | 2020-05-12 |
US10534507B1 (en) | 2020-01-14 |
US9971476B1 (en) | 2018-05-15 |
US9063631B2 (en) | 2015-06-23 |
US11556224B1 (en) | 2023-01-17 |
US20230152943A1 (en) | 2023-05-18 |
US20140282229A1 (en) | 2014-09-18 |
US11093115B1 (en) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11556224B1 (en) | System and method for cooperative sharing of resources of an environment | |
US11206301B2 (en) | User interaction with desktop environment | |
US9483157B2 (en) | Interfacing with a spatial virtual communication environment | |
USRE46309E1 (en) | Application sharing | |
KR101565665B1 (en) | Promoting communicant interactions in a network communications environment | |
US9749367B1 (en) | Virtualization of physical spaces for online meetings | |
JP3036758B2 (en) | How to present a private area in a shared workspace | |
US20110169927A1 (en) | Content Presentation in a Three Dimensional Environment | |
KR102559791B1 (en) | Shared three-dimensional user interface with personal space | |
US20100257468A1 (en) | Method and system for an enhanced interactive visualization environment | |
CN117321985A (en) | Video conference system with multiple spatial interaction pattern features | |
US20220215342A1 (en) | Virtual collaboration environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ZOOWM OY, FINLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LAUKKANEN, JOONA;NUMMENMAA, TIMO EEMELI;WALMINK, WOUTER;AND OTHERS;SIGNING DATES FROM 20130321 TO 20130418;REEL/FRAME:031160/0172 |
|
AS | Assignment |
Owner name: ZOOWM OY, FINLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LAUKKANEN, JOONA ANTERO;NUMMENMAA, TIMO EEMELI;RULKENS, ALEXANDER WILHELM MARIA BARBARA;AND OTHERS;SIGNING DATES FROM 20130916 TO 20130925;REEL/FRAME:031475/0455 |
|
AS | Assignment |
Owner name: TILLMAN WRIGHT, PLLC, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZOOWM OY;REEL/FRAME:032141/0034 Effective date: 20140201 Owner name: TILLMAN, CHAD DUSTIN, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TILLMAN WRIGHT, PLLC;REEL/FRAME:032141/0042 Effective date: 20140204 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |