# US 2012/0173655 A1 · Community internet drive

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2012/0173655 A1
- Document ID: US20120173655A1
- Status: Published application
- Kind: A1
- Application number: 13/342,836
- Filed: 2012-01-03
- Published: 2012-07-05
- Earliest claimed: 2011-01-03
- Assignees: Planetary Data LLC
- Inventors: Robert Alan McEntee
- Web page: https://patentgrep.com/patent/US20120173655A1

## CPC

- H04L 41/0813: characterised by the conditions triggering a change of settings
- G06F 13/00: Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units (interface circuits for specific input/output devices G06F3/00 {; multiprogram control therefor G06F9/46}; multiprocessor systems G06F15/16 )
- G06F 16/1834: {implemented based on peer-to-peer networks, e.g. gnutella (p2p communication protocols H04L67/104)}
- G06F 16/1837: {Management specially adapted to peer-to-peer storage networks (topology management mechanisms of peer-to-peer networks H04L67/1042)}
- G06F 16/1873: {Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files}
- G06F 16/951: Indexing; Web crawling techniques
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/53: using third party service providers
- H04L 63/104: {Grouping of entities}
- H04L 67/306: User profiles
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided herein are devices, systems, methods and various means, including those related to providing a community internet drive that may utilize a centrally-managed hub as well as storage devices distributed among various networked machines. In some embodiments, the community internet drive can also include features to enable its users to promote and utilize the user's trusted personal relationships while also enabling an open platform for peer-to-peer and/or other types of sharing schemes.

## Claims

### Claim 1

A method of managing data on a machine, comprising:
generating, by a first user machine, a request to be included in a community internet drive, wherein the first user machine is a non-commercial machine used predominately for personal computing by a first user;
transmitting the request to a remote machine;
receiving, from the remote machine, configuration data;
executing the configuration data including partitioning a local storage device of the first user machine into a private portion and a shared portion, wherein the shared portion is included in the community internet drive and the private portion is excluded from the community internet drive;
generating a first user profile associated with the first user, wherein the first user profile identifies a second user to be in a group with the first user;
providing the first user profile to the remote machine;
storing first user data associated with the first user in the shared portion of the local storage device, wherein the first user data is encrypted;
receiving third user data associated with a third user, wherein the third user is unassociated with the group including the first user and the second user;
storing the third user data in the shared portion of the local storage device, wherein the third user data is encrypted such that the first user machine is unable to decipher the third user data; and
enabling a second user machine associated with the second user to decipher the first user data stored in the shared portion of the local storage device.

### Claim 2 (depends on 1)

The method of claim 1 further comprising configuring the first user machine to access decrypted data associated with the second user.

### Claim 3 (depends on 2)

The method of claim 2 further comprising, prior to configuring the first user machine to access the decrypted data associated with the second user, sending a share request from the first user machine to the remote machine.

### Claim 4 (depends on 1)

The method of claim 1 further comprising sending the second user machine a notification in response to new data being added, by the first machine, to the shared portion of the local storage device.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
requesting control of a namespace from the remote machine; and
receiving control of the namespace from the remote machine.

### Claim 6

A system, comprising:
a first user machine that is a non-commercial machine used predominately for personal computing by a first user, comprising:
a local storage device; and
one or more processors configured to:
generate a request to be included in a community internet drive;
cause the request to be transmitted to the remote machine;
receive configuration data provided by the remote machine;
execute the configuration data, including partitioning the local storage device of the first user machine into a private portion and a shared portion, wherein the shared portion is included in the community internet drive and the private portion is excluded from the community internet drive;
generate a first user profile associated with the first user, wherein the first user profile identifies a second user to be in a group with the first user;
cause the first user profile to be provided to the remote machine;
store the first user data in the shared portion of the local storage device, wherein the first user data is encrypted;
receive third user data associated with a third user, wherein the third user is unassociated with the group including the first user and the second user;
store the third user data in the shared portion of the local storage device, wherein the third user data is encrypted such that the first user machine is unable to decipher the third user data; and
enable a second user machine associated with the second user to decipher the first user data stored in the shared portion of the local storage device.

### Claim 7 (depends on 6)

The system of claim 6, wherein the first user machine is further configured to access decrypted data associated with the second user.

### Claim 8 (depends on 7)

The system of claim 7, wherein the first user machine is further configured to receive a notification that the second user machine has accepted an invitation to be in the group with the first user machine prior to the first user machine being configured to access the decrypted data associated with the second user.

### Claim 9 (depends on 6)

The system of claim 6 further comprising the first user machine being configured to send the second user machine a notification in response to new data being added, by the first machine, to the shared portion of the local storage device.

### Claim 10 (depends on 6)

The method of claim 6 further comprising:
requesting control of a namespace from the remote machine; and
receiving control of the namespace from the remote machine.

### Claim 11

A method of managing data among a plurality of machines, comprising:
receiving a first request from a first machine to join a community internet drive managed at least partially by a remote machine, wherein whether the first machine is online is dependent on a first user;
in response to receiving the first request, transmitting data initiating the configuration of the first machine to be part of the community internet drive;
receiving a second request from a second machine to join the community internet drive managed at least partially by the remote machine;
in response to receiving the second request, transmitting data initiating the configuration of the second machine to be part of the community internet drive;
receiving a third request from a third machine to join the community internet drive managed at least partially by the remote machine;
in response to receiving the third request, transmitting data initiating the configuration of the third machine to be part of the community internet drive;
receiving an indication of first data associated with the first machine to be stored in the community internet drive, wherein the first data is encrypted; and
in response to receiving the indication of the first data:
causing at least a first portion of the first data, as encrypted, to be stored on the second machine, wherein the second machine is unable to decrypt the first data and wherein whether the second machine is online is under the control of a second user that is different than the first user; and
causing at least a second portion of the first data, as encrypted, to be stored on the third machine, wherein the third machine is unable to decrypt the first data and wherein whether the third machine is online is under the control of a third user that is different than the first user and the second user.

### Claim 12 (depends on 11)

The method of claim 11 further comprising:
generating profile information associated with the first user of the first machine;
determining from the profile information that the first machine is associated with the first user;
determining a fourth machine is associated with a fourth user, wherein the first user has indicated in the profile information that the fourth user is in a group authorized to access the first data; and
enabling the fourth machine to access the first data as unencrypted.

### Claim 13 (depends on 12)

The method of claim 12 further comprising:
receiving a request from the fourth machine to access the first data;
determining the fourth machine is authorized by the first user to access the first data;
in response to receiving the request, determining the first machine is offline;
in response to determining the first machine is offline, determining the second machine and the third machine are online; and
in response to determining the second machine and the third machine are online, enabling the first data to be transferred from the second machine and the third machine to the fourth machine.

### Claim 14 (depends on 13)

The method of claim 13 further comprising:
determining the fourth machine has accessed and downloaded a first copy of the first data;
determining whether the fourth machine has modified the first copy of the first data; and
in response to determining the copy of the first data is unmodified by the fourth machine, generating progenitor data associated with the first copy indicating the first copy is substantively identical to the first data.

### Claim 15 (depends on 13)

The method of claim 13 further comprising:
determining the fourth machine has accessed and downloaded a first copy of the first data;
determining whether the fourth machine has modified the first copy of the first data; and
in response to determining the copy of the first data was modified by the fourth machine, generating progenitor data associated with the first copy indicating the first copy is a modified version of the first data.

### Claim 16 (depends on 11)

The method of claim 11 further comprising managing one or more namespaces, wherein at least one namespace of the namespaces is tagged as being a premium namespace for mount points and is offered for a fee.

### Claim 17

A system of managing data among a plurality of machines, comprising:
a server including a processor, wherein the processor is configured to:
receive a first request from a first machine to join a community internet drive managed at least partially by the server, wherein whether the first machine is online is dependent on a first user;
in response to receiving the first request, initiate the transmission of data causing the first machine to be configured as part of the community internet drive;
receive a second request from a second machine to join the community internet drive managed at least partially by the server;
in response to receiving the second request, initiate the transmission of data causing the second machine to be configured as part of the community internet drive;
receive a third request from a third machine to join the community internet drive managed at least partially by the server;
in response to receiving the third request, initiate the transmission of data causing the third machine to be configured as part of the community internet drive;
receive an indication of first data associated with the first machine to be stored in the community internet drive, wherein the first data is encrypted; and
in response to receiving the indication of the first data:
cause at least a first portion of the first data, as encrypted, to be stored on the second machine, wherein the second machine is unable to decrypt the first data and wherein whether the second machine is online is under the control of a second user that is different than the first user; and
cause at least a second portion of the first data, as encrypted, to be stored on the third machine, wherein the third machine is unable to decrypt the first data and wherein whether the third machine is online is under the control of a third user that is different than the first user and the second user.

### Claim 18 (depends on 17)

The system of claim 17, wherein the server is further configured to:
generate profile information associated with the first user of the first machine;
determine from the profile information that the first machine is associated with the first user;
determine a fourth machine is associated with a fourth user, wherein the first user has indicated in the profile information that the fourth user is in a group authorized to access the first data; and
enable the fourth machine to access the first data as unencrypted.

### Claim 19 (depends on 18)

The system of claim 18, wherein the server is further configured to:
receive a request from the fourth machine to access the first data;
determine the fourth machine is authorized by the first user to access the first data;
in response to receiving the request, determine the first machine is offline;
in response to determining the first machine is offline, determine the second machine and the third machine are online; and
in response to determining the second machine and the third machine are online, enable the first data to be transferred from the second machine and the third machine to the fourth machine.

### Claim 20 (depends on 19)

The system of claim 19, wherein the server is further configured to:
determine the fourth machine has accessed and downloaded a first copy of the first data;
determine whether the fourth machine has modified the first copy of the first data; and
in response to determining the copy of the first data is unmodified by the fourth machine, generate progenitor data associated with the first copy indicating the first copy is substantively identical to the first data.

### Claim 21 (depends on 19)

The system of claim 19, wherein the server is further configured to:
determine the fourth machine has accessed and downloaded a first copy of the first data;
determine whether the fourth machine has modified the first copy of the first data; and
in response to determining the copy of the first data was modified by the fourth machine, generate progenitor data associated with the first copy indicating the first copy is a modified version of the first data.

### Claim 22 (depends on 17)

The system of claim 17, wherein the server is further configured to manage one or more namespaces, wherein at least one namespace of the namespaces is tagged by the system as being a premium namespace for mount points and is offered for a fee.
