U.S. patent application number 11/738737 was filed with the patent office on 2009-04-16 for virtual session on a removable memory.
Invention is credited to Scott C. Harris.
Application Number | 20090100157 11/738737 |
Document ID | / |
Family ID | 40535287 |
Filed Date | 2009-04-16 |
United States Patent
Application |
20090100157 |
Kind Code |
A1 |
Harris; Scott C. |
April 16, 2009 |
Virtual session on a removable memory
Abstract
A virtual session for a computer in which files that are worked
on or automatically stored to a portable device such as a hard
drive. Depending on the options that are selected, helper files for
those programs may also be stored. Those helper files may be files
that enable reading the programs, for example, or may be a complete
new OS.
Inventors: |
Harris; Scott C.; (Rancho
Santa Fe, CA) |
Correspondence
Address: |
SCOTT C HARRIS
P O BOX 927649
SAN DIEGO
CA
92192
US
|
Family ID: |
40535287 |
Appl. No.: |
11/738737 |
Filed: |
April 23, 2007 |
Current U.S.
Class: |
709/221 |
Current CPC
Class: |
G06F 3/065 20130101;
G06F 3/0605 20130101; G06F 3/0679 20130101; G06F 11/1456
20130101 |
Class at
Publication: |
709/221 |
International
Class: |
G06F 15/177 20060101
G06F015/177; H04L 9/32 20060101 H04L009/32 |
Claims
1. A method, comprising: accessing at least one file on a computer
system; and automatically storing said at least one file on a
memory of a type that can be moved between different computers,
said automatically storing being responsive to said accessing.
2. A method as in claim 1, wherein said memory is a portable
memory, and further comprising sensing whether said portable memory
is connected to said computer system, and automatically storing
said at least one file on said portable memory if connected, and
saving an indication indicating that said at least one file has
been accessed but said portable memory is not connected.
3. A method as in claim 2, further comprising, after determining
that the portable memory is not connected, determining that the
portable memory is later connected, and responsive to said sensing,
automatically storing information indicative of said file to said
portable memory.
4. A method as in claim 1, wherein said automatically storing
comprises storing said file as part of an archive.
5. A method as in claim 4, further comprising managing the archive
by storing a portion of the archive as compressed files, and other
parts of the archive as uncompressed files.
6. A method as in claim 1, wherein said automatically storing
comprises encrypting said file according to a specified encryption
key, prior to said storing.
7. A method as in claim 1, further comprising managing the archive
by automatically removing files that are older than a specified
age.
8. A method as in claim 1, further comprising storing a helper file
that can be used to access said at least one file, but which has
less functionality than a full version of a program used to
originally create said at least one file.
9. A device, comprising: a file structure that enables storing a
plurality of files, and stores information indicative of when those
files were accessed; and a set of instructions, which when executed
by a computer, cause files which meet certain criteria to be
automatically stored on a portable memory based on when said files
are accessed.
10. A device as in claim 9, wherein said series of instructions
further comprise instructions for causing the computer to determine
whether the portable memory is connected, to store accessed files
when connected, and to store an indication of the accessed files
when the portable memory is not connected.
11. A device as in claim 10, further comprising instructions to
detect that the device has been connected after a time when said
portable device was not connected but files were accessed, and to
store files based on said indication when the portable memory has
been reconnected.
12. A device as in claim 9, wherein said series of instructions
also include instructions to encrypt the file information prior to
storing.
13. A device as in claim 9, further comprising instructions that
cause files that are older than a specified age to be deleted.
14. A device as in claim 9, furthering comprising instructions that
prevent said plurality of files from exceeding a specified size, by
deleting at least one of said files when a new file is added and
the new file will cause said plurality of files to exceed said
specified size.
15. A method, comprising: accessing at least one file on a computer
system; responsive to said accessing, automatically determining
whether a portable storage device is connected to said computer
system; responsive to detecting that said portable storage device
is connected to said computer system, storing first information on
said portable storage system about the file that was accessed; and
responsive to detecting that the portable storage system is not
connected, storing second information about the file on the
computer system.
16. A method as in claim 15, wherein said first information is the
file itself that is stored on the portable storage device.
17. A method as in claim 16, further comprising detecting that the
portable storage device has been connected, reading said second
information, and based on said second information, storing the file
on the computer system.
18. A method as in claim 17, further comprising storing a plurality
of said files on the portable storage device, in a logical
arrangement such that newest files are stored for the longest time,
and all those files are deleted after a specified time.
19. A method as in claim 15, wherein said second information
including changes that are intended to be made to the portable
storage device even when the portable storage device is not
physically installed.
Description
BACKGROUND
[0001] The storage capacity of removable disks such as USB drives
and others has markedly increased. The initial drives maxed out at
double-digit megabytes, and current drives are available in
double-digit gigabytes. Many different applications for such drives
are contemplated.
[0002] A user can store their personal files on a drive like this,
and use those files in a different computer. However, the user must
manually store and keep track of files.
SUMMARY
[0003] The present application describes a virtual session which
can be carried out using a portable memory device, in which various
aspects of operation of a computer, called herein a `session`, are
stored on the device. The file(s) on the device can then be used on
a different computer, so that the user has access to many of the
items that they need while on that different computer.
[0004] Different aspects are described as embodiments, including
the ability to monitor for changes to the portable device even when
the portable device is not physically installed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] These and other aspects will now be described in detail with
reference to the accompanying drawings, wherein:
[0006] FIG. 1 shows an overall computer system in which the system
can be used;
[0007] FIG. 2 shows a flowchart of operation of the system; and
[0008] FIG. 3 illustrates an exemplary file structure.
DETAILED DESCRIPTION
[0009] When a user sits down at a computer to do work, they often
do the same things over and over again. For example, they may be
working on a document, such as a word.TM.-based document. They may
be searching the Internet. They may be checking e-mails. Different
users may do different things, but whether they are at computer1 or
computer2, most users do the same 20 things on that computer.
[0010] The present application describes storing a file that
includes information about some or all of the information related
to all the things the user is likely to do while on a computer. In
the embodiment, this file can be stored as a combined file that has
information about multiple things, e.g. an archive or some other
single directory that includes multiple parts for multiple files.
In an embodiment, new parts of the file can be added, and old parts
of the file can be removed. The contents of the file may also be
selected. For example, all files that have been used within the
last four weeks may be included, as well as helper files, files
like pictures and videos, and others.
[0011] Another embodiment describes that the files can be selected
when the portable device, e.g. a portable hard drive, is not
physically attached, and that these files are then updated when the
drive is later attached.
[0012] FIG. 1 illustrates a computer that can be used according to
an embodiment. The computer includes a user interface 100,
microprocessor 105 memory 110, and a display 115. A port, such as
120, can connect to an external hard drive 125 such as a USB memory
stick.
[0013] The processor 105 executes programs which are stored on the
memory 110.
[0014] In an embodiment, a special session program may be run that
facilitates identifying information to be used on the hard drive.
The session may be a virtual session that either runs directly off
the hard drive 125 but also may be resident within memory 110. The
session may be indicated by an indicator such as 131, which
indicates that a virtual session is in progress. When the user
places the cursor over the indicator 131, a screen tip comes up
indicating that "virtual session data is available" or not
available, and also indicating that for example, options may be
available or different files may be available.
[0015] Default options for the virtual session is that actions,
personal contact and calendar information and files are stored in
the archive file that is stored on the hard drive 125. The contact
and calendar information may be the same kind of information that
is stored in "Outlook", and may include any or all of a calendar,
e-mail information, to do information, as well as personal
contacts.
[0016] The user can also select, via the options portion that is
obtained from the vsession indicator, information about other files
to backup/store.
[0017] The options also allow storing time information, so that
only files which have been accessed or used within a certain amount
of time are stored, compression options (compress all files, or
compress no files, or compress only files that have not been
accessed in x days) as well as archive options. The archive options
may be Internet or DVD archive, and may specify what is done with
the files that are removed from the main archive when they become
older than a certain number of days.
[0018] An encryption option may enable the files on the drive 125
to be encrypted so that an unauthorized user can not retrieve those
files without entering some kind of identifying information.
[0019] In an embodiment, the main archive may store helper
programs. Helper programs may be, for example, light versions, or
freeware versions of executable programs that enable working on the
files. For example, if a Microsoft Word file is stored, then either
a light version of Word, or a version of a program such as WordPad,
may be stored. These light programs may enable reading the file,
and doing some limiting editing of the file, but have less
functionality than the full program. Similarly, for a PDF file, the
Adobe reader may be stored. The helper versions enable a user to
read a file on a public computer which may have no programs
whatsoever installed. Other helper programs may be provided for
files like pictures, videos e-books and the like.
[0020] A helper `OS" may also be stored. For example, the helper os
may be a light version of Windows that can be run directly off the
portable hard drive. One example is Windows live, which is a
functionality limited program that can be booted directly off the
hard drive and is a functionality limited version of the operating
system.
[0021] The archive file can also store things like pictures,
videos, and the like. It can store bookmarks indicating where the
user left off on the program, and can also store other things.
[0022] A flowchart of operation may be as shown in FIG. 2. At 200,
the operation begins when the drive is installed, and autoplay has
been enabled. This starts the session, which initially looks for
session information at 205. If no session information exists, then
the system creates a file and asks the user to select options, or
else just creates an option file based on defaults. The user can
ignore the options selection, and accept the defaults, as described
above. However, if the session file exists, the system accesses the
file at 210.
[0023] At 215, the system provides a list of files that can be
accessed, and starts the v session, showing the icon discussed
above. Each time a file is accessed, at 220, the session first
determines if the drive is still in place at 225. After starting
the via session, either from the drive 125 or in some other way,
the drive can be removed. If the drive is not in place at 225, then
the file being accessed is stored to a list of files on the
computer memory 110, for later use.
[0024] If the drive is still in place, than the file is updated,
with a new date, in essence moved to the file front at 235. 240
indicates determining whether a helper program has been selected or
is needed. For example, if a "word" file is added for the first
time, 240 may indicate that a helper program could be added. The
helper program may already be part of the virtual session software,
or may be downloaded at 250.
[0025] The file structure may be of the form shown in FIG. 3. New
files, that is those that are currently being worked on, are shown
as 300. These may be files which have been accessed in the last 24
hours or more generally, in the next x hours. A compressed archive
of files is shown as 305. These files may be compressed using any
compression utility such as zip or RAR or the like. Certain files
of this type, e.g, word processing files, may be highly
compressible, and this may allow more files to be stored on the
unit. Old files are files that are older than the default
information, e..g, files that have not been accessed in the last 30
days.
[0026] For example, if the default for them length of old files and
set to 30 days, the old files 310 are files that are older than the
30 day limit. Depending on the options that are selected, these
files may be deleted to the recycle bin, or stored in a special way
to the Internet to an archive site,
[0027] Another option sets a total archive size. For example, the
archive size, including helper programs, contact information, and
everything else that is going to be stored in the archive, may be
set as a maximum file length shown as 320. This may be, for
example, 80% or 90% of the drive size, e.g., for a 4 MB drive, a
size of the total file(s) from the v session may be limited at 3.6
MB, with new files forcing older files to be deleted. A specified
portion of that size 321 may be reserved for old files that were be
recycled. In the embodiment, as the drive 125 runs out of room, the
oldest files are dropped.
[0028] The file structure shown in FIG. 3 is a conceptual
structure, and not necessarily representative of the actual way
that the files are stored. On the memory, the files are stored in
areas/sectionrs,/based on wherever there is room. The files are
sorted by date, although they may be physically stored at any
location within the memory. However, the conceptual storage in FIG.
3 allows the files to be stored like a pile of paper. The newest
files are on the top, other files on the bottom, and the old files
310 which are the files that can be thrown away or put in a file
cabinet.
[0029] The file(s) shown as 300, 305, 310 may be not only files
that are being worked on, but may also be user profiles, and helper
programs. In one embodiment, a priority may be set so that helper
files would be deleted before files less than x days old.
[0030] The off-line version, which is started at 225, stores the
file, and writes it to the file whenever the portable storage
whenever the file system is inserted. In this way, the program can
run in the background, but later senses the stick and "updates".
The update may be via a synchronization for example.
[0031] In another embodiment, the helper OS may provide a graphical
user environment which is a generic operating system that allows
operating the light versions of the programs.
[0032] The general structure and techniques, and more specific
embodiments which can be used to effect different ways of carrying
out the more general goals are described herein.
[0033] Although only a few embodiments have been disclosed in
detail above, other embodiments are possible and the inventor (s)
intend these to be encompassed within this specification. The
specification describes specific examples to accomplish a more
general goal that may be accomplished in another way. This
disclosure is intended to be exemplary, and the claims are intended
to cover any modification or alternative which might be predictable
to a person having ordinary skill in the art. For example, while a
USB memory device may be contemplated, other probable memory
devices may be used, including a wireless access hard drive,
accessible by wireless network (802.11), wimax, Bluetooth, or
others.
[0034] Also, the inventor intends that only those claims which use
the words "means for" are intended to be interpreted under 35 USC
112, sixth paragraph. Moreover, no limitations from the
specification are intended to be read into any claims, unless those
limitations are expressly included in the claims. The computers
described herein may be any kind of computer, either general
purpose, or some specific purpose computer such as a workstation.
The computer may be a Pentium class computer, running Windows XP or
Linux, or may be a Macintosh computer. The computer may also be a
handheld computer, such as a PDA, cellphone, or laptop.
[0035] The programs may be written in C, Python, or Java, Brew or
any other programming language. The programs may be resident on a
storage medium, e.g., magnetic or optical, e.g. the computer hard
drive, a removable disk or media such as a memory stick or SD
media, wired or wireless network based or Bluetooth based, Network
Attached Storage (NAS), or other removable medium. The programs may
also be run over a network, for example, with a server or other
machine sending signals to the local machine, which allows the
local machine to carry out the operations described herein.
[0036] Where a specific numerical value is mentioned herein, it
should be considered that the value may be increased or decreased
by 20%, while still staying within the teachings of the present
application, unless some different range is specifically
mentioned.
* * * * *