US20160070431A1 - Sync based on navigation history - Google Patents
Sync based on navigation history Download PDFInfo
- Publication number
- US20160070431A1 US20160070431A1 US14/741,068 US201514741068A US2016070431A1 US 20160070431 A1 US20160070431 A1 US 20160070431A1 US 201514741068 A US201514741068 A US 201514741068A US 2016070431 A1 US2016070431 A1 US 2016070431A1
- Authority
- US
- United States
- Prior art keywords
- file
- management system
- file management
- navigation state
- files
- 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
- 230000004044 response Effects 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 14
- 238000009877 rendering Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 46
- 230000008859 change Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
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/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1787—Details of non-transparently synchronising file systems
-
- G06F17/30176—
-
- G06F17/30235—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/04817—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 using icons
-
- 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/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/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/04845—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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
Definitions
- File management systems can allow a user to perform various operations with respect to remotely stored files. For example, a user can upload a file for storage, download stored files, or edit files. This allows for remote access to files independent of the client device assessing the file management system.
- file management systems allow for multiple users to have access to files. This allows for additional features for the users.
- the file management system can implement access controls or permissions that dictate which users can access a particular file. Sharing controls can allow a user to extend access privileges to another user of the file management system.
- Files can also be edited by multiple users, allowing for collaborative document creation or editing.
- a client device can periodically sync with the file management system. This can include downloading an updated directory of available files, updates to files, downloading newly shared or required files, or downloading other files. This can also include pushing updates to files to the file management system.
- the file directories can become quickly outdated. As a result, a user browsing a list of available files might not be presented with a list that shows, for example, the most recent versions of files. The process of synchronizing an entire file directory structure can be time consuming particularly as the size of an organization's file directories rapidly expand.
- FIG. 1 is a drawing of a networked environment according to various examples.
- FIG. 2 is a pictorial diagram of an example user interface rendered by a client in the networked environment of FIG. 1 according to various examples.
- FIGS. 3 and 4 are flowcharts illustrating examples of functionality implemented as portions of a client application.
- File management systems allow users of client devices to perform various operations with respect to remotely stored files.
- the file management system can allow the upload or download of files between a client device and the file management system.
- the file management system can also allow a client device to read files or write changes to files. These read or written files can include remotely stored instances stored by the file management system or locally stored instances of files that can be uploaded or synced with the file management system.
- the file management system can maintain user accounts defining permissions, requirements, or other attributes with respect to files.
- a client application used to access the file management system can periodically synchronize information between the file management system and the client device. For example, the client application can upload newly created files or push updates to existing files to the file management system. The client application can also download files, updates to files, or directory data from the file management system. This can ensure version consistency between instances of files stored by the client device and the file management application and that the client device stores designated or necessary files.
- a sync operation should optimize which data is downloaded from the file management system so as not to use excessive bandwidth or other computational resources.
- a client application maintains a navigation history as a user of the client application navigates through a file system of the file management system. As a directory or data file can be accessed by the client application, an indication of the accessed directory or data file can be added to the navigation history. Navigation of the file system can be performed using gesture inputs to a touch screen display.
- the client application requests, from the file management system, data based on the navigation history. This can include updated directory listings, changes to locally stored files, required files, or other data.
- the networked environment 100 includes a computing environment 101 , and a client device 104 , which are in data communication with each other via a network 107 .
- the network 107 includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, or other suitable networks, or any combination of two or more such networks.
- WANs wide area networks
- LANs local area networks
- wired networks wireless networks
- wireless networks or other suitable networks, or any combination of two or more such networks.
- such networks can include satellite networks, cable networks, Ethernet networks, and other types of networks.
- the computing environment 101 can include, for example, a server computer or any other system providing computing capabilities. Alternatively, the computing environment 101 can employ multiple computing devices that can be arranged, for example, in one or more server banks, computer banks, or other arrangements. The computing devices can be located in a single installation or can be distributed among many different geographical locations. For example, the computing environment 101 can include multiple computing devices that together form a hosted computing resource, a grid computing resource, or any other distributed computing arrangement. In some cases, the computing environment 101 can operate as at least a portion of an elastic computing resource where the allotted capacity of processing, network, storage, or other computing-related resources can vary over time. The computing environment 101 can also include or be operated as one or more virtualized computer instances. Generally, the computing environment 101 is operated in accordance with particular security protocols such that it is considered a trusted computing environment.
- the data store 111 can be representative of a single data store 111 , or a plurality of data stores 111 as can be appreciated.
- the components executed on the computing environment 101 include a file management system 114 , and other applications, services, processes, systems, engines, or functionality.
- the file management system 114 can facilitate the access and potentially the modification of files 117 by client devices 104 .
- the file management system 114 can obtain files from client devices 104 through the network 107 or from other sources for storage in the data store 111 .
- the file management system 114 can also communicate files 117 to client devices 104 through the network 107 .
- the file management system 114 can also track versions, updates, or modifications of files 117 .
- the file management system 114 can include version management or version control systems.
- the operations of the file management system 114 can be performed in accordance with permissions or requirements defined with respect to user accounts 121 .
- the data stored in the data store 111 includes, for example, a file system 116 of files 117 , file directory structures 118 , user accounts 121 , and potentially other data.
- a file system 116 defines the storage and access of files 117 by the file management system 114 .
- Files 117 include instances of data accessed or modified by the file management system 114 .
- files 117 can include documents, media, executable applications, or other data.
- File directory structures 118 can include folders or directories encoding a hierarchy, grouping or relationship of files 117 .
- User accounts 121 can define privileges or rights associated with the access or modification of files 117 .
- user accounts 121 can indicate files 117 , file directory structures 118 , or components of a file system to which a user account 121 can have permission to read, download, or otherwise access.
- User accounts 121 can also indicate files 117 or components of a file system to which a user account 121 can have permission to write, update, delete, or otherwise modify.
- User accounts 121 can also indicate files 117 that are required for download or update by a client device 104 accessing the file management system 114 through the user account 121 .
- User accounts 121 can also define logic or access credentials, including usernames, passwords, encryption keys, temporary or permanent tokens, or other credentials.
- the client device 104 is representative of a plurality of client devices that can be coupled to the network 107 .
- the client device 104 can include, for example, a processor-based system such as a computer system.
- a computer system can be embodied in the form of a desktop computer, a laptop computer, personal digital assistants, cellular telephones, smartphones, set-top boxes, music players, web pads, tablet computer systems, game consoles, electronic book readers, or other devices with like capability.
- the client device 104 can include a display 124 .
- the display 124 can include, for example, one or more devices such as liquid crystal display (LCD) displays, gas plasma-based flat panel displays, organic light emitting diode (OLED) displays, electrophoretic ink (E ink) displays, LCD projectors, or other types of display devices.
- LCD liquid crystal display
- OLED organic light emitting diode
- E ink electrophoretic ink
- LCD projectors or other types of display devices.
- the client device 104 can be configured to execute various applications such as a client application 127 and/or other applications.
- the client application 127 can be executed in a client device 104 , for example, to access network content served up by the computing environment 101 and/or other servers, thereby rendering a user interface 131 on the display 124 .
- the client application 127 can include, for example, a browser, or a dedicated application, and the user interface 131 can include a network page, or an application screen.
- the client device 104 can be configured to execute applications beyond the client application 127 such as email applications, social networking applications, word processors, spreadsheets, and/or other applications.
- a client application 127 accesses the file management system 114 using a user account 121 .
- This can include, for example, authenticating the client device 104 with the file management system 114 using authentication credentials or passing in a session identifier, cookie, token, or other identifier if the client device 104 has been previously authenticated.
- the client application 127 can then navigate through all or a portion of the file system 116 . This can include, for example, traversing through one or more directory files or accessing one or more data files 117 accessible through the user account 121 .
- the entire file directory structure for available files can be sent to the client application 127 upon initial launch, and updates can be subsequently be provided based on a user's navigation history, as described below.
- the client application 127 As the client application 127 navigates the file system 116 , the client application 127 maintains and updates a navigation history 134 indicating a progression through the file system 116 . For example, if the client application 127 accesses a file 117 , an indication of the file 117 is added to the navigation history 134 . As another example, if the client application 127 browses or navigates to a particular file directory structure 118 , an indication of the directory file may be added to the navigation history 134 . Similarly, if a client application 127 reads, updates, deletes, or otherwise modifies a file 117 , an indication of the action applied to the file 117 can also be stored in the navigation history 134 . The navigation history 134 can be stored as a sequential progression through the file system 116 , or as a list of accessed files 117 .
- Navigation through the file system 116 can be performed according to gesture inputs to a touch screen or capacitive display 124 of the client device 104 .
- a gesture can direct the client application 127 to navigate to a sequentially preceding portion of the navigation history 134 , or “go back” in the navigation history 134 .
- a navigation state 136 indicating a currently accessed or browsed file directory structure 118 can be updated to the file directory structure 118 last accessed before the current file directory structure 118 .
- the client application 127 can update the navigation state 136 to a previously browsed file directory structure 118 .
- This can include, for example, a parent directory from which the client application 127 navigated to the currently browsed directory.
- the client application 127 can also use a second gesture to navigate to a sequentially subsequent portion of the navigation history 134 , or “go forward” in the navigation history 134 .
- the gestures to “go back” and “go forward” through the navigation history 134 can include swipe gestures.
- the gesture to “go back” can correspond to a first direction
- the gesture to “go forward” can correspond to a second direction substantially opposite to the first direction.
- the client application 127 can then request a sync operation be performed with respect to the file management system 114 . This can be performed at a predefined interval, at a predefined time, in response to an indication from a user of the client application 127 to perform the sync, in response to a network 107 connection to the file management system 114 becoming available, or in response to other criteria.
- Performing the sync operation can include the client application 127 generating a sync request 137 indicating one or more file directory structures 118 for which metadata 138 will be downloaded.
- the metadata 138 can describe, for example, the contents of a file directory structure 118 , such as a listing of the files, when the files were last accessed, a current version of the files, a history of who edited the files.
- the metadata 138 can also indicate corresponding permissions, states, or other attributes corresponding to the files 117 indicated in the metadata 138 .
- the client application 127 can access the navigation history 134 to identify file directory structures 118 browsed or data files 117 accessed by the client application 127 .
- the client application 127 can filter the navigation history 134 used to generate the sync request 137 .
- the client application 127 can generate the sync request 137 using portions of the navigation history 134 created since a last sync operation.
- the client application 127 can generate the sync request 137 using portions of the navigation history 134 created within a predefined time period.
- the file directories which a user has recently accessed and therefore is more likely to access again can be updated with priority.
- the directory structure itself can become large and the metadata regarding files within a particular directory can quickly fall out of date.
- the client application 127 After identifying the file directory structures 118 or files 117 from the navigation history 134 , the client application 127 generates the sync request 137 indicating the identified file directory structures 118 or files 117 .
- the sync request 137 can also indicate an order or priority for downloading the metadata 138 in a sync response 141 .
- the priority of download can be based on a frequency or recency of access of the corresponding file 117 as indicated in the navigation history 134 , with more recently accessed directories being updated first.
- the priority can also be based on attributes defining an importance or priority tier for a corresponding file directory structure 118 or file 117 .
- the priority of file directory structures 118 or files 117 to update can be prioritized based on a user's location or a time of day. For example, when a synchronization request originating early in the morning while GPS information associated with the client device 104 indicates the user is at work can trigger a sync request for updated file directory structures 118 associated with the user's work environment. File directories that the user accessed on the previous day while at work can therefore be updated with priority. When the GPS information indicates the user has returned to home, file directory structures 118 associated with prior browsing history while a user is at home can be update with priority. In this manner, mobile browsing of file directory structures can be contextually aware to provide faster access for a user.
- the client application 127 then communicates the sync request 137 to the file management system 114 .
- the file management system 114 then generates a sync response 141 for communication to the client application 127 .
- the generated sync response 141 includes the metadata 138 corresponding to the files 117 identified in the sync request 137 that fall within the identified file directory structure(s) 118 .
- the sync response 141 includes metadata 138 corresponding to file directory structures 118 and files 117 navigated to according to the navigation history 134 .
- the sync response 141 can also include data encoding a delta between a version or instance of a file directory structure 118 or file 117 stored by the file management system 114 and a version or instance of a file directory structure 118 or file 117 stored on the client device 104 .
- files 117 of the file management system 114 can be indicated as required for download by a client device 104 .
- the designated files 117 or updates for the designated files 117 can be included in the sync response 141 regardless of whether they were identified in the sync request 137 .
- the client application 127 stores the contents of the sync response 141 in the client device 104 . This can include writing new file directory structures 118 and files 117 to memory of the client device 104 , or applying updates to stored instances of files 117 .
- FIG. 2 shown is a pictorial diagram of example user interfaces 131 encoded by a client application 127 for rendering on a display 124 of a client device 104 .
- Items 201 and 204 indicate examples of user interfaces for browsing a file system 116 accessible through a file management system 114 .
- Item 207 is a text indication of a currently browsed “Work” file directory structure 118 , nested within the “My Files,” “Projects,” and “First Quarter” file directory structures 118 .
- Within the user interface 131 of item 201 is a user interface element 211 corresponding to a file directory structure 118 for the “Secret” directory. In this example, the “Secret” directory is included in the “Work” directory.
- user interface elements 214 , 217 , and 221 corresponding to data files 117 within the “Work” directory.
- Item 224 is an exemplary text indication of a current navigation state 136 for the “First Quarter” directory, nested within the “My Files” and “Projects” directories.
- user interface elements 227 and 231 corresponding to file directory structures 118 for the “Work” and “Personal” directories, respectively.
- the “Work” directory corresponds to the currently file directory structure 118 of the user interface 131 of item 201 .
- a user interface element 234 is also in the user interface 131 of item 204 , corresponding to a data files 117 within the “First Quarter” directory.
- the “Work” file directory structure 118 browsed in item 201 can be navigated to through the “First Quarter” file directory structure 118 browsed in item 204 . Accordingly, a user can transition between item 201 and item 204 using a “go back” operation applied to a navigation history 134 , as indicated by item 237 . After doing so, a user can transition between item 204 and item 201 using a “go forward” operation applied to a navigation history 134 , as indicated by item 241 .
- the transitions indicated by items 237 and 241 can correspond to gesture inputs to a touch screen or capacitive display 124 rendering the user interfaces 131 of items 201 and item 204 . Accordingly, these gesture inputs can correspond to swipe gestures, including swipe gestures in substantially opposite directions.
- FIG. 3 shown is a flowchart that provides one example of the operation of a portion of the client application 127 .
- the flowchart of FIG. 3 can be viewed as depicting an example of elements of a method implemented in the client device 104 according to one or more examples
- the client application 127 detects a gesture input to a touch screen display 124 of the client device 104 .
- the client application 127 determines a change to a navigation state 136 according to the gesture input. This can include, for example, determining whether one or more components of a directional vector of the gesture input meet or exceed a threshold. This can also include determining whether one or more components of the directional vector are positive of negative values, and selecting the change to the navigation state 136 based on the determining. For example, the client application 127 can determine whether the gesture input corresponds to a substantially left direction or substantially right direction.
- the client application 127 can change the navigation state 136 to a sequentially preceding portion of a navigation history 134 , which can be considered a “go back” operation in the navigation history 134 .
- the client application 127 can change the navigation state 136 to a sequentially subsequent portion of a navigation history 134 , which can be considered a “go forward” operation in the navigation history 134 .
- the client application 127 modifies the navigation state 136 to reflect the determined change in step 307 .
- the client application 127 updates a user interface 131 to reflect the new navigation state 136 . This can include rendering user interface elements corresponding to files 117 of a browsed file directory structure 118 , after which the process ends.
- FIG. 4 shown is a flowchart that provides one example of the operation of a portion of the client application 127 .
- the flowchart of FIG. 4 can be viewed as depicting an example of elements of a method implemented in the client device 104 according to one or more examples.
- the client application 127 can access a navigation history 134 to identify browsed file directory structures 181 or data files 117 accessed by the client application 127 .
- the client application 127 can filter the navigation history 134 used to generate the sync request 137 .
- the client application 127 can filter the navigation history 134 to portions of the navigation history 134 created since a last sync operation.
- the client application 127 can filter the navigation history 134 to portions of the navigation history 134 created within a predefined time period.
- a synchronization operation can be requested by a user, performed automatically whenever a user accesses a new directory, or at predetermined intervals (e.g., every ten minutes once logged in, every time a user logs into the system, or every time a user navigates across a defined number of directories).
- the client application 127 After identifying the file directory structures 118 and/or files 117 from the navigation history 134 , in step 404 , the client application 127 generates the sync request 137 indicating the identified file directory structures 118 and files 117 . Then, in step 407 , the client application 127 communicates the sync request 137 to the file management system 114 . In step 411 the client application 127 obtains a sync response 141 from the file management system 114 . In some examples, the sync response 141 can include an updated file directory structure 118 , such as by providing metadata 138 associated with files 117 in the file directory structure 118 identified in the sync request 137 .
- the sync response 141 can also include data encoding a delta between a version or instance of a file 117 stored by the file management system 114 and a version or instance of a file 117 stored on the client device 104 .
- the sync response 141 can also include files 117 or file 117 metadata indicated as being required for download, or otherwise designated.
- client application 127 can be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same can also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies can include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, field-programmable gate arrays (FPGAs), or other components.
- ASICs application specific integrated circuits
- FPGAs field-programmable gate arrays
- each block can represent a module, segment, or portion of code that includes program instructions to implement the specified logical function(s).
- the program instructions can be embodied in the form of source code that includes human-readable statements written in a programming language or machine code that includes numerical instructions recognizable by a suitable execution system such as a processor in a computer system or other system.
- the machine code can be converted from the source code.
- each block can represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
- FIGS. 3 and 4 show a specific order of execution, it is understood that the order of execution can differ from that which is depicted. For example, the order of execution of two or more blocks can be scrambled relative to the order shown. Also, two or more blocks shown in succession in FIGS. 3 and 4 can be executed concurrently or with partial concurrence. Further, in some examples, one or more of the blocks shown in FIGS. 3 and 4 can be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids. It is understood that all such variations are within the scope of the present disclosure.
- any logic or application described herein, including the client application 127 , that includes software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor in a computer system or other system.
- the logic can include, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system.
- a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system.
- the computer-readable medium can include any one of many physical media such as, magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium can be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
- RAM random access memory
- ROM read-only memory
- PROM programmable read-only memory
- EPROM erasable programmable read-only memory
- EEPROM electrically erasable programmable read-only memory
- any logic or application described herein, including the client application 127 can be implemented and structured in a variety of ways.
- one or more applications described can be implemented as modules or components of a single application.
- one or more applications described herein can be executed in shared or separate computing devices or a combination thereof.
- a plurality of the applications described herein can execute in the same computing device, or in multiple computing devices in the same computing environment 103 .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application claims the benefit of and priority to U.S. Provisional Application 62/046,938, titled “USER INTERFACE FUNCTIONALITY FOR PORTABLE DEVICES” and filed Sep. 6, 2014, which is hereby incorporated by reference in its entirety.
- File management systems can allow a user to perform various operations with respect to remotely stored files. For example, a user can upload a file for storage, download stored files, or edit files. This allows for remote access to files independent of the client device assessing the file management system.
- Some file management systems allow for multiple users to have access to files. This allows for additional features for the users. For example, the file management system can implement access controls or permissions that dictate which users can access a particular file. Sharing controls can allow a user to extend access privileges to another user of the file management system. Files can also be edited by multiple users, allowing for collaborative document creation or editing.
- A client device can periodically sync with the file management system. This can include downloading an updated directory of available files, updates to files, downloading newly shared or required files, or downloading other files. This can also include pushing updates to files to the file management system. As the number of users in a system and the number of files available for editing increases, the file directories can become quickly outdated. As a result, a user browsing a list of available files might not be presented with a list that shows, for example, the most recent versions of files. The process of synchronizing an entire file directory structure can be time consuming particularly as the size of an organization's file directories rapidly expand.
- Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, with emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
-
FIG. 1 is a drawing of a networked environment according to various examples. -
FIG. 2 is a pictorial diagram of an example user interface rendered by a client in the networked environment ofFIG. 1 according to various examples. -
FIGS. 3 and 4 are flowcharts illustrating examples of functionality implemented as portions of a client application. - File management systems allow users of client devices to perform various operations with respect to remotely stored files. For example, the file management system can allow the upload or download of files between a client device and the file management system. The file management system can also allow a client device to read files or write changes to files. These read or written files can include remotely stored instances stored by the file management system or locally stored instances of files that can be uploaded or synced with the file management system. Additionally, the file management system can maintain user accounts defining permissions, requirements, or other attributes with respect to files.
- A client application used to access the file management system can periodically synchronize information between the file management system and the client device. For example, the client application can upload newly created files or push updates to existing files to the file management system. The client application can also download files, updates to files, or directory data from the file management system. This can ensure version consistency between instances of files stored by the client device and the file management application and that the client device stores designated or necessary files.
- As the client application can have access to large amounts of data of the file management system, a sync operation should optimize which data is downloaded from the file management system so as not to use excessive bandwidth or other computational resources. To this end, a client application maintains a navigation history as a user of the client application navigates through a file system of the file management system. As a directory or data file can be accessed by the client application, an indication of the accessed directory or data file can be added to the navigation history. Navigation of the file system can be performed using gesture inputs to a touch screen display. During a sync operation, the client application requests, from the file management system, data based on the navigation history. This can include updated directory listings, changes to locally stored files, required files, or other data.
- In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same.
- With reference to
FIG. 1 , shown is anetworked environment 100 according to various examples. Thenetworked environment 100 includes acomputing environment 101, and aclient device 104, which are in data communication with each other via anetwork 107. Thenetwork 107 includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, or other suitable networks, or any combination of two or more such networks. For example, such networks can include satellite networks, cable networks, Ethernet networks, and other types of networks. - The
computing environment 101 can include, for example, a server computer or any other system providing computing capabilities. Alternatively, thecomputing environment 101 can employ multiple computing devices that can be arranged, for example, in one or more server banks, computer banks, or other arrangements. The computing devices can be located in a single installation or can be distributed among many different geographical locations. For example, thecomputing environment 101 can include multiple computing devices that together form a hosted computing resource, a grid computing resource, or any other distributed computing arrangement. In some cases, thecomputing environment 101 can operate as at least a portion of an elastic computing resource where the allotted capacity of processing, network, storage, or other computing-related resources can vary over time. Thecomputing environment 101 can also include or be operated as one or more virtualized computer instances. Generally, thecomputing environment 101 is operated in accordance with particular security protocols such that it is considered a trusted computing environment. Thedata store 111 can be representative of asingle data store 111, or a plurality ofdata stores 111 as can be appreciated. - The components executed on the
computing environment 101, for example, include afile management system 114, and other applications, services, processes, systems, engines, or functionality. Thefile management system 114 can facilitate the access and potentially the modification offiles 117 byclient devices 104. To this end, thefile management system 114 can obtain files fromclient devices 104 through thenetwork 107 or from other sources for storage in thedata store 111. Thefile management system 114 can also communicatefiles 117 toclient devices 104 through thenetwork 107. Thefile management system 114 can also track versions, updates, or modifications offiles 117. To this end, thefile management system 114 can include version management or version control systems. The operations of thefile management system 114 can be performed in accordance with permissions or requirements defined with respect to user accounts 121. - The data stored in the
data store 111 includes, for example, afile system 116 offiles 117, file directory structures 118, user accounts 121, and potentially other data. Afile system 116 defines the storage and access offiles 117 by thefile management system 114.Files 117 include instances of data accessed or modified by thefile management system 114. To this end,files 117 can include documents, media, executable applications, or other data. File directory structures 118 can include folders or directories encoding a hierarchy, grouping or relationship offiles 117. - User accounts 121 can define privileges or rights associated with the access or modification of
files 117. For example, user accounts 121 can indicatefiles 117, file directory structures 118, or components of a file system to which a user account 121 can have permission to read, download, or otherwise access. User accounts 121 can also indicatefiles 117 or components of a file system to which a user account 121 can have permission to write, update, delete, or otherwise modify. User accounts 121 can also indicatefiles 117 that are required for download or update by aclient device 104 accessing thefile management system 114 through the user account 121. User accounts 121 can also define logic or access credentials, including usernames, passwords, encryption keys, temporary or permanent tokens, or other credentials. - The
client device 104 is representative of a plurality of client devices that can be coupled to thenetwork 107. Theclient device 104 can include, for example, a processor-based system such as a computer system. Such a computer system can be embodied in the form of a desktop computer, a laptop computer, personal digital assistants, cellular telephones, smartphones, set-top boxes, music players, web pads, tablet computer systems, game consoles, electronic book readers, or other devices with like capability. Theclient device 104 can include adisplay 124. Thedisplay 124 can include, for example, one or more devices such as liquid crystal display (LCD) displays, gas plasma-based flat panel displays, organic light emitting diode (OLED) displays, electrophoretic ink (E ink) displays, LCD projectors, or other types of display devices. - The
client device 104 can be configured to execute various applications such as aclient application 127 and/or other applications. Theclient application 127 can be executed in aclient device 104, for example, to access network content served up by thecomputing environment 101 and/or other servers, thereby rendering a user interface 131 on thedisplay 124. To this end, theclient application 127 can include, for example, a browser, or a dedicated application, and the user interface 131 can include a network page, or an application screen. Theclient device 104 can be configured to execute applications beyond theclient application 127 such as email applications, social networking applications, word processors, spreadsheets, and/or other applications. - Next, a general description of the operation of the various components of the
networked environment 100 is provided. To begin, aclient application 127 accesses thefile management system 114 using a user account 121. This can include, for example, authenticating theclient device 104 with thefile management system 114 using authentication credentials or passing in a session identifier, cookie, token, or other identifier if theclient device 104 has been previously authenticated. Theclient application 127 can then navigate through all or a portion of thefile system 116. This can include, for example, traversing through one or more directory files or accessing one or more data files 117 accessible through the user account 121. In one example, the entire file directory structure for available files can be sent to theclient application 127 upon initial launch, and updates can be subsequently be provided based on a user's navigation history, as described below. - As the
client application 127 navigates thefile system 116, theclient application 127 maintains and updates anavigation history 134 indicating a progression through thefile system 116. For example, if theclient application 127 accesses afile 117, an indication of thefile 117 is added to thenavigation history 134. As another example, if theclient application 127 browses or navigates to a particular file directory structure 118, an indication of the directory file may be added to thenavigation history 134. Similarly, if aclient application 127 reads, updates, deletes, or otherwise modifies afile 117, an indication of the action applied to thefile 117 can also be stored in thenavigation history 134. Thenavigation history 134 can be stored as a sequential progression through thefile system 116, or as a list of accessed files 117. - Navigation through the
file system 116 can be performed according to gesture inputs to a touch screen orcapacitive display 124 of theclient device 104. For example, a gesture can direct theclient application 127 to navigate to a sequentially preceding portion of thenavigation history 134, or “go back” in thenavigation history 134. Anavigation state 136 indicating a currently accessed or browsed file directory structure 118 can be updated to the file directory structure 118 last accessed before the current file directory structure 118. For example, if theclient application 127 is browsing a directory file, in response to the first gesture, theclient application 127 can update thenavigation state 136 to a previously browsed file directory structure 118. This can include, for example, a parent directory from which theclient application 127 navigated to the currently browsed directory. Similarly, theclient application 127 can also use a second gesture to navigate to a sequentially subsequent portion of thenavigation history 134, or “go forward” in thenavigation history 134. The gestures to “go back” and “go forward” through thenavigation history 134 can include swipe gestures. In this example, the gesture to “go back” can correspond to a first direction, while the gesture to “go forward” can correspond to a second direction substantially opposite to the first direction. - The
client application 127 can then request a sync operation be performed with respect to thefile management system 114. This can be performed at a predefined interval, at a predefined time, in response to an indication from a user of theclient application 127 to perform the sync, in response to anetwork 107 connection to thefile management system 114 becoming available, or in response to other criteria. Performing the sync operation can include theclient application 127 generating async request 137 indicating one or more file directory structures 118 for which metadata 138 will be downloaded. Themetadata 138 can describe, for example, the contents of a file directory structure 118, such as a listing of the files, when the files were last accessed, a current version of the files, a history of who edited the files. Themetadata 138 can also indicate corresponding permissions, states, or other attributes corresponding to thefiles 117 indicated in themetadata 138. - To generate the
sync request 137, theclient application 127 can access thenavigation history 134 to identify file directory structures 118 browsed ordata files 117 accessed by theclient application 127. To this end, theclient application 127 can filter thenavigation history 134 used to generate thesync request 137. For example, theclient application 127 can generate thesync request 137 using portions of thenavigation history 134 created since a last sync operation. As another example, theclient application 127 can generate thesync request 137 using portions of thenavigation history 134 created within a predefined time period. As a result, the file directories which a user has recently accessed and therefore is more likely to access again can be updated with priority. Where systems include many users and files being edited, the directory structure itself can become large and the metadata regarding files within a particular directory can quickly fall out of date. - After identifying the file directory structures 118 or
files 117 from thenavigation history 134, theclient application 127 generates thesync request 137 indicating the identified file directory structures 118 or files 117. Thesync request 137 can also indicate an order or priority for downloading themetadata 138 in async response 141. For example, the priority of download can be based on a frequency or recency of access of thecorresponding file 117 as indicated in thenavigation history 134, with more recently accessed directories being updated first. The priority can also be based on attributes defining an importance or priority tier for a corresponding file directory structure 118 or file 117. In another example, the priority of file directory structures 118 orfiles 117 to update can be prioritized based on a user's location or a time of day. For example, when a synchronization request originating early in the morning while GPS information associated with theclient device 104 indicates the user is at work can trigger a sync request for updated file directory structures 118 associated with the user's work environment. File directories that the user accessed on the previous day while at work can therefore be updated with priority. When the GPS information indicates the user has returned to home, file directory structures 118 associated with prior browsing history while a user is at home can be update with priority. In this manner, mobile browsing of file directory structures can be contextually aware to provide faster access for a user. - The
client application 127 then communicates thesync request 137 to thefile management system 114. Thefile management system 114 then generates async response 141 for communication to theclient application 127. The generatedsync response 141 includes themetadata 138 corresponding to thefiles 117 identified in thesync request 137 that fall within the identified file directory structure(s) 118. Thus, thesync response 141 includesmetadata 138 corresponding to file directory structures 118 andfiles 117 navigated to according to thenavigation history 134. - The
sync response 141 can also include data encoding a delta between a version or instance of a file directory structure 118 or file 117 stored by thefile management system 114 and a version or instance of a file directory structure 118 or file 117 stored on theclient device 104. In some examples,files 117 of thefile management system 114 can be indicated as required for download by aclient device 104. In this example, the designatedfiles 117 or updates for the designatedfiles 117 can be included in thesync response 141 regardless of whether they were identified in thesync request 137. After obtaining thesync response 141, theclient application 127 stores the contents of thesync response 141 in theclient device 104. This can include writing new file directory structures 118 andfiles 117 to memory of theclient device 104, or applying updates to stored instances offiles 117. - Moving on to
FIG. 2 , shown is a pictorial diagram of example user interfaces 131 encoded by aclient application 127 for rendering on adisplay 124 of aclient device 104.Items file system 116 accessible through afile management system 114.Item 207 is a text indication of a currently browsed “Work” file directory structure 118, nested within the “My Files,” “Projects,” and “First Quarter” file directory structures 118. Within the user interface 131 ofitem 201 is auser interface element 211 corresponding to a file directory structure 118 for the “Secret” directory. In this example, the “Secret” directory is included in the “Work” directory. Also in the user interface 131 ofitem 201 areuser interface elements data files 117 within the “Work” directory. -
Item 224 is an exemplary text indication of acurrent navigation state 136 for the “First Quarter” directory, nested within the “My Files” and “Projects” directories. Within the user interface 131 ofitem 204 areuser interface elements item 201. Also in the user interface 131 ofitem 204 is auser interface element 234, corresponding to a data files 117 within the “First Quarter” directory. - The “Work” file directory structure 118 browsed in
item 201 can be navigated to through the “First Quarter” file directory structure 118 browsed initem 204. Accordingly, a user can transition betweenitem 201 anditem 204 using a “go back” operation applied to anavigation history 134, as indicated byitem 237. After doing so, a user can transition betweenitem 204 anditem 201 using a “go forward” operation applied to anavigation history 134, as indicated byitem 241. The transitions indicated byitems capacitive display 124 rendering the user interfaces 131 ofitems 201 anditem 204. Accordingly, these gesture inputs can correspond to swipe gestures, including swipe gestures in substantially opposite directions. - Turning now to
FIG. 3 , shown is a flowchart that provides one example of the operation of a portion of theclient application 127. As an alternative, the flowchart ofFIG. 3 can be viewed as depicting an example of elements of a method implemented in theclient device 104 according to one or more examples - Beginning with
step 301, theclient application 127 detects a gesture input to atouch screen display 124 of theclient device 104. Next, instep 304, theclient application 127 determines a change to anavigation state 136 according to the gesture input. This can include, for example, determining whether one or more components of a directional vector of the gesture input meet or exceed a threshold. This can also include determining whether one or more components of the directional vector are positive of negative values, and selecting the change to thenavigation state 136 based on the determining. For example, theclient application 127 can determine whether the gesture input corresponds to a substantially left direction or substantially right direction. If the gesture input corresponds to a substantially left direction, theclient application 127 can change thenavigation state 136 to a sequentially preceding portion of anavigation history 134, which can be considered a “go back” operation in thenavigation history 134. In this example, if the gesture input corresponds to a substantially right direction, theclient application 127 can change thenavigation state 136 to a sequentially subsequent portion of anavigation history 134, which can be considered a “go forward” operation in thenavigation history 134. - After determining the change to the
navigation state 136, theclient application 127 modifies thenavigation state 136 to reflect the determined change instep 307. Instep 311, theclient application 127 updates a user interface 131 to reflect thenew navigation state 136. This can include rendering user interface elements corresponding tofiles 117 of a browsed file directory structure 118, after which the process ends. - Referring next to
FIG. 4 , shown is a flowchart that provides one example of the operation of a portion of theclient application 127. As an alternative, the flowchart ofFIG. 4 can be viewed as depicting an example of elements of a method implemented in theclient device 104 according to one or more examples. - Beginning with
step 401, theclient application 127 can access anavigation history 134 to identify browsed file directory structures 181 ordata files 117 accessed by theclient application 127. To this end, theclient application 127 can filter thenavigation history 134 used to generate thesync request 137. For example, theclient application 127 can filter thenavigation history 134 to portions of thenavigation history 134 created since a last sync operation. As another example, theclient application 127 can filter thenavigation history 134 to portions of thenavigation history 134 created within a predefined time period. A synchronization operation can be requested by a user, performed automatically whenever a user accesses a new directory, or at predetermined intervals (e.g., every ten minutes once logged in, every time a user logs into the system, or every time a user navigates across a defined number of directories). - After identifying the file directory structures 118 and/or
files 117 from thenavigation history 134, instep 404, theclient application 127 generates thesync request 137 indicating the identified file directory structures 118 and files 117. Then, instep 407, theclient application 127 communicates thesync request 137 to thefile management system 114. Instep 411 theclient application 127 obtains async response 141 from thefile management system 114. In some examples, thesync response 141 can include an updated file directory structure 118, such as by providingmetadata 138 associated withfiles 117 in the file directory structure 118 identified in thesync request 137. Thesync response 141 can also include data encoding a delta between a version or instance of afile 117 stored by thefile management system 114 and a version or instance of afile 117 stored on theclient device 104. In some examples, thesync response 141 can also includefiles 117 or file 117 metadata indicated as being required for download, or otherwise designated. Once the initial sync response based on a user'snavigation history 134 has been sent, in one example, a full sync can occur. For example, the file directory structures in a user'snavigation history 134 can first be updated, and then a full sync of system file directory structures can be performed so that all directory structures can be updated. After obtaining thesync response 141, the process ends. - Although the
client application 127, and other various systems described herein can be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same can also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies can include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, field-programmable gate arrays (FPGAs), or other components. - The flowcharts of
FIGS. 3 and 4 show the functionality and operation of an implementation of portions of theclient application 127. If embodied in software, each block can represent a module, segment, or portion of code that includes program instructions to implement the specified logical function(s). The program instructions can be embodied in the form of source code that includes human-readable statements written in a programming language or machine code that includes numerical instructions recognizable by a suitable execution system such as a processor in a computer system or other system. The machine code can be converted from the source code. If embodied in hardware, each block can represent a circuit or a number of interconnected circuits to implement the specified logical function(s). - Although the flowcharts of
FIGS. 3 and 4 show a specific order of execution, it is understood that the order of execution can differ from that which is depicted. For example, the order of execution of two or more blocks can be scrambled relative to the order shown. Also, two or more blocks shown in succession inFIGS. 3 and 4 can be executed concurrently or with partial concurrence. Further, in some examples, one or more of the blocks shown inFIGS. 3 and 4 can be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids. It is understood that all such variations are within the scope of the present disclosure. - Also, any logic or application described herein, including the
client application 127, that includes software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor in a computer system or other system. In this sense, the logic can include, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present disclosure, a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system. - The computer-readable medium can include any one of many physical media such as, magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium can be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
- Further, any logic or application described herein, including the
client application 127, can be implemented and structured in a variety of ways. For example, one or more applications described can be implemented as modules or components of a single application. Further, one or more applications described herein can be executed in shared or separate computing devices or a combination thereof. For example, a plurality of the applications described herein can execute in the same computing device, or in multiple computing devices in the same computing environment 103. - It should be emphasized that the above-described examples of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications can be made to the above-described example(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/741,068 US20160070431A1 (en) | 2014-09-06 | 2015-06-16 | Sync based on navigation history |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462046938P | 2014-09-06 | 2014-09-06 | |
US14/741,068 US20160070431A1 (en) | 2014-09-06 | 2015-06-16 | Sync based on navigation history |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160070431A1 true US20160070431A1 (en) | 2016-03-10 |
Family
ID=55437524
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/740,683 Active US9891810B2 (en) | 2014-09-06 | 2015-06-16 | Collaboration for network-shared documents |
US14/741,068 Abandoned US20160070431A1 (en) | 2014-09-06 | 2015-06-16 | Sync based on navigation history |
US14/741,925 Active 2036-04-16 US10248305B2 (en) | 2014-09-06 | 2015-06-17 | Manipulating documents in touch screen file management applications |
US15/893,966 Active US10402084B2 (en) | 2014-09-06 | 2018-02-12 | Collaboration for network-shared documents |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/740,683 Active US9891810B2 (en) | 2014-09-06 | 2015-06-16 | Collaboration for network-shared documents |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/741,925 Active 2036-04-16 US10248305B2 (en) | 2014-09-06 | 2015-06-17 | Manipulating documents in touch screen file management applications |
US15/893,966 Active US10402084B2 (en) | 2014-09-06 | 2018-02-12 | Collaboration for network-shared documents |
Country Status (1)
Country | Link |
---|---|
US (4) | US9891810B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160072841A1 (en) * | 2014-09-06 | 2016-03-10 | Airwatch Llc | Collaboration for network-shared documents |
US20170060887A1 (en) * | 2015-08-28 | 2017-03-02 | Airwatch Llc | On demand file sync |
US11892981B2 (en) | 2015-08-28 | 2024-02-06 | Airwatch Llc | On demand file sync |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9237119B1 (en) * | 2012-07-17 | 2016-01-12 | Green Room Networks, Inc. | File-attendant messaging |
USD751082S1 (en) * | 2013-09-13 | 2016-03-08 | Airwatch Llc | Display screen with a graphical user interface for an email application |
USD762688S1 (en) * | 2014-05-16 | 2016-08-02 | SkyBell Technologies, Inc. | Display screen or a portion thereof with a graphical user interface |
US10354082B2 (en) | 2014-09-06 | 2019-07-16 | Airwatch Llc | Document state interface |
USD769289S1 (en) * | 2014-12-31 | 2016-10-18 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
USD789392S1 (en) * | 2015-02-20 | 2017-06-13 | Google Inc. | Portion of a display panel with a graphical user interface |
USD803230S1 (en) | 2015-02-20 | 2017-11-21 | Google Inc. | Portion of a display panel with a graphical user interface |
USD783665S1 (en) * | 2015-06-11 | 2017-04-11 | Airwatch Llc | Display screen, or portion thereof, with a navigational graphical user interface component |
USD797771S1 (en) * | 2015-06-11 | 2017-09-19 | Airwatch Llc | Display screen, or portion thereof, with a navigational graphical user interface component |
USD783650S1 (en) * | 2015-06-11 | 2017-04-11 | Airwatch Llc | Display screen, or portion thereof, with a navigational graphical user interface component |
USD773487S1 (en) * | 2015-08-31 | 2016-12-06 | Practice Fusion, Inc. | Display screen or portion thereof with animated graphical user interface |
USD775649S1 (en) | 2015-09-08 | 2017-01-03 | Apple Inc. | Display screen or portion thereof with animated graphical user interface |
USD813243S1 (en) | 2015-09-08 | 2018-03-20 | Apple Inc. | Display screen or portion thereof with animated graphical user interface |
USD791155S1 (en) * | 2015-09-30 | 2017-07-04 | Cognitive Scale, Inc. | Display screen with cognitive commerce personal shopper trainer access graphical user interface |
USD816091S1 (en) * | 2016-04-01 | 2018-04-24 | Google Llc | Display screen portion with a transitional graphical user interface |
US10536540B2 (en) * | 2016-05-02 | 2020-01-14 | Microsoft Technology Licensing, Llc | Computing system architecture for producing file analytics |
USD817969S1 (en) * | 2016-05-19 | 2018-05-15 | Oracle International Corporation | Display screen or portion thereof with animated graphical user interface |
CN106201255B (en) * | 2016-06-30 | 2020-11-20 | 联想(北京)有限公司 | Information processing method and electronic equipment |
WO2018064219A1 (en) | 2016-09-27 | 2018-04-05 | Bigfoot Biomedical, Inc. | Personalizing preset meal sizes in insulin delivery system |
US10437464B2 (en) * | 2016-11-18 | 2019-10-08 | Adobe Inc. | Content filtering system for touchscreen devices |
US20180164910A1 (en) * | 2016-12-08 | 2018-06-14 | Lenovo (Singapore) Pte. Ltd. | Wide touchpad |
USD836769S1 (en) | 2016-12-12 | 2018-12-25 | Bigfoot Biomedical, Inc. | Insulin delivery controller |
US11096624B2 (en) | 2016-12-12 | 2021-08-24 | Bigfoot Biomedical, Inc. | Alarms and alerts for medication delivery devices and systems |
USD810101S1 (en) * | 2016-12-22 | 2018-02-13 | Palantir Technologies, Inc. | Display screen or portion thereof with graphical user interface |
USD810760S1 (en) * | 2016-12-22 | 2018-02-20 | Palantir Technologies, Inc. | Display screen or portion thereof with transitional graphical user interface |
USD813700S1 (en) | 2017-01-02 | 2018-03-27 | SkyBell Technologies, Inc. | Doorbell |
USD813701S1 (en) | 2017-01-02 | 2018-03-27 | SkyBell Technologies, Inc. | Doorbell |
USD817207S1 (en) | 2017-01-02 | 2018-05-08 | SkyBell Technologies, Inc. | Doorbell |
USD840258S1 (en) | 2017-01-02 | 2019-02-12 | SkyBell Technologies, Inc. | Doorbell |
KR102103750B1 (en) * | 2017-01-13 | 2020-04-24 | 최재호 | Apparatus for processing work activity based on work object and method performing the same |
USD864226S1 (en) | 2017-02-22 | 2019-10-22 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
USD840425S1 (en) * | 2017-05-03 | 2019-02-12 | Google Llc | Display screen with transitional graphical user interface |
USD839294S1 (en) | 2017-06-16 | 2019-01-29 | Bigfoot Biomedical, Inc. | Display screen with graphical user interface for closed-loop medication delivery |
US11389088B2 (en) | 2017-07-13 | 2022-07-19 | Bigfoot Biomedical, Inc. | Multi-scale display of blood glucose information |
USD840460S1 (en) | 2017-08-14 | 2019-02-12 | SkyBell Technologies, Inc. | Power outlet camera |
USD824791S1 (en) | 2017-08-15 | 2018-08-07 | SkyBell Technologies, Inc. | Doorbell chime |
USD840857S1 (en) | 2017-09-25 | 2019-02-19 | SkyBell Technologies, Inc. | Doorbell |
USD840856S1 (en) | 2017-09-25 | 2019-02-19 | SkyBell Technologies, Inc. | Doorbell |
USD863343S1 (en) | 2017-09-27 | 2019-10-15 | Bigfoot Biomedical, Inc. | Display screen or portion thereof with graphical user interface associated with insulin delivery |
USD870147S1 (en) * | 2017-10-17 | 2019-12-17 | Adobe Inc. | Display screen or portion thereof with icon |
USD845337S1 (en) * | 2017-12-01 | 2019-04-09 | Nasdaq, Inc. | Display screen or portion thereof with animated graphical user interface |
USD883309S1 (en) * | 2018-01-04 | 2020-05-05 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with transitional graphical user interface |
USD852077S1 (en) | 2018-02-02 | 2019-06-25 | SkyBell Technologies, Inc. | Chime |
USD903692S1 (en) * | 2018-02-22 | 2020-12-01 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with animated graphical user interface |
US20180205772A1 (en) * | 2018-03-12 | 2018-07-19 | Vaultize Technologies Private Limited | Folder and file based collaboration using messaging |
USD899435S1 (en) | 2018-03-16 | 2020-10-20 | Magic Leap, Inc. | Display panel or portion thereof with graphical user interface |
USD888741S1 (en) * | 2018-04-11 | 2020-06-30 | Tianjin Bytedance Technology Co., Ltd. | Display screen or portion thereof with an animated graphical user interface |
USD905099S1 (en) * | 2018-06-12 | 2020-12-15 | Google Llc | Display screen or portion thereof with transitional graphical user interface |
US11061552B1 (en) * | 2018-06-28 | 2021-07-13 | Atlassian Pty Ltd. | Accessing shared folders with commands in a chat interface |
TWD197847S (en) * | 2018-07-26 | 2019-06-01 | 台達電子工業股份有限公司 | Display screen graphical user interface |
US10891347B2 (en) * | 2018-12-14 | 2021-01-12 | Atlassian Pty Ltd. | Computer-implemented managed references in electronic document systems |
USD910674S1 (en) * | 2019-03-29 | 2021-02-16 | Amesite Inc. | Display screen or portion thereof with graphical user interface |
USD945436S1 (en) | 2019-04-19 | 2022-03-08 | FullStory, Inc. | Display panel portion with an animated graphical user interface |
USD918224S1 (en) | 2019-04-19 | 2021-05-04 | Luminare Incorporated | Display screen or portion thereof with animated graphical user interface |
USD913314S1 (en) | 2019-04-22 | 2021-03-16 | Facebook, Inc. | Display screen with an animated graphical user interface |
USD914051S1 (en) | 2019-04-22 | 2021-03-23 | Facebook, Inc. | Display screen with an animated graphical user interface |
USD912697S1 (en) | 2019-04-22 | 2021-03-09 | Facebook, Inc. | Display screen with a graphical user interface |
USD930695S1 (en) | 2019-04-22 | 2021-09-14 | Facebook, Inc. | Display screen with a graphical user interface |
USD913313S1 (en) | 2019-04-22 | 2021-03-16 | Facebook, Inc. | Display screen with an animated graphical user interface |
USD914049S1 (en) | 2019-04-22 | 2021-03-23 | Facebook, Inc. | Display screen with an animated graphical user interface |
USD912693S1 (en) | 2019-04-22 | 2021-03-09 | Facebook, Inc. | Display screen with a graphical user interface |
USD914058S1 (en) * | 2019-04-22 | 2021-03-23 | Facebook, Inc. | Display screen with a graphical user interface |
US10817142B1 (en) | 2019-05-20 | 2020-10-27 | Facebook, Inc. | Macro-navigation within a digital story framework |
US10757054B1 (en) | 2019-05-29 | 2020-08-25 | Facebook, Inc. | Systems and methods for digital privacy controls |
US11388132B1 (en) | 2019-05-29 | 2022-07-12 | Meta Platforms, Inc. | Automated social media replies |
USD912700S1 (en) | 2019-06-05 | 2021-03-09 | Facebook, Inc. | Display screen with an animated graphical user interface |
USD914739S1 (en) | 2019-06-05 | 2021-03-30 | Facebook, Inc. | Display screen with an animated graphical user interface |
USD924255S1 (en) | 2019-06-05 | 2021-07-06 | Facebook, Inc. | Display screen with a graphical user interface |
USD914705S1 (en) | 2019-06-05 | 2021-03-30 | Facebook, Inc. | Display screen with an animated graphical user interface |
USD918264S1 (en) | 2019-06-06 | 2021-05-04 | Facebook, Inc. | Display screen with a graphical user interface |
USD914757S1 (en) | 2019-06-06 | 2021-03-30 | Facebook, Inc. | Display screen with an animated graphical user interface |
USD917533S1 (en) | 2019-06-06 | 2021-04-27 | Facebook, Inc. | Display screen with a graphical user interface |
USD916915S1 (en) | 2019-06-06 | 2021-04-20 | Facebook, Inc. | Display screen with a graphical user interface |
USD916832S1 (en) * | 2019-08-16 | 2021-04-20 | Fevo, Inc. | Display screen with an animated graphical user interface |
US20230305673A1 (en) * | 2019-10-11 | 2023-09-28 | Kahana Group Inc. | Computer based unitary workspace leveraging multiple file-type toggling for dynamic content creation |
USD965028S1 (en) * | 2020-02-07 | 2022-09-27 | Bottomline Technologies, Inc | Display screen with a machine learning score graphical user interface |
US11941064B1 (en) | 2020-02-14 | 2024-03-26 | Bottomline Technologies, Inc. | Machine learning comparison of receipts and invoices |
CN111339557A (en) * | 2020-02-20 | 2020-06-26 | 北京字节跳动网络技术有限公司 | Online document display method, device, equipment and medium |
US11916918B2 (en) * | 2020-04-14 | 2024-02-27 | Salesforce, Inc. | System mode override during flow execution |
USD934902S1 (en) * | 2020-09-14 | 2021-11-02 | Apple Inc. | Display or portion thereof with graphical user interface |
USD978166S1 (en) * | 2020-09-21 | 2023-02-14 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Display screen with animated graphical user interface |
US11947772B2 (en) * | 2021-09-07 | 2024-04-02 | Samsung Electronics Co., Ltd. | Electronic device for displaying source information of file and operation method of same |
US20230169195A1 (en) * | 2021-11-30 | 2023-06-01 | Salesforce.Com, Inc. | Database systems and methods for securely sharing a record within a conversation |
USD1071975S1 (en) * | 2021-12-13 | 2025-04-22 | Open Workspace, LLC | Display screen or portion thereof with transitional graphical user interface |
US20230412605A1 (en) * | 2022-06-17 | 2023-12-21 | Assurant, Inc. | Dynamic computing resource set generation and access control |
USD1042521S1 (en) * | 2022-09-29 | 2024-09-17 | Fiduciary Benchmarks Insights, Llc | Display screen or portion thereof with graphical user interface |
USD1059394S1 (en) * | 2023-03-02 | 2025-01-28 | AC Carrier Technologies Inc. | Display screen or a portion thereof with a graphical user interface |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194177A1 (en) * | 1999-09-28 | 2002-12-19 | Roman Sherman | Selective information synchronization based on implicit user designation |
US20050132018A1 (en) * | 2003-12-15 | 2005-06-16 | Natasa Milic-Frayling | Browser session overview |
US20080049714A1 (en) * | 2006-08-25 | 2008-02-28 | International Business Machines Corporation | A technique for synchronizing data with a mobile device based on a synchronization context |
US20080188187A1 (en) * | 2007-02-01 | 2008-08-07 | Microsoft Corporation | Providing a power state alter signal to a device based upon a position signal corresponding to the mobile device |
US20090204900A1 (en) * | 2008-02-13 | 2009-08-13 | International Business Machines Corporation | Method And System For Navigation Of Web Sites And Applications |
US20120151354A1 (en) * | 2010-12-13 | 2012-06-14 | At&T Intellectual Property I, L.P. | Synchronization based on device presence |
US20140172793A1 (en) * | 2012-12-13 | 2014-06-19 | Microsoft Corporation | Opportunistic, priority-based object synchronization |
US20140289225A1 (en) * | 2013-03-21 | 2014-09-25 | Nextbit Systems Inc. | Prioritizing downloading of image files |
US20150186397A1 (en) * | 2013-12-31 | 2015-07-02 | Barnesandnoble.Com Llc | Ui techniques for navigating a file manager of an electronic computing device |
US9842113B1 (en) * | 2013-08-27 | 2017-12-12 | Google Inc. | Context-based file selection |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5929854A (en) | 1995-11-30 | 1999-07-27 | Ross; Michael M. | Dialog box method and system for arranging document windows |
US6745245B1 (en) * | 1998-04-09 | 2004-06-01 | Webtv Networks, Inc. | Managing access to set-top box objects using television conditional access system |
US7216304B1 (en) * | 2000-01-05 | 2007-05-08 | Apple Inc. | Graphical user interface for computers having variable size icons |
JP3879594B2 (en) * | 2001-11-02 | 2007-02-14 | 日本電気株式会社 | Switch method, apparatus and program |
US7219140B2 (en) | 2001-12-05 | 2007-05-15 | Dennis Craig Marl | Configuration and management systems for mobile and embedded devices |
US7415465B2 (en) | 2004-01-08 | 2008-08-19 | International Business Machines Corporation | Method for representing an interest priority of an object to a user based on personal histories or social context |
JP4748774B2 (en) * | 2004-06-02 | 2011-08-17 | キヤノン株式会社 | Encrypted communication system and system |
DE102004033555A1 (en) * | 2004-07-09 | 2006-02-16 | Basf Ag | Preparation of partial (meth)acrylic esters of dihydric polyalcohols by subjecting specified polyalcohols to esterification with (meth)acrylic acid or to transesterification with (meth)acrylic ester(s) in the presence of enzyme(s) |
WO2006024230A1 (en) * | 2004-08-31 | 2006-03-09 | Tencent Technology (Shenzhen) Company Limited | A system for implementing the network hard-disk based on the real-time communication platform and the method thereof |
US7519962B2 (en) * | 2004-10-07 | 2009-04-14 | Thomson Financial Llc | Command script parsing using local and extended storage for command lookup |
KR100640543B1 (en) | 2004-10-28 | 2006-10-30 | 주식회사 팬택 | Data download service method in mobile communication network |
GB2419972A (en) * | 2004-10-29 | 2006-05-10 | Hewlett Packard Development Co | Scheduling software using algebra homomorphism |
US8566711B1 (en) | 2005-11-14 | 2013-10-22 | Adobe Systems Incorporated | Document views |
US8220050B2 (en) | 2008-03-31 | 2012-07-10 | Sophos Plc | Method and system for detecting restricted content associated with retrieved content |
US8331901B2 (en) | 2009-01-28 | 2012-12-11 | Headwater Partners I, Llc | Device assisted ambient services |
JP5346506B2 (en) | 2008-06-30 | 2013-11-20 | 株式会社日立ソリューションズ | File management device |
US20100024028A1 (en) * | 2008-07-22 | 2010-01-28 | Ernest Samuel Baugher | Wireless mobile device with user selectable privacy for groups of resident application programs and files |
US8239880B1 (en) * | 2008-09-30 | 2012-08-07 | Emc Corporation | Orchestrating flow of event information to several event handling components |
JP2010140116A (en) * | 2008-12-09 | 2010-06-24 | Ricoh Co Ltd | File management apparatus, file management method, and file management program |
JP5414282B2 (en) * | 2009-01-07 | 2014-02-12 | キヤノン株式会社 | File management system, file management method and program |
US8850549B2 (en) * | 2009-05-01 | 2014-09-30 | Beyondtrust Software, Inc. | Methods and systems for controlling access to resources and privileges per process |
US8612380B2 (en) | 2009-05-26 | 2013-12-17 | Adobe Systems Incorporated | Web-based collaboration for editing electronic documents |
DE102010018200A1 (en) * | 2010-04-26 | 2011-10-27 | Schaeffler Technologies Gmbh & Co. Kg | Control valve, in particular proportional valve |
EP2572493A1 (en) * | 2010-05-21 | 2013-03-27 | Vaultive Ltd. | System and method for controlling and monitoring access to data processing applications |
JP5656563B2 (en) | 2010-11-02 | 2015-01-21 | キヤノン株式会社 | Document management system, document management system control method, and program |
US20160277412A1 (en) * | 2010-11-17 | 2016-09-22 | Invysta Technology Group | Methodology for identifying local/mobile client computing devices using a network based database containing records of hashed distinctive hardware, software, and user provided biometric makers for authorization of electronic transactions and right of entry to secure locations |
US8706559B2 (en) * | 2010-12-23 | 2014-04-22 | Mastercard International Incorporated | Methods and systems for activating a contactless transaction card |
JP5250667B2 (en) * | 2011-06-29 | 2013-07-31 | 株式会社ソニー・コンピュータエンタテインメント | Information processing apparatus and information processing method |
KR20130035396A (en) | 2011-09-30 | 2013-04-09 | 삼성전자주식회사 | Method and apparatus for interactive displaying of electronic file images |
JP5392661B2 (en) * | 2011-12-16 | 2014-01-22 | シャープ株式会社 | Electronics |
KR101295209B1 (en) * | 2012-02-01 | 2013-09-12 | 엔에이치엔(주) | Group messaging system, method and computer readable recording medium for providing file sharing through bidirectional interlock with a cloud server |
US20130201107A1 (en) * | 2012-02-08 | 2013-08-08 | Microsoft Corporation | Simulating Input Types |
US20130239003A1 (en) | 2012-03-06 | 2013-09-12 | Touchalbums Llc | Digital album production and distribution architecture |
US20130254699A1 (en) | 2012-03-21 | 2013-09-26 | Intertrust Technologies Corporation | Systems and methods for managing documents and other electronic content |
US20140245015A1 (en) | 2012-04-27 | 2014-08-28 | Intralinks, Inc. | Offline file access |
US9055387B1 (en) | 2012-05-24 | 2015-06-09 | Joingo, Llc | Method and system for self-regulating content download |
US9244673B2 (en) | 2012-06-08 | 2016-01-26 | Apple Inc. | System and method for updating application archive files |
US9158746B2 (en) | 2012-06-13 | 2015-10-13 | International Business Machines Corporation | Managing concurrent editing in a collaborative editing environment using cursor proximity and a delay |
US8538829B1 (en) * | 2012-06-30 | 2013-09-17 | At&T Intellectual Property I, L.P. | Enhancing a user's shopping experience |
US9405821B1 (en) * | 2012-08-03 | 2016-08-02 | tinyclues SAS | Systems and methods for data mining automation |
US9361473B2 (en) * | 2012-09-14 | 2016-06-07 | Google Inc. | Correcting access rights of files in electronic communications |
US10275609B2 (en) | 2012-12-07 | 2019-04-30 | Benedict Ow | File sharing system and method |
US9367646B2 (en) | 2013-03-14 | 2016-06-14 | Appsense Limited | Document and user metadata storage |
WO2014145913A1 (en) | 2013-03-15 | 2014-09-18 | Adt Us Holdings, Inc. | Security system access profiles |
KR102079816B1 (en) * | 2013-05-14 | 2020-02-20 | 삼성전자주식회사 | Method and apparatus for providing contents curation service in electronic device |
US20140380417A1 (en) * | 2013-06-25 | 2014-12-25 | Alcatel Lucent | Methods And Devices For Controlling Access To Distributed Resources |
US9542281B2 (en) * | 2013-09-17 | 2017-01-10 | Netapp, Inc. | Systems and methods for providing snapshots of applications to remote locations with minimal performance impact |
US9817987B2 (en) | 2013-12-23 | 2017-11-14 | Dropbox, Inc. | Restricting access to content |
US20150205464A1 (en) | 2014-01-22 | 2015-07-23 | Microsoft Corporation | Updating a user interface to a service |
US20180011627A1 (en) | 2014-06-16 | 2018-01-11 | Siracusano | Meeting collaboration systems, devices, and methods |
US9349691B2 (en) * | 2014-07-24 | 2016-05-24 | International Business Machines Corporation | Semiconductor device with reduced via resistance |
US9891810B2 (en) | 2014-09-06 | 2018-02-13 | Airwatch Llc | Collaboration for network-shared documents |
US10678750B2 (en) | 2015-08-28 | 2020-06-09 | AirWatcha, LLC | On demand file sync |
US11106632B2 (en) * | 2016-11-16 | 2021-08-31 | Commvault Systems, Inc. | Dynamically configuring a proxy server using containerization for concurrent and/or overlapping backup, restore, and/or test operations |
-
2015
- 2015-06-16 US US14/740,683 patent/US9891810B2/en active Active
- 2015-06-16 US US14/741,068 patent/US20160070431A1/en not_active Abandoned
- 2015-06-17 US US14/741,925 patent/US10248305B2/en active Active
-
2018
- 2018-02-12 US US15/893,966 patent/US10402084B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194177A1 (en) * | 1999-09-28 | 2002-12-19 | Roman Sherman | Selective information synchronization based on implicit user designation |
US20050132018A1 (en) * | 2003-12-15 | 2005-06-16 | Natasa Milic-Frayling | Browser session overview |
US20080049714A1 (en) * | 2006-08-25 | 2008-02-28 | International Business Machines Corporation | A technique for synchronizing data with a mobile device based on a synchronization context |
US20080188187A1 (en) * | 2007-02-01 | 2008-08-07 | Microsoft Corporation | Providing a power state alter signal to a device based upon a position signal corresponding to the mobile device |
US20090204900A1 (en) * | 2008-02-13 | 2009-08-13 | International Business Machines Corporation | Method And System For Navigation Of Web Sites And Applications |
US20120151354A1 (en) * | 2010-12-13 | 2012-06-14 | At&T Intellectual Property I, L.P. | Synchronization based on device presence |
US20140172793A1 (en) * | 2012-12-13 | 2014-06-19 | Microsoft Corporation | Opportunistic, priority-based object synchronization |
US20140289225A1 (en) * | 2013-03-21 | 2014-09-25 | Nextbit Systems Inc. | Prioritizing downloading of image files |
US9842113B1 (en) * | 2013-08-27 | 2017-12-12 | Google Inc. | Context-based file selection |
US20150186397A1 (en) * | 2013-12-31 | 2015-07-02 | Barnesandnoble.Com Llc | Ui techniques for navigating a file manager of an electronic computing device |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160072841A1 (en) * | 2014-09-06 | 2016-03-10 | Airwatch Llc | Collaboration for network-shared documents |
US9891810B2 (en) * | 2014-09-06 | 2018-02-13 | Airwatch Llc | Collaboration for network-shared documents |
US20170060887A1 (en) * | 2015-08-28 | 2017-03-02 | Airwatch Llc | On demand file sync |
US10678750B2 (en) * | 2015-08-28 | 2020-06-09 | AirWatcha, LLC | On demand file sync |
US11892981B2 (en) | 2015-08-28 | 2024-02-06 | Airwatch Llc | On demand file sync |
Also Published As
Publication number | Publication date |
---|---|
US10402084B2 (en) | 2019-09-03 |
US20160072841A1 (en) | 2016-03-10 |
US20160070432A1 (en) | 2016-03-10 |
US9891810B2 (en) | 2018-02-13 |
US20180164979A1 (en) | 2018-06-14 |
US10248305B2 (en) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160070431A1 (en) | Sync based on navigation history | |
US10354082B2 (en) | Document state interface | |
US20220283992A1 (en) | Prioritizing content item synchronization based on sharing | |
US10484456B2 (en) | Sharing a content item | |
AU2014284461B2 (en) | Syncing content clipboard | |
EP3235213B1 (en) | No password user account access | |
US9817987B2 (en) | Restricting access to content | |
US9344433B2 (en) | Unregistered user account generation for content item sharing | |
US9747321B2 (en) | Providing a content preview | |
US20140289360A1 (en) | Local server for synced online content management system | |
US10348821B2 (en) | Prioritizing structural operations and distributing changes in a synced online content management system | |
US9613047B2 (en) | Automatic content item upload | |
US20140304384A1 (en) | Uploading large content items | |
US10678750B2 (en) | On demand file sync | |
US20140229438A1 (en) | Multiple platform data storage and synchronization | |
US11809381B2 (en) | Accessing network based content items by a mobile device while offline | |
US11892981B2 (en) | On demand file sync |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AIRWATCH LLC, GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CAPORAL, COLLEEN;ARORA, GAURAV;ABEER, MUHAMMAD;SIGNING DATES FROM 20150609 TO 20150616;REEL/FRAME:035852/0358 |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |