4

A PATENT APPLICATION WITH SOME OVER-BROAD CLAIMS ON synchronizing groups of files from a storage system to a client device - This application from Citrix seeks to patent the idea of...Selecting groups of files to copy from a storage system to a client device! 10 minutes of your time can help narrow US patent applications before they become patents. Follow @askpatents on twitter to help.

QUESTION - Have you seen anything that was published before Feb 14, 2013 that discusses:

  • Selecting groups of files to copy together when synchronizing a client device

If so, please submit evidence of prior art as an answer to this question. We welcome multiple answers from the same individual.

EXTRA CREDIT - A reference to anything that meets all of the criteria to the question above AND ALSO scores files based on relevancy to determine whether they should be synchronized as part of a group of files

TITLE: Synchronizing groups of files to client device

Summary: [Translated from Legalese into English] A method for synchronizing data between client device and storage system, comprising: selecting a set of files which are related to a particular file based on any selection criteria and copying those files to from the storage system to the client device

  • Publication Number: US 20130212067 A1
  • Application Number: US 13/767,510
  • Assignee: Citrix
  • Prior Art Date: Seeking prior Art predating Feb 14, 2013
  • Open for Challenge at USPTO: Open through 2/11/2014
  • Link to Google Prior Art Search - "Find Prior Art"

Claim 1 requires each and every step below:

A method of synchronizing data between a client device and a storage repository, the method comprising:

  1. Establishing a communications channel between the client device and the storage repository;

  2. From a storage location for files to be synchronized between the client device and the storage repository, selecting a set of files which is related to a particular file based on a set of selection criteria; and

  3. While the communications channel is established, copying data of the selected set of files between the client device and the storage repository to synchronize the selected set of files between the client device and the storage repository.

In English this means:

A method for sychronizing data between a client device and a storage system, comprising:

  1. Connecting the client device and the storage system

  2. Selecting a set of files which is related to a particular file based on any selection criteria

  3. Copying the set of files to/from the storage system to the client device

EDIT

While the features of claim 1 seem old and that claim may be quickly rejected, as the claims get narrower they get closer to what the applicant seems to consider important.

This application is about files that are given an overall figure of merit that is used to decide what gets automatically moved to the client and in what order or priority. They are trying to solve the problem of having much more stored in the cloud than you want to dedicate space to on the client, but to still have synced copies of things locally,hopefully before you need them, by heuristics predicting your needs based on this overall figure of merit that involves frequency of access and access to things with similar names or in nearby folders.

The examiner will not need our help to reject Claim 1. See Claim 5 below:

A method as in claim 4 wherein providing, for each file of the group of files, the respective overall score includes:

applying each file relevancy factor of the set of file relevancy factors to each file of the group of files to generate a set of relevancy scores for that file, and for each file,

aggregating the set of relevancy scores for that file to generate an aggregate score as the respective overall score for that file, the selected set of files being distinguished from the remaining files of the group based on the aggregate score generated for each file.

Good prior art would be evidence of a system that did each and every one of these steps prior to Feb 14, 2013

You're probably aware of ten pieces of art that meet this criteria already... separately, the applicant is claiming scoring files based on relevancy to determine whether they should be synchronized as part of a group of files


"Selecting groups of files to synchronize together from the Applicant"


What is good prior art? Please see our FAQ.

Want to help? Please vote or comment on submissions below. We welcome you to post your own request for prior art on other questionable US Patent Applications.


1
  • Thanks for the excellent edits, @georgewhite - very helpful. Commented Sep 14, 2013 at 0:32

12 Answers 12

5

There's an old blog post on dropbox.com describing their mobile apps:

enter image description here

The bullet points hit all the three claims, I think:

  • "Browse files in your Dropbox folder" = "Connecting client device and storage system"
  • "Search through your Dropbox.." = "Selecting a set of files which is related to a particular file based on [some] selection criteria"
  • "Open images and other media directly through the app / export files to other apps" = "Copying the set of files to/from the storage system to the client device"

Of course, there is probably even earlier prior art. This is just the one I found first. I tried to find a self-contained prior art for Rsync, which came out in 1996, but I didn't find one that was so easily lifted as the Dropbox one.

1
  • The question has been edited to include what may be the actual focus of the application. After you get past the easily dismissed claims it gets to more of caching system based on particular heuristics.
    – George White
    Commented Sep 14, 2013 at 1:17
4

See information on MS Windows briefcase below:

This functionality was available in Windows 95, 98 and XP. Note that it mentions:

  • "a set of files"
  • laptop is the "client device" for the briefcase
  • "storage system" is floppy drive in briefcase
3

Have you ever heard of SVN? GitHub? that does exactly that.... All the contents of the revision are seen as part of the total, it's all included in the version management. SVN sees everything in the working copy folder/revision folder on server as a total all in one system. When files are modified or added or downloaded, it's done by selection criteriea like modified, version number, updater, etc..... so it actually does everything the patent describes.

SVN update, connect to storage repository to update local version or svn commit and copy updated files to storage repository

Select which to update, based on modified status or added status or deleted status

upload/copy to the repository

http://subversion.apache.org/docs/release-notes/release-history.html active since 2000

Ftp

Connect... select which to upload by clicking on files or giving wildcard criteria(depending on console based or ui based) Copy to host http://en.wikipedia.org/wiki/File_Transfer_Protocol

need more?

1
  • 2
    That may nail claim 1. Reading further into the claims gets at what the applicant is really going after. The question has been edited to include claim 5 and commentary. This seems to be intended to be automatic copying where what is copied when is based on an overall figure of merit calculated for each file. More of a caching scheme.
    – George White
    Commented Sep 14, 2013 at 0:25
3

Google Chrome has the ability to download webpages (files) related to the current one pre-emptively. I think this covers "selecting a set of files which is related to a particular file."

From 2011: http://blog.chromium.org/2011/06/prerendering-in-chrome.html

1
  • 1
    The question as been edited to mention some of the narrower claims that have more meat and therefore require more digging to find prior art
    – George White
    Commented Sep 14, 2013 at 0:22
3

From the request, it sounds like this is a patent for predictive caching:

"trying to solve the problem of having much more stored in the cloud than you want to dedicate space to on the client"

This is not an exact match, but hopefully close enough that their claim seems a little more obvious.

In computers, there is a storage trade-off: the hard drive (like the server) has a lot of storage space but is slow to access, and the solid-state drive (like the client) has more limited storage but is fast to access.

Companies have improved this situation by including both types of storage in some computers. A controller analyzes usage patterns to find the data most likely to be needed and caches them on a per-file or per-block basis. This helps use the limited (and expensive!) space on the SSD more efficiently.

A well-known practical example of this is Apple's Fusion Drive, which was patented in 2011, announced publicly on 23 Oct 2012, and released later in 2012.

3
  • You have just given an example of caching. Caching has been used at all levels in computers from within the CPU to across networks for many years.
    – George White
    Commented Sep 15, 2013 at 6:09
  • 1
    @GeorgeWhite that's basically what this is, right? A smart way to cache files from the cloud.
    – Kevin Chen
    Commented Sep 15, 2013 at 14:44
  • It seems to be blend of syncing and caching at a file level.
    – George White
    Commented Sep 15, 2013 at 17:12
3

It seems to me that predictive prefetching of files would be covered by these claims, assuming that the prediction was based on scoring.

"Using multiple predictors to improve the accuracy of file access predictions." by Whittle, G.A.S.; Paris, J.-F. ; Amer, A. ; Long, D.D.E. ; Burns, R. (http://scholar.google.com/scholar?cluster=4100184606292517071&hl=en&as_sdt=20000005&sciodt=0,21) seems to describe a such a system, using the "effective miss ratio" as a scoring mechanism.

2

Most Usenet news agents have some implementation of selective synchronization with a news server. In general, the differences are that the protocol is NNTP (not whatever Citrix supports) and the scoring is done at the client (with reference at least to article header values, which must be downloaded).

For a description of the extremely flexible scoring system in Gnus (the Usenet agent that comes with Emacs), see Gnus Manual, Ch. 7. An article (file) may be downloaded in full (or not) depending on its accumulated score. This score is computed using potentially very many individual tests, each of which may raise or lower it. A user's scoring rules may examine meta-data only (header values, here), the body text, or any combination of both. Indeed, it is probably more flexible than what is described in this application.

The scoring rules in Gnus may also be permanent, may persist for some limited duration (and disappear thereafter), or simply be one-shot scores. Moreover, Gnus provides an adaptive scoring implementation, with which it will attempt to score articles automatically, based on the user's historical activity. Finally, parts the Gnus scoring system may also be applied to logical groups of files (Usenet threads, say), in contrast to the usual scoring of one file against its peers.

I believe most, if not all, of the particulars of Claims 3-13 (the actual scoring claims) can find defeat within the Gnus scoring system. The surrounding claims are sufficiently dealt with by other answers (and any file-download UI, like, say, a news agent).

1

I think the IMAP protocol covers most of these points.

paraphrasing the docs: IMAP is much more than an email protocol it is also a file storage and syncing/retrieval protocol.

0

One benefit of selective sync in the latest Dropbox release article(http://lifehacker.com/5714468/dropbox-hits-version-10-leaves-its-beta-days-behind)

rsync features

rsync is a file transfer program for Unix systems. rsync uses the "rsync algorithm" which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand.

Some features of rsync include

can update whole directory trees and filesystems
optionally preserves symbolic links, hard links, file ownership, permissions, devices and times
requires no special privileges to install
internal pipelining reduces latency for multiple files
can use rsh, ssh or direct sockets as the transport
supports anonymous rsync which is ideal for mirroring 
1
  • I do not see zsync deciding which files to sync.
    – George White
    Commented Oct 28, 2013 at 18:47
-1

zsync does exactly that, I think

1
  • It does not select a set of files to sync based on criteria involving those files relationship to a file explicitly requested.
    – George White
    Commented Oct 28, 2013 at 18:49
-1

Hmm, replace "file" with "octets in memory" and you end up with a description that can be applied to a CPU memory cache.

Specifically, the use of cache lines to predict future data to load into the cache.

1
  • The content of a cache line does not affect the prediction, just its address so the analogy breaks down immediately. Also a file on a remote server is different enough from caching within or local to a CPU to not really be very related prior art.
    – George White
    Commented Jan 4, 2014 at 5:19
-2

ths linux command rsync does this

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .