`
`FORM PTO-1449 (modified)
`To: U.S. Department of Commerce
`(PW FORM PAT-1449)
`Patent and Trademark Office
`
`INFORMATION DISCLOSURE STATEMENT
`BY APPLICANT
`
`Document
`Number
`
`.
`
`Client Ref.
`
`0443281 P|
`Applicant: Manzano, Michael R.
`
`Appin. No.: 12/267,852
`
`Filing Date: Herewith (September 21, 2015
`Examiner: TBD
`Group Art Unit: TBD
`
`Name
`(Family Nameof First Inventor)
`
`Class
`
`|Sub
`Class
`
`
`
`Filing
`_—_|Date
`(if appropriate)
`YY
`
`|far|us7,.325038ssozooglwang(iTS‘(ST
`|[prlus7,.260,646ifog/2oo7|stefaniketal.CT
`
`|___[crJus2005/0091316 04/2005 |Ponceetal. |
`IpR|US2007/0180084 _—_|08/2007 |Mohant
`Rodgerset al.
`||
`FR[Us2007/0027936—|oz/2007|Stakutiseta.=iT
`Ick[us20080005114fot/aoosLi_isd
`Edelstein etal.
`|
`iR__|us2013/0226871[08/2013 |Sarnowski
`|
`JR_|US2004/0107225loe/2oo4|Rudof
`Shaathetal.
`|
`LR_|us5,600,834——loz/ig97[HowardsisCd
`IMR[us5,806,078ssogiggs|Hugetal.==id
`INR[US6,449,624—|og/2002|Hammacketal.|
`lor[Us2003/0028542——|oz/2003|Muttketa.sd
`IPR|us6,o26,414[oz/2o00[Angin,
`larjus6154,817_([41/2000|Mohanetal.
`IRR[us6,260,069——————foz/z0o1[Angin=—is—“‘—‘dLCSCsisidC
`IsR_|us2002/0087588——[o7/2002|McBrideetal.=
`Feigenbaum
`||
`05/2004|Therrieneta.=
`o4/2006|Huangetal.isd
`11/2006|Cartereta.
`|___|xr_|us2007/0100913——|o5/2007|Sumneretal.Ci
`|sive_lus7,224,973fos/2007|Tsutazawaetal.=CTTT
`|_{zrus7,788,303__———_—|og/2010|Mikeselletal.=—Ci|—C|S|
`
`FOREIGN PATENT DOCUMENTS
`English
`Translation
`Abstract
`Readily
`Available
`
`Document
`Number
`
`Date
`MM/YYYY
`
`Country
`
`|Inventor Name
`
`|faar|wo2007047302|o4/2007_|pct___|Cheneta._|=||
`|feerfep1130511_——jogv2001_epfutler_=~|CT
`
`OTHER (Including in this order Author, Title, Periodical Name, Date, Pertinent Pages, etc.
`U.S. Office Action dated August 13, 2014 for Appin. No. 11/739,083
`Date Considered:
`
`Examiner
`
`Initial if citation considered, whetheror notcitation is in conformance with MPEP § 609. Drawline through citation if not
`*EXAMINER: __
`in conformance and not considered. Include copy of this form with next communication to Applicant.
`
`Box & Dropbox Exhibit 1PM8:49 12708
`Baise4S-2088.v1
`
`Box & Dropbox Exhibit 1008
`Page 1
`
`
`
`Atty Docket No: 023027-0443281
`CONof 12/267,852
`
`ARCHITECTURE FOR MANAGEMENTOF DIGITAL FILES ACROSS
`DISTRIBUTED NETWORK
`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`
`[0001]
`
`This application is a continuation of U.S. Patent Application Serial No.
`
`12/267,852,
`
`filed November 10, 2008, which claims priority to U. S. Provisional
`
`Application No. 60/986,896 entitled “ARCHITECTURE FOR MANAGEMENT OF
`
`DIGITAL FILES ACROSS DISTRIBUTED NETWORK” and filed November 9, 2007,
`
`the contents of which are hereby incorporated by referencein their entirety.
`
`FIELD OF THE INVENTION
`
`[0002]
`
`This invention relates generally to computer-implemented processes and,
`
`more specifically, to sharing of electronic files among electronic devices.
`
`BACKGROUND OF THE INVENTION
`
`[0003]
`
`Users of modern computing systems are increasingly finding themselves
`
`in constantly-connected, high-speed networked environments. The Web continues to be a
`
`killer application, second only to email, on the Internet. Further, customers are
`
`increasingly using more than one computing device; a customer may have a desktop
`
`computer at home, one at work, and a constantly connected "smart phone". Due to the
`
`confluence of these two trends, file management across these devices has become a
`
`problem.
`
`[0004]
`
`Although modern devices are easily connected, they do not provide the
`
`customer a seamless environment; the customer must manually handle many aspects of
`
`that connection. With regards to file management, customers must manually movefiles
`
`between their devices using some protocollike email, ftp, or by posting them on the Web.
`
`These practices lead to problemsthat include:
`
`-l-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 2
`
`Box & Dropbox Exhibit 1008
`Page 2
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`[0005]
`
`¢ The proliferation of redundant file copies. This proliferation creates a
`
`confusing environment where the customer is unclear where the "official" or newest
`
`version ofa file exists.
`
`[0006]
`
`¢ The creation of an error-prone environment. Some documents, such as
`
`those associated with word processing and desktop publishing, externally reference other
`
`files. Copying such a document can break these references causing errors that the
`
`customer has to handle manually. An example of such a document
`
`is a desktop
`
`publishing document that contains a reference to an image. If that image file is not
`
`transferred along with the desktop publishingfile, the image will appear as a broken link.
`
`[0007]
`
`* Unnecessary complexity. Because devices tend to have their own filing
`
`system, customers must manage a different filing model on each of his devices. For
`
`example, instead of having a single "Movies" folder, he may have to deal with many
`
`"Movies" folders, which may be in different locations on each of his devices. Each device
`
`mayalso have its own security model, further complicating the matter.
`
`[0008]
`
`That a customer has to manually move files around to ensure their
`
`accessibility on his devices is unnecessary, and is an indicator of a lack of customer-
`
`focused design in modern file systems. File systems in use today are direct offspring of
`
`systems used when graphical customer interfaces were nonexistent. Modern file system
`
`customer interfaces, such as Windows® Explorer and Mac OS X's Finder are just now
`
`starting to provide experiences that are more in line to a customer's workflow. Whereas,
`
`before, these interfaces were concerned with representing files with abstracted icons, the
`
`file's actual contents are becoming paramountin howfiles are organized and presented.
`
`[0009]
`
`Problems still exist with how these newer customer
`
`interfaces are
`
`implemented. They are not completely integrated with applications,
`
`suffer
`
`from
`
`performance problems, and do not generally work well outside of a device's local file
`
`system.
`
`-2-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 3
`
`Box & Dropbox Exhibit 1008
`Page 3
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`{0010}
`
`There are several solutions to this problem that are in one way or another
`
`inadequate to the task:
`
`[0011]
`
`Remote Desktop software allows a customer to remotely "see" his
`
`desktop. Remote desktop software screen-scrapes a remote machine's screen (a "server")
`
`and displays it on a screen local to the customer (a "client"). Remote desktop gives a
`
`customeraccess to not only hisfiles, but also to his applications. However, this approach
`
`requires that the host machine be turned on and connected to the internet at all times.
`
`Consequently, this approach would not be appropriate for mobile hosts such as laptops.
`
`Remote desktop does not use the resources of a local machine. For full accessibility, the
`
`customer would have to keep all files and application on the host machine as any files
`
`stored on a client are not guaranteed to be accessible.
`
`[0012]
`
`Distributed File Systems, like remote desktop software, place data on an
`
`always-connected host machine. Unlike remote desktop software, the host machine is not
`
`one on which the customer performs computing tasks. The host machine is used as a
`
`storage mechanism, and any computation performed on that machine serves to supports
`
`its use as such. Distributed file systems generally provide the right functionality for
`
`customers to share files between their devices. However, distributed file systems are
`
`usually deployed as a shared resource; that is, other customers have accessto it. Because
`
`of this sharing, a customer's files may be buried deep in a filing structure, and it may not
`
`always be immediately evident to customers what kind of access they haveto a particular
`
`file. Further, to use a distributed file system, the customer must always be connectedto it.
`
`Files stored on a distributed file system are generally inaccessible if the customer's
`
`machine is not connected to it, unless the customer has copied or moved the files to his
`
`machine's local hard drive. However, doing so immediately creates the problem of having
`
`twofiling systems for the samefile, creating a mental burden on the customer.
`
`[0013]
`
`Additionally, accessing a file located on a distributed file system tends to
`
`be slower than accessing files on the local hard drive. Modern applications are usually
`
`-3-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 4
`
`Box & Dropbox Exhibit 1008
`Page 4
`
`
`
`Atty Docket No: 023027-0443281
`CONof 12/267,852
`
`written to assumethatthe files they access are located locally, and thus are not optimized
`
`to access remote files. When these applications are used with remote files, they can lose
`
`performance by an order of magnitude. This problem can be fixed by automatically
`
`caching often-used files on the local file system, and only synchronizing them when they
`
`have been changed. However,
`
`this separate synchronization step introduces another
`
`problem: because the synchronization process can be lengthy, the customer is never
`
`entirely sure if the file he is remotely accessing is the latest version ofthe file, versus an
`
`earlier one that has been marked to be updated. Further, the directory may notreflect the
`
`existence ofthe file at all until synchronization finishes.
`
`[0014]
`
`FTP is similar to a distributed file system with regards to files being
`
`hosted on a remote server. However FTP generally does manifest as a "disk drive" on the
`
`customer's desktop; the customer must use special FTP client software to access an FTP
`
`server. It shares the same problem asdistributed file systems, with the additional problem
`
`of weak integration with applications. Applications can generally write and read files
`
`directly to and from a distributed file system. This is not the case with FTP, as the
`
`customer has to manually use the client software to perform these operations as a separate
`
`task.
`
`{0015}
`
`Email was originally invented for messaging. From the beginning, the
`
`model it employs to make files accessible remotely is necessarily inefficient. Email's
`
`model for making files accessible is in the form of an email "attachment". Attachments
`
`are so named because they piggy-back on a message sent from one customer to another.
`
`A customer can make a file remotely available using email by attaching the file to an
`
`email and sending it to himself. He can then retrieve the file from a remote location by
`
`accessing the message on the email server. Email used in this way is even worse than
`
`FTP as the process is even more manual: a customer must find the message containing
`
`the file before he can even accessit. Further, the location in which the attachmentlivesis
`
`read only. If the customer, for example, were to open the file, changeit, then save it back
`
`-4-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 5
`
`Box & Dropbox Exhibit 1008
`Page 5
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`out, the results would be ambiguous to the user because the email application, not the
`
`user, specified its location. Usually, the saved file would end up buried in an email file
`
`cache in an undisclosed area ofthe file system.
`
`{0016}
`
`Flash Drives and External Disk Drives, although seemingly the most
`
`“primitive” way to ensure file availability, avoid all the problems related to network
`
`latency. However, these devices must be physically connected to the computer on which
`
`the files will be accessed. These restrictions preclude the customer from employing
`
`several effective work-flows including: using more than one computer to complete a
`
`single task (the files can only be accessed on one computer) and setting up an automated
`
`backup (the computer running the backup can't guarantee that the storage device will be
`
`connected come backup time). Further,
`
`to ensure full availability of the files,
`
`the
`
`customer must carry the device with them at all times, and must follow the associated
`
`protocols for mounting and dismounting the device.
`
`[0017]
`
`Other problems with the prior art not described above can also be
`
`overcome using the teachings of embodiments of the present invention, as would be
`
`readily apparentto one ofordinary skill in the art after reading this disclosure.
`
`SUMMARYOF THE INVENTION
`
`[0018]
`
`In an embodiment, a system includes a first application executable on a
`
`first electronic device. The system further includes a second application executable on a
`
`second electronic device in communication with the first electronic device. The second
`
`electronic device is configured to store a first electronic file. Subsequent to a user
`
`modifying the first electronic file, the second application is operable to automatically
`
`transfer the modified first electronic file, or a copy thereof, to the first electronic device.
`
`The system further includes a third application executable on a third electronic device in
`
`-5-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 6
`
`Box & Dropbox Exhibit 1008
`Page 6
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`communication with the first electronic device. The third electronic device is configured
`
`to store a second electronic file. Subsequent to the user modifying the second electronic
`
`file,
`
`the third application is operable to automatically transfer the modified second
`
`electronic file, or a copy thereof, to the first electronic device. The first application is
`
`operable to automatically transfer the modified first electronic file or copy to the third
`
`electronic device, and automatically transfer the modified second electronic file or copy
`
`to the second electronic device.
`
`BRIEF DESCRIPTION OF THE DRAWING
`
`[0019]
`
`Preferred and alternative embodiments of the present
`
`invention are
`
`described in detail below with reference to the following drawings.
`
`[0020]
`
`FIG.
`
`1
`
`is a schematic view of an exemplary operating environment in
`
`which an embodimentof the invention can be implemented;
`
`[0021]
`
`FIG. 2 is a functional block diagram of an exemplary operating
`
`environment in which an embodimentof the invention can be implemented; and
`
`[0022]
`
`FIG. 3 is a functional block diagram illustrating file sharing and/or
`
`synchronization according to an embodimentof the invention.
`
`DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
`
`[0023]
`
`An embodimentof the invention leverages remote programming concepts
`
`by utilizing processes called mobile agents (sometimes referred to as mobile objects or
`
`agent objects). Generally speaking, these concepts provide the ability for an object (the
`
`mobile agent object) existing on a first ("host") computer system to transplant itself to a
`
`second ("remote host") computer system while preserving its current execution state. The
`
`operation of a mobile agent object is described briefly below.
`
`-6-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 7
`
`Box & Dropbox Exhibit 1008
`Page 7
`
`
`
`Atty Docket No: 023027-0443281
`CONof 12/267,852
`
`[0024]
`
`The instructions of the mobile agent object, its preserved executionstate,
`
`and other objects owned by the mobile agent object are packaged, or "encoded," to
`
`generate a string of data that is configured so that the string of data can be transported by
`
`all standard means of communication over a computer network. Once transported to the
`
`remote host, the string of data is decoded to generate a computer process, still called the
`
`mobile agent object, within the remote host system. The decoded mobile agent object
`
`includes those objects encoded as described above and remainsin its preserved execution
`
`state. The remote host computer system resumes execution of the mobile agent object
`
`which is now operating in the remote host environment.
`
`[0025]
`
`While now operating in the new environment, the instructions of the
`
`mobile agent object are executed by the remote host to perform operations of any
`
`complexity, including defining, creating, and manipulating data objects and interacting
`
`with other remote host computer objects.
`
`[0026]
`
`File transfer and/or synchronization, according to an embodiment, may be
`
`accomplished using someorall of the concepts described in commonly owned U.S.
`
`Patent App. No. 11/739,083, entitled “Electronic File Sharing,” the entirety of which is
`
`incorporated by referenceasif fully set forth herein.
`
`[0027]
`
`FIG. 1 illustrates an example of a suitable computing system environment
`
`100 in which one or more embodiments of the invention may be implemented. The
`
`computing system environment 100 is only one example of a suitable computing
`
`environment and is not intended to suggest any limitation as to the scope of use or
`
`functionality of the invention. Neither should the computing environment 100 be
`
`interpreted as having any dependencyor requirementrelating to any one or combination
`
`of componentsillustrated in the exemplary operating environment 100.
`
`[0028]
`
`Embodiments of the invention are operational with numerous other
`
`general purpose or special purpose computing system environments or configurations.
`
`Examples of well known computing systems, environments, and/or configurations that
`
`-7-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 8
`
`Box & Dropbox Exhibit 1008
`Page 8
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`may be suitable for use with the invention include, but are not limited to, personal
`
`computers, server computers, hand-held or
`
`laptop devices, multiprocessor systems,
`
`microprocessor-based systems, set
`
`top boxes, programmable consumer electronics,
`
`network PCs, minicomputers, mainframe computers, distributed computing environments
`
`that include any of the above systemsor devices, andthe like.
`
`[0029]
`
`Embodiments of the invention may be described in the general context of
`
`computer-executable instructions, such as program modules, being executed by a
`
`computer and/or by computer-readable media on which suchinstructions or modules can
`
`be stored. Generally, program modules include routines, programs, objects, components,
`
`data structures, etc. that perform particular tasks or implement particular abstract data
`
`types. The invention may also be practiced in distributed computing environments where
`
`tasks
`
`are performed by remote processing devices
`
`that
`
`are
`
`linked through a
`
`communications network.
`
`In a distributed computing environment, program modules
`
`may be located in both local and remote computer storage media including memory
`
`storage devices.
`
`[0030]
`
`With reference to FIG. 1, an exemplary system for implementing the
`
`invention includes a general purpose computing device in the form of a computer 110.
`
`Components of computer 110 may include, but are not limited to, a processing unit 120, a
`
`system memory 130, and a system bus 121 that couples various system components
`
`including the system memory to the processing unit 120. The system bus 121 may be
`
`any of several types of bus structures including a memory bus or memory controller, a
`
`peripheral bus, and a local bus using any of a variety of bus architectures. By way of
`
`example, and not limitation, such architectures include Industry Standard Architecture
`
`(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video
`
`Electronics Standards Association (VESA)
`
`local bus, and Peripheral Component
`
`Interconnect (PCI) bus also known as Mezzanine bus.
`
`-8-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 9
`
`Box & Dropbox Exhibit 1008
`Page 9
`
`
`
`Atty Docket No: 023027-0443281
`CONof 12/267,852
`
`[0031]
`
`Computer 110 typically includes a variety of computer readable media.
`
`Computer readable media can be any available media that can be accessed by computer
`
`110 and includes both volatile and nonvolatile media, removable and non-removable
`
`media. By way of example, and not limitation, computer readable media may comprise
`
`computer storage media and communication media. Computer storage media includes
`
`both volatile and nonvolatile, removable and non-removable media implemented in any
`
`method or technology for storage of information such as computer readable instructions,
`
`data structures, program modules or other data. Computer storage media includes, butis
`
`not limited to, RAM, ROM, EEPROM,flash memory or other memory technology, CD-
`
`ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes,
`
`magnetic tape, magnetic disk storage or other magnetic storage devices, or any other
`
`medium which can be used to store the desired information and which can accessed by
`
`computer 110. Communication media typically embodies computer readable instructions,
`
`data structures, program modules or other data in a modulated data signal such as a
`
`carrier wave or other transport mechanism andincludes any information delivery media.
`
`The term “modulated data signal” means a signal
`
`that has one or more of its
`
`characteristics set or changed in such a manner as to encode information in the signal.
`
`By way of example, and not limitation, communication media includes wired media such
`
`as a wired network or direct-wired connection, and wireless media such as acoustic, RF,
`
`infrared and other wireless media. Combinations of the any of the above should also be
`
`included within the scope of computer readable media.
`
`[0032]
`
`The system memory 130 includes computer storage media in the form of
`
`volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random
`
`access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the
`
`basic routines that help to transfer information between elements within computer 110,
`
`such as duringstart-up, is typically stored in ROM 131. RAM 132 typically contains data
`
`and/or program modules that are immediately accessible to and/or presently being
`
`-9-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 10
`
`Box & Dropbox Exhibit 1008
`Page 10
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`operated on by processing unit 120. By way of example, and not limitation, FIG.
`
`1
`
`illustrates operating system 134, application programs 135, other program modules 136,
`
`and program data 137.
`
`[0033]
`
`The computer 110 may also include other removable/non-removable,
`
`volatile/nonvolatile computer storage media. By way of example only, FIG. 1 illustrates
`
`a hard disk drive 140 that reads from or writes to non-removable, nonvolatile magnetic
`
`media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile
`
`magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable,
`
`nonvolatile optical disk 156 such as a CD ROM orother optical media. Other
`
`removable/non-removable, volatile/nonvolatile computer storage media that can be used
`
`in the exemplary operating environment include, but are not limited to, magnetic tape
`
`cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM,
`
`solid state ROM, and the like. The hard disk drive 141 is typically connected to the
`
`system bus 121 through a non-removable memory interface such as interface 140, and
`
`magnetic disk drive 151 and optical disk drive 155 are typically connected to the system
`
`bus 121 by a removable memory interface, such as interface 150.
`
`[0034]
`
`The drives and their associated computer storage media discussed above
`
`and illustrated in FIG.
`
`1, provide storage of computer readable instructions, data
`
`structures, program modules and other data for the computer 110. In FIG. 1, for example,
`
`hard disk drive 141 is illustrated as storing operating system 144, application programs
`
`145, other program modules 146, and program data 147. Note that these components can
`
`either be the same as or different from operating system 134, application programs 135,
`
`other program modules 136, and program data 137. Operating system 144, application
`
`programs 145, other program modules 146, and program data 147 are given different
`
`numbershereto illustrate that, at a minimum,they are different copies. A user may enter
`
`commands and information into the computer 20 through input devices such as a
`
`keyboard 162 and pointing device 161, commonly referred to as a mouse, trackball or
`
`-10-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 11
`
`Box & Dropbox Exhibit 1008
`Page 11
`
`
`
`Atty Docket No: 023027-0443281
`CONof 12/267,852
`
`touch pad. Other input devices (not shown) may include a microphone, joystick, game
`
`pad, satellite dish, scanner, or the like.|These and other input devices are often
`
`connected to the processing unit 120 through a user input interface 160 that is coupled to
`
`the system bus, but may be connected by other interface and busstructures, such as a
`
`parallel port, game port or a universal serial bus (USB). A monitor 191 or other type of
`
`display device is also connected to the system bus 121 via an interface, such as a video
`
`interface 190.
`
`In addition to the monitor, computers may also include other peripheral
`
`output devices such as speakers 197 and printer 196, which may be connected through an
`
`output peripheral interface 190.
`
`[0035]
`
`The computer 110 may operate in a networked environmentusing logical
`
`connections to one or more remote computers, such as a remote computer 180. The
`
`remote computer 180 may be a personal computer, a server, a router, a network PC, a
`
`peer device or other common network node, and typically includes many orall of the
`
`elements described aboverelative to the computer 110, although only a memory storage
`
`device 181 has been illustrated in FIG. 1. The logical connections depicted in FIG.
`
`1
`
`include a local area network (LAN) 171 and a wide area network (WAN) 173, but may
`
`also include other networks. Such networking environments are commonplacein offices,
`
`enterprise-wide computer networks, intranets and the Internet.
`
`[0036]
`
`When used in a LAN networking environment,
`
`the computer 110 is
`
`connected to the LAN 171 through a network interface or adapter 170. When used in a
`
`WAN networking environment, the computer 110 typically includes a modem 172 or
`
`other means for establishing communications over the WAN 173, such as the Internet.
`
`The modem 172, which maybe internal or external, may be connected to the system bus
`
`121 via the user input interface 160, or other appropriate mechanism. In a networked
`
`environment, program modules depicted relative to the computer 110, or portions thereof,
`
`may be stored in the remote memory storage device. By way of example, and not
`
`limitation, FIG.
`
`1
`
`illustrates remote application programs 185 as residing on memory
`
`-ll-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 12
`
`Box & Dropbox Exhibit 1008
`Page 12
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`device 181. It will be appreciated that the network connections shown are exemplary and
`
`other meansof establishing a communications link between the computers maybe used.
`
`[0037]
`
`Referring now to FIG. 2, an embodimentof the present invention can be
`
`described in the context of an exemplary computer network system 200 asillustrated.
`
`System 200 includes electronic user devices 210, 280, such as personal computers or
`
`workstations, that are linked via a communication medium, such as a network 220 (e.g.,
`
`the Internet), to an electronic device or system, such as a server 230. The server 230 may
`
`further be coupled, or otherwise have access, to a database 240, electronic storage 270
`
`and a computer system 260. Although the embodimentillustrated in FIG. 2 includes one
`
`server 230 coupled to two user devices 210, 280 via the network 220,
`
`it should be
`
`recognized that embodiments of the invention may be implemented using two or more
`
`such user devices coupled to one or more suchservers.
`
`[0038]
`
`In an embodiment, each of the user devices 210, 280 and server 230 may
`
`include all or fewer than all of the features associated with the computer 110 illustrated in
`
`and discussed with reference to FIG. 1. User devices 210, 280 include or are otherwise
`
`coupled to a computer screen or display 250, 290, respectively. User devices 210, 280
`
`can be used for various purposes including both network- and local-computing processes.
`
`[0039]
`
`The user devices 210, 280 are linked via the network 220 to server 230 so
`
`that computer programs, such as, for example, a browser or other applications, running
`
`on one or more of the user devices 210, 280 can cooperate in two-way communication
`
`with server 230 and one or more applications running on server 230. Server 230 may be
`
`coupled to database 240 and/or electronic storage 270 to retrieve information therefrom
`
`and to store information thereto. Additionally, the server 230 may be coupled to the
`
`computer system 260 in a manner allowing the server to delegate certain processing
`
`functions to the computer system.
`
`[0040]
`
`Referring now to FIG. 3, illustrated is functionality of an embodiment of
`
`the invention allowing a user (not shown) who ownsor otherwise controls devices 210,
`
`-12-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 13
`
`Box & Dropbox Exhibit 1008
`Page 13
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`280 to automatically maintain file synchronization between at least devices 210, 280, or
`
`any other user devices on which principles of the present invention are implemented.
`
`In
`
`an embodiment, an administrator (not shown) of the server 230 or other appropriate
`
`electronic device transfers a file-transfer and/or synchronization application to the user
`
`devices 210, 280 for installation thereon. Once installed on the user devices 210, 280, the
`
`file-transfer application provides file-transfer clients 310, 320 executable by the user
`
`devices 210, 280, respectively. Each of the file-transfer clients 310, 320 may, but need
`
`not, include a respective mobile-agent runtime environment 330, 340. The mobile-agent
`
`runtime environment 330, 340 include portions of memory of the user devices 210, 280
`
`dedicated to allowing a mobile object the ability to perform operations that the mobile
`
`object is programmed to carry out. Also includedin the file-transfer application are user
`
`interfaces 350, 360 that are displayable on the displays 250, 290, respectively.
`
`In an
`
`embodiment, the interfaces 350, 360 allow a user to view, access and/or organize files to
`
`be synched amongthe various user devices.
`
`[0041]
`
`Generally, all files that the user desires to be synched or shared mayat
`
`some point be uploaded by one or more ofthe user devices 210, 280 and stored in storage
`
`270. Upon receiving the files to be synched, the server 230 can store such files in the
`
`storage 270 and/or transfer the files to one or more of the respective hard drives of the
`
`user devices 210, 280, thereby enabling each respective user device to access suchfiles.
`
`In this manner, the server 230 is operable to treat each hard drive of the respective user
`
`devices 210, 280 as a local document cache for files received by the server. Typically,
`
`the server 230 will store one or more of the received files to the storage 270 only if the
`
`destination user device is offline or otherwise temporarily not in communication with the
`
`server 230. Upon resuming communication with the destination user device, the server
`
`230 will transfer the temporarily stored files to the destination device.
`
`[0042]
`
`In operation, according to an embodiment, the user may open and modify
`
`a file 370, such as a word-processing documentor other electronic file. Alternatively, the
`
`-13-
`
`4829-0154-2184.v1
`Box & Dropbox Exhibit 1008
`Page 14
`
`Box & Dropbox Exhibit 1008
`Page 14
`
`
`
`Atty Docket No: 023027-0443281
`CON of 12/267,852
`
`user may create a first instance of the file 370. The user may have previously have
`
`associated, or may now associate, the file 370 with the transfer client 310. Upon a
`
`predetermined and user-configurable triggering event, the transfer client 310 transfers the
`
`modified file 370, or a copy of the modified file, to the server 230. Such a triggering
`
`event may include, but be not limited to, the user saving the file, the elapsing of a
`
`predetermined amount of time during which thefile has been opened,or the re-initiation
`
`of a communication session between the device 210 and the server 230.
`
`[0043]
`
`The file 370 is transferred to the server 230 on which is executing a
`
`synchronization application 380, which may include
`
`a mobile-agent
`
`runtime
`
`environment. Through user configuration, the synch application 380 monitors a set of
`
`user devices to which the file 370 should be transferred to effect file synchronization.
`
`In
`
`the illustrated embodiment, this set of user devices includes the user device 280. The
`
`synch application 380 polls the device 280 to determine whether the device 280 is in
`
`communication with the server 230.
`
`If the device 280 is in communication with the
`
`server 230, the synch application 380 transfers the file 370 to the device 280, whereupon
`
`the transfer client 3