The present invention is defined by the claims below, not this summary. This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Embodiments of the present invention provide for coordinating the sharing of an item residing on a first computing device with a user by way of a remote sharing service and a local sharing application.
In a first aspect, a set of computer-executable instructions provides a method of sharing an item that includes receiving an indication that the item is to be shared with a user who is associated with a user identifier. A copy of the item is provided to a remote sharing service that permits access to the copy based on the user identifier. The user identifier is associated with an attribute of the item for providing immediate access to the item by way of communication with the first computing device.
In another illustrative aspect, a set of computer-executable instructions provides another method of sharing an item that resides on a first computing device. One embodiment of the method includes providing a user interface that presents a sharing option for sharing the item with a user who is associated with a user identifier by way of a remote sharing service. The embodiment further includes receiving a selection of the sharing option causing configuration of the user's sharing experience. An attribute of the item is modified such that the user is immediately permitted to access the item from a second computing device upon establishing a connection with the first computing device.
In a third illustrative aspect, a set of computer-executable instructions provides another method of sharing an item residing on a first computer. One embodiment includes displaying an option for invoking a remote sharing service that maintains an association between a user and a user identifier. The embodiment also includes invoking the remote sharing service such that the remote sharing service retrieves a copy of the item and allows access to the copy based on the user identifier. The embodiment further includes modifying an attribute of the item such that permission to access the item is associated with the user identifier. According to the embodiment, an indication is received indicating that the user is attempting to access the item from a second computing device coupled to the first computing device by way of a LAN, and access is granted to the item incident to verifying that the user is associated with the user identifier.
Illustrative embodiments of the present invention are described in detail below with reference to the attached drawing figures, which are incorporated by reference herein and wherein:
Embodiments of the present invention provide systems and methods for sharing an item residing on a first computing device with a user who is associated with a user identifier by synchronizing sharing operations between a remote sharing service and a local sharing application.
Throughout the description of the present invention, several acronyms and shorthand notations are used to aid the understanding of certain concepts pertaining to the associated system and services. These acronyms and shorthand notations are solely intended for the purpose of providing an easy methodology of communicating the ideas expressed herein and are in no way meant to limit the scope of the present invention. The following is a list of these acronyms:
The invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, etc., refer to code that perform particular tasks or implement particular abstract data types. The invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
Computer-readable media include both volatile and nonvolatile media, removable and nonremovable media, and contemplates media readable by a database, a switch, and various other network devices. By way of example, and not limitation, computer-readable media comprise media implemented in any method or technology for storing information. Examples of stored information include computer-executable instructions, data structures, program modules, and other data representations. Media examples include, but are not limited to information-delivery media, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVD), holographic media or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage, and other magnetic storage devices. These technologies can store data momentarily, temporarily, or permanently.
An exemplary operating environment in which various aspects of the present invention may be implemented is described below in order to provide a general context for various aspects of the present invention. Referring initially to
Computing device 100 includes a bus 110 that directly or indirectly couples the following devices: memory 112, one or more processors 114, one or more presentation components 116, input/output ports 118, input/output components 120, and an illustrative power supply 122. Bus 110 represents what may be one or more busses (such as an address bus, data bus, or combination thereof). Although the various blocks of
Memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. Computing device 100 includes one or more processors that read data from various entities such as memory 112 or I/O components 120. Presentation component(s) 116 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
I/O ports 118 allow computing device 100 to be logically coupled to other devices including I/O components 120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, keyboard, pen, voice-input device, touch-input device, touch-screen device, interactive display device, or a mouse.
Turning to
Networking environment 200 is merely an example of one suitable networking environment and is not intended to suggest any limitation as to the scope of use or functionality of the present invention. Neither should networking environment 200 be interpreted as having any dependency or requirement related to any single component or combination of components illustrated therein. Computing devices 210, 220, and 226 can be any type of computing device that is capable of communicating via LAN 215 and/or network 217, and may be, for example, computing devices such as computing device 100 described above with reference to
As shown in
Computing device 210 also includes a sharing-service application 216 that is associated with a remote sharing service hosted by a remote sharing server 230 or 236. Sharing-service application 216 can be installed, according to an embodiment, upon registration of the remote sharing service with computing device 210. Sharing-service application 216 facilitates sharing items such as folder 212 and/or file 214 with users associated with other computing devices such as, for example, computing devices 220 and 226. In one embodiment, invocation of sharing-service application 216 enables a user of computing device 210 to utilize item-sharing services offered by an associated remote sharing service hosted by a remote sharing server 230 or 236. In various embodiments, remote sharing servers 230 and 236 retrieve a copy of an item to be shared and maintain that copy such that other users can access it. In various embodiments, computing device 210 includes more than one sharing application. In some embodiments, computing device 210 communicates with a number of sharing services, and includes a local application for each service. According to an embodiment of the present invention, all of the sharing applications available on computing device 210 can be accessed from a single user interface such as, for example, a pull-down menu having buttons or other selectable options (e.g., icons) representing each sharing service.
According to various embodiments, sharing-service application 216 enables a user of computing device 210 to apply various types of access permission settings, which specify a type of access to an item that a particular user is permitted, to an item such as, for example, by modifying a security descriptor associated with an item. A security descriptor can include an access control list (ACL) such as a mandatory access control list (MACL) or a discretionary access control list (DACL). In various embodiments, a security descriptor includes both types of ACLs. In other embodiments, security descriptors include other structures used for authorizing access to a particular item such as, for example, domain names, log-in names, and the like.
With continued reference to
In some embodiments, local sharing application 218 is not a full-scale application, but rather is a service or other functionality enabled by a program module, communications protocol, application programming interface (API), or the like. For example, in one embodiment, local sharing application 218 includes a package of services enabled by the Server Message Block (SMB) protocol such as the Common Internet File System (CIFS), available from Microsoft Corporation of Redmond Wash.
In an embodiment, local sharing application 218 includes a native application or software module residing on computing device 210 and in another embodiment, local sharing application 218 includes an application or software module associated with remote sharing server 230 or 236. In a further embodiment, local sharing application 218 includes an API that is called by sharing-service application 216 to ACL items to online identities. Embodiments of the present invention are capable of similar functionality regardless of the security methods used. In some cases, for example, access to items is managed by utilizing NT Domain authentication, login authentication, and the like. Additionally, an item may have a number of corresponding ACLs.
Although not illustrated in
It should be noted that any kind of user identifier can be used in the implementation of various embodiments of the present invention such as, for example, a user's online identification, an email address, a log-in identifier, a network access identifier, a user-generated identifier, and the like. In various embodiments, the user identifier is used by remote sharing servers 230 or 236 to identify, authenticate, and/or authorize the associated user with regard to utilization of the sharing services provided by the remote sharing servers 230 or 236.
With continued reference to
As illustrated in
In various embodiments, computing device 210 communicates a copy 234 or 240 of an item that is to be shared to remote sharing server 230 or 236 and a user associated with computing device 210 sets access permissions on that copy 234 or 240. Accordingly, a user associated with computing device 226 may access the copy 234 or 240 of the item according to the access permission settings. Remote sharing services such as those hosted by sharing servers 230 and 236 may provide a variety of services, functions, customizations, and other modifications to the sharing experience. All of these variables are contemplated within the ambit of the present invention.
As illustrated in
According to an embodiment of the present invention, remote sharing server 230 receives a copy 234 of an item to be shared from computing device 210 and maintains copy 234 in storage component 232. Access permission settings and other forms of security can be associated with copy 234, and access is granted to users associated with computing devices 210, 220, and/or 226, depending upon the access permissions set via remote sharing server 230. As illustrated in
Turning now to
As illustrated at 330, user A 310 invokes a sharing-service application 316 to facilitate sharing an item 314 that resides on user A's 310 computing device 311 with user B 312. User B 312, although not illustrated in
In addition to providing copy 322 to remote sharing server 318, sharing-service application 316 also causes a set of access permission settings to be applied to item 314, as illustrated at 332. In various embodiments, access permission settings applied to item 314 are similar to, or the same as, access permission settings associated with copy 322 as maintained by remote sharing server 318. In other embodiments, access permission settings are modified within computing device 311 such as, for example, to change the format into a format compatible with computing device 311. The access permission settings are applied to item 314 immediately upon initiating a sharing experience via sharing application 316. As illustrated at 334 and 336, respectively, user B 312 can access copy 322 when remote sharing server 318 has completed upload of copy 322 and has completed any internal processes and functions related to providing a sharing service, and user B 312 may immediately access item 314 from computing device 311, provided that user B 312 utilizes a computing device to connect to computing device 311. In some embodiments, this connection includes a connection by way of LAN 315.
With reference to
According to an embodiment of the present invention, a user can select one or more items 422 for sharing with another user. For example, in an embodiment, a user selects item 424. An indication is communicated to the associated computing device that indicates that item 424 has been selected for sharing with another user. As illustrated in
In an embodiment, once the user has selected item 424 for sharing with another user, various types of information associated with item 424 are presented to the user, as indicated in the information bar 420 shown in
After selecting item 424, the user, as illustrated in
The additional UI 428 presents a variety of options 431, 432, 434, and 436 to the user such as, for example, contact information or identification of users with whom the user can share items. Option 436 illustrated in
Turning now to
Turning to
As further illustrated in
The sharing-service application provides another UI 540, as illustrated in
As illustrated in
To recapitulate, we have described systems and methods for sharing an item that resides on a first computing device. Turning now to
At step 912, an access permission is received. In various embodiments, users set access permissions that allow various levels or types of access to an item such as, for example, “read only,” “edit,” “full access,” and the like. At step 914, a copy of the item is provided to a remote sharing service. In an embodiment, the remote sharing service permits the user to access the copy of the item based on the user identifier being authenticated by the sharing service. Additionally, as shown at step 916, the user identifier is associated with an attribute of the item to permit the user to access the item via a LAN. In embodiments, the LAN facilitates communication between a second computing device, which is associated with the user, and the first computing device. In various embodiments, the attribute that is modified is a security descriptor that includes an ACL. According to embodiments of the present invention, associating the user identifier with the attribute makes the item immediately available to the user by way of the LAN. In a final illustrative step, step 918, the attribute of the item is modified to reflect the access permission.
Turning now to
At a step 1014, a selection of one or more of the sharing options is received and, at step 1016, a copy of the item is provided to the sharing service. At step 1018, an attribute of the item is modified to permit the user immediate access to the item from a second computing device upon establishing a connection with the first computing device. In an embodiment, the attribute is a security descriptor which includes a DACL.
In various embodiments, the connection between the two computing devices includes a network common to the two computing devices such as, for example, a LAN or a WAN, that includes a number of LANs. At a step 1020, the user is notified that the copy of the item is available to the user by way of the remote sharing service. In an embodiment, a process located on the first computing device provides the notification. In other embodiments, the remote sharing service provides the notification. At a final illustrative step, step 1022, the user is also notified that the item is available to the user by way of access (e.g., through a LAN, WAN, and the like) to the first computing device. The order in which the notifications are presented can occur opposite the order presented above. Additionally, the notifications can occur simultaneously, as can various other steps in this and other embodiments of the method.
Turning now to
At step 1116, an attribute of the item is modified such that permission to access the item is associated with the user identifier. The modification makes the item immediately available to the user by way of a LAN that connects the first computing device with a second computing device associated with the user. At step 1118, an indication that the user is attempting to access the item via the LAN is received, and at a step 1120, the user's association with the user identifier is verified. At a final illustrative step, step 1122, the user is granted access to the item.
Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the spirit and scope of the present invention. Embodiments of the present invention have been described with the intent to be illustrative rather than restrictive. Alternative embodiments will become apparent to those skilled in the art that do not depart from its scope. A skilled artisan may develop alternative means of implementing the aforementioned improvements without departing from the scope of the present invention.
For example, in one embodiment, a sharing-service application may be installed as a plug-in function to a local sharing application. In another embodiment, a sharing-service application may be automatically installed pursuant to a request to install communicated from a sharing server to a computing device. In a further embodiment, an update functionality may be incorporated such that an ACL associated with an item is automatically updated to reflect a change in a user identifier associated with a copy of the item hosted by a sharing service.
According to an embodiment of the present invention, a control panel user interface may be provided, which displays all of the items that can be shared, and includes various tools and objects that facilitate sharing the items with other users. In another embodiment, a sharing subfolder is provided within a start menu. Selection of the subfolder can invoke various aspects of the present invention.
It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated within the scope of the claims. Not all steps listed in the various figures need be carried out in the specific order described.
This application is a continuation of and claims priority to and claims priority to U.S. Nonprovisional application Ser. No. 14/302,077, filed Jun. 11, 2014, having Attorney Docket Number 323785-US-CNT/MFCP.210506, which is a continuation of U.S. Nonprovisional application Ser. No. 12/163,529, filed Jun. 27, 2008, having Attorney Docket Number 323785.01/MFCP.140312, which issued on Jul. 8, 2014 U.S. Pat. No. 8,775,548, the entire contents of each of which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 14302077 | Jun 2014 | US |
Child | 15405833 | US | |
Parent | 12163529 | Jun 2008 | US |
Child | 14302077 | US |