# US 9,641,535 B2 · Apparatus and data processing systems for accessing an object

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

- Number: US 9,641,535 B2
- Document ID: US9641535B2
- Status: Granted
- Kind: B2
- Application number: 15/077,328
- Filed: 2016-03-22
- Published: 2016-07-14
- Granted: 2017-05-02
- Earliest claimed: 2012-12-11
- Assignees: Servmax, Inc.
- Applicants: Servmax, Inc.
- Inventors: Boris Apotovsky; Oleksii Koliadin
- Web page: https://patentgrep.com/patent/US9641535B2

## CPC

- H04L 63/10: {for controlling access to devices or network resources}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0622: {in relation to access}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0637: {Permissions}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 12/10: Address translation
- G06F 12/1458: {by checking the subject access rights}
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- G06F 2212/1052: Security improvement
- G06F 2212/154: Networked environment
- G06F 2212/263: Network storage, e.g. SAN or NAS
- G06F 2212/65: Details of virtual memory and virtual address translation
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- 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

A system and method for providing access to an object over a network may comprise hosting an object on a distributed data processing system accessible over the network, the object contained within a cell; generating, by a cell access provider, a unique and random address for the cell containing the object, utilizing an address resolution module and providing, by the cell access provider, the unique and random address to a computing device of a unique consumer; and upon receipt of the unique and random address from the unique user, matching the unique and random address with the cell to facilitate access by the unique user to the object. The object may comprise a virtual object acting as a cell for facilitating access to one or more additional objects. The virtual object cell may contain one or more unique and random addresses facilitating access to one or more additional objects.

## Claims

### Claim 1

A computer-implemented method comprising:
generating, by a computing device, a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated, wherein the globally unique and random address is generated before existence of the virtual dynamic object;
allocating a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data;
exposing, by the computing device, the globally unique and random address to a client device of a unique consumer;
receiving, by the computing device, the globally unique and random address from the client device; and
upon receipt of the globally unique and random address from the client device, matching and validating, by an address resolution module of the computing device, the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object.

### Claim 2 (depends on 1)

The method of claim 1, wherein the virtual dynamic object facilitates access to one or more additional objects.

### Claim 3 (depends on 2)

The method of claim 2, wherein the virtual dynamic object comprises a plurality of globally unique and random addresses, each matched in a respective address resolution module with a respective memory cell for facilitating access to one or more additional objects.

### Claim 4 (depends on 1)

The method of claim 1, wherein the virtual dynamic object comprises at least one of a form, a file or a set of instructions, the set of instructions defining at least one of a service, a procedure or a function.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
storing the memory cell in a storage device in a storage space location identified by the globally unique and random address defined independently of the physical location in the storage space of the storage device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the memory cell has associated access parameters.

### Claim 7 (depends on 6)

The method of claim 6 further comprising:
providing, by a cell access provider of the computing device, the access parameters to the client device.

### Claim 8 (depends on 1)

The method of claim 1, wherein the virtual dynamic object comprises an object having at least one of a property or a method not identified until runtime.

### Claim 9 (depends on 1)

The method of claim 1 wherein the virtual dynamic object comprises an input information gathering mechanism forming at least a part of a work-flow process.

### Claim 10

A computing device comprising:
a processor;
a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising:
address generating logic executed by the processor for generating a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated, and wherein the globally unique and random address is generated before existence of the virtual dynamic object;
memory cell allocating logic executed by the processor for allocating a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data;
address exposing logic executed by the processor for exposing the globally unique and random address to a client device of a unique consumer;
receiving logic executed by the processor for receiving the globally unique and random address from the client device; and
matching and validating logic executed by the processor for, upon receipt of the globally unique and random address from the client device, matching and validating the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object.

### Claim 11 (depends on 10)

The computing device of claim 10 further comprising:
access facilitating logic executed by the processor for facilitating, via the virtual dynamic object, access to one or more additional objects.

### Claim 12 (depends on 11)

The computing device of claim 11, wherein the virtual dynamic object comprises a plurality of globally unique and random addresses, each matched in a respective address resolution module with a respective memory cell for facilitating access to one or more additional objects.

### Claim 13 (depends on 10)

The computing device of claim 10, wherein the virtual dynamic object comprises at least one of a form, a file, or a set of instructions, the set of instructions defining at least one of a service, a procedure, or a function.

### Claim 14 (depends on 10)

The computing device of claim 10 further comprising:
storing logic executed by the processor for storing the memory cell in a storage device in a storage space location identified by the globally unique and random address defined independently of the physical location in the storage space of the storage device.

### Claim 15 (depends on 10)

The computing device of claim 10, wherein the memory cell has associated access parameters.

### Claim 16 (depends on 15)

The computing device of claim 15 further comprising:
providing logic executed by the processor for providing the access parameters to the client device by a cell access provider of the computing device.

### Claim 17 (depends on 10)

The computing device of claim 10, wherein the virtual dynamic object comprises an object having at least one of a property or a method not identified until runtime.

### Claim 18 (depends on 10)

The computing device of claim 10 wherein the virtual dynamic object comprises a non-uniform object which at least one of modifies itself or is modified during runtime according to at least one of a variable, a parameter or a function.

### Claim 19 (depends on 10)

The computing device of claim 10 wherein the virtual dynamic object comprises an input information gathering mechanism forming at least a part of a work-flow process.

### Claim 20

A non-transitory computer readable storage medium storing instructions which, when executed by a computing device, cause the computing device to perform a method, the method comprising:
generating, by the computing device, a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated, and wherein the globally unique and random address is generated before existence of the virtual dynamic object;
allocating, by the computing device, a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data;
exposing, by the computing device, the globally unique and random address to a client device of a unique consumer;
receiving, by the computing device, the globally unique and random address from the client device; and
upon receipt of the globally unique and random address from the client device, matching and validating, by an address resolution module of the computing device, the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object.

### Claim 21

A computer-implemented method comprising
generating, by a computing device, a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated;
allocating a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data;
exposing, by the computing device, the globally unique and random address to a client device of a unique consumer;
receiving, by the computing device, the globally unique and random address from the client device
upon receipt of the globally unique and random address from the client device, matching and validating, by an address resolution module of the computing device, the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object; and
generating a second globally unique and random address, wherein the second globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a revised virtual dynamic object, and with no duplication for all cells ever allocated.

### Claim 22

A computer-implemented method comprising
generating, by a computing device, a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated;
allocating a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data;
exposing, by the computing device, the globally unique and random address to a client device of a unique consumer;
receiving, by the computing device, the globally unique and random address from the client device
upon receipt of the globally unique and random address from the client device, matching and validating, by an address resolution module of the computing device, the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object; and
allocating a second memory cell with a second globally unique and random address for a revised virtual dynamic object, the revised virtual dynamic object comprising a revised version of the virtual dynamic object.

### Claim 23

A computing device comprising:
a processor;
a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising:
address generating logic executed by the processor for generating a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated and for generating a second globally unique and random address, wherein the second globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a revised virtual dynamic object, and with no duplication for all cells ever allocated;
memory cell allocating logic executed by the processor for allocating a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data;
address exposing logic executed by the processor for exposing the globally unique and random address to a client device of a unique consumer;
receiving logic executed by the processor for receiving the globally unique and random address from the client device; and
matching and validating logic executed by the processor for, upon receipt of the globally unique and random address from the client device, matching and validating the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object.

### Claim 24

A computing device comprising:
a processor;
a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising:
address generating logic executed by the processor for generating a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated;
memory cell allocating logic executed by the processor for allocating a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data and for allocating a second memory cell with a second globally unique and random address for a revised virtual dynamic object, the revised virtual dynamic object comprising a revised version of the virtual dynamic object;
address exposing logic executed by the processor for exposing the globally unique and random address to a client device of a unique consumer;
receiving logic executed by the processor for receiving the globally unique and random address from the client device; and
matching and validating logic executed by the processor for, upon receipt of the globally unique and random address from the client device, matching and validating the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object.

### Claim 25

A non-transitory computer readable storage medium storing instructions which, when executed by a computing device, cause the computing device to perform a method, the method comprising:
generating, by the computing device, a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated;
allocating, by the computing device, a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data;
exposing, by the computing device, the globally unique and random address to a client device of a unique consumer;
receiving, by the computing device, the globally unique and random address from the client device;
upon receipt of the globally unique and random address from the client device, matching and validating, by an address resolution module of the computing device, the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object; and
generating a second globally unique and random address, wherein the second globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a revised virtual dynamic object, and with no duplication for all cells ever allocated.

### Claim 26

A non-transitory computer readable storage medium storing instructions which, when executed by a computing device, cause the computing device to perform a method, the method comprising:
generating, by the computing device, a globally unique and random address, wherein the globally unique and random address is unique for all cells ever allocated with no correlation to information regarding a virtual dynamic object, and with no duplication for all cells ever allocated;
allocating, by the computing device, a memory cell with the globally unique and random address for the virtual dynamic object, the virtual dynamic object comprising code, data, or a combination of code and data;
exposing, by the computing device, the globally unique and random address to a client device of a unique consumer;
receiving, by the computing device, the globally unique and random address from the client device;
upon receipt of the globally unique and random address from the client device, matching and validating, by an address resolution module of the computing device, the globally unique and random address with the memory cell to facilitate access by the unique user to the virtual dynamic object; and
allocating a second memory cell with a second globally unique and random address for a revised virtual dynamic object, the revised virtual dynamic object comprising a revised version of the virtual dynamic object.
