IP Library › Granted Patent US 11,102,206
Granted Patent B2
US 11,102,206 · App. 16/532,136 · Granted Aug 24, 2021

Methods and apparatus for establishing shared memory spaces for data access and distribution

Inventor: Hani Yakan (Houston, TX)
Assignee: PostOak.Today LLC
H04L63/10G06F3/002G06F3/0481G06F9/452G06F21/6218G06F40/166G06K7/1413G06Q30/0267H04L63/102
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,102,206
App. No.
16/532,136
Granted
Aug 24, 2021
Kind
B2
Abstract

In some implementations, methods and apparatuses herein relate to generating shared memory spaces that can share files or applications between users and between user devices. For example, a processor can allocate a first portion of a memory of a client device to serve as a shared memory space for at least one dynamic application object, and instantiating a user interface on a display associated with the client device. The user interface can be based on a content of the shared memory space and representing the at least one dynamic application object. A processor can define access rights for a user of a second electronic device for receiving a copy of the instantiated user interface. The processor can define user rights for the user for use of the at least one dynamic application object with the second electronic device. The at least one dynamic application object can be a data file or a live user experience.

Claims (71)

1. A method, comprising:

allocating a first portion of a memory of a first user device to serve as a first shared memory space for at least one dynamic application object;

instantiating a first user interface on a display associated with the first user device based on a content of the first shared memory space;

allocating a first portion of a memory of a second user device to serve as a second shared memory space for at least one dynamic application object;

instantiating a second user interface on a display associated with the second user device based on a content of the second shared memory; and

maintaining on a compute device a registry identifying the first shared memory space and the second shared memory space, the registry including access control information for each of the first shared memory space and the second shared memory space, the access control information defining permission to access the first shared memory space and the second shared memory space by user devices other than the first user device and the second user device.

2. The method of claim 1 , further comprising:

receiving at the compute device a request from a third user device to receive a copy of the instantiated first user interface;

approving the request from the third user device with reference to the access control information; and

instructing the first user device to share a copy of the instantiated first user interface with the third user device.

3. The method of claim 2 , further comprising:

editing the shared memory space at the first user device to modify its content of at least one dynamic application object; and

notifying the compute device that the first shared memory space has been edited; and

notifying the third user device that the first shared memory space has been edited.

4. The method of claim 3 , wherein the notifying the third user device is performed by the compute device.

5. The method of claim 1 , further comprising;

receiving at the compute device requests from a plurality of user devices to receive a copy of the instantiated first user interface;

approving fewer than all of the requests with reference to the access control information; and

instructing the first user device to share a copy of the instantiated first user interface with user devices from the plurality of user devices whose requests were approved.

6. The method of claim 5 , further comprising:

deleting the first shared memory space on the first user device;

notifying the compute device that the first shared memory space has been deleted; and

deleting shared copies of instantiations of the first user interface from user devices from the plurality of user devices whose requests were approved.

7. The method of claim 1 , further comprising:

associating an identification code with the first user interface; and

displaying the identification code upon the display of the first user interface.

8. The method of claim 7 , further comprising;

capturing the identification code on a third user device;

generating at the third user device a request for a copy of the first user interface using the identification code;

receiving the request for a copy of the first user interface at the compute device;

approving the request from the third user device; and

instructing the first user device to share a copy of the instantiated first user interface with the third user device.

9. A method, comprising:

generating a plurality of shareable canvases on a first user device that is configured to share access to the plurality of shareable canvasses, each shareable canvas from the plurality of shareable canvasses including a corresponding allocated portion of a memory of the first user device and configured to provide an associated instantiated interface on a display associated with the first user device;

linking a subset of shareable canvasses from the plurality of shareable canvasses to provide a first canvas stack including the subset of shareable canvasses; and

allowing a second user device to access the first canvas stack.

10. The method of claim 9 , further comprising:

generating a second stack of shareable canvasses at a third user device;

associating, at a compute device, the first stack of shareable canvasses and the second stack of shareable canvasses with a first canvas network;

storing, at the compute device, first access control information for use in determining permissions to access the first stack of shareable canvasses; and

storing, at the compute device, second access control information for use in determining permissions to access the first stack of shareable canvasses.

11. The method of claim 10 , further comprising:

receiving, at the compute device, a request from a fourth user device to access a shareable canvas of the first canvas network; and

with reference to the first access control information, allowing the fourth user device access to at least one, but not all of the shareable canvasses of the first canvas stack.

12. The method of claim 9 , further comprising:

generating a second stack of shareable canvasses at a third user device;

associating, at a compute device, the first stack of shareable canvasses and the second stack of shareable canvasses with a first canvas network;

storing, at the compute device, first access control information for use in determining first permissions to access the first stack of shareable canvasses; and

storing, at the compute device, second access control information for use in determining second permissions to access the first stack of shareable canvasses.

13. A method, comprising:

receiving, at a compute device, a signal indicating a first portion of a memory of a first user device being allocated to serve as a first shared memory space for a first dynamic application object, a first user interface being instantiated on a display associated with the first user device based on a content of the first shared memory space;

receiving, at the compute device, a signal indicating a first portion of a memory of a second user device being allocated to serve as a second shared memory space for a second dynamic application object, a second user interface being instantiated on a display associated with the second user device based on a content of the second shared memory; and

maintaining on the compute device a registry identifying the first shared memory space and the second shared memory space, the registry including access control information for each of the first shared memory space and the second shared memory space, the access control information defining permission to access the first shared memory space and the second shared memory space by user devices other than the first user device and the second user device.

14. The method of claim 13 , further comprising:

receiving, at the compute device and from a third user device, a request to receive a copy of the instantiated first user interface;

approving, at the compute device, the request from the third user device with reference to the access control information; and

sending a signal to instruct the first user device to share a copy of the instantiated first user interface with the third user device.

15. The method of claim 14 , further comprising:

receiving, at the compute device and from the first user device, a signal notifying the server that the first shared memory space has been edited to modify its content of the first dynamic application object; and

sending, from the compute device and to the third user device, a signal notifying the third user device that the first shared memory space has been edited.

16. The method of claim 13 , further comprising;

receiving at the compute device requests from a plurality of user devices to receive a copy of the instantiated first user interface;

approving fewer than all of the requests with reference to the access control information; and

sending a signal to instruct the first user device to share a copy of the instantiated first user interface with user devices from the plurality of user devices whose requests were approved.

17. The method of claim 16 , further comprising:

receiving, at the compute device and from the first user device, a notification that the first shared memory space has been deleted; and

sending, from the compute device and to each user device from the plurality of user devices whose requests were approves, a signal to delete shared copies of instantiations of the first user interface from that user devices.

18. The method of claim 13 , further comprising:

receiving, at the compute device, a request for a copy of the first user interface that is associated with an identification code displayed on the display of the first user interface and captured on the third user device;

approving, at the compute device, the request from the third user device; and

sending, from the compute device and to the first user device, a signal to instruct the first user device to share a copy of the instantiated first user interface with the third user device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2019
From: YAKAN, HANI
To: POSTOAK.TODAY LLC
Reel/Frame 049996/0832 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2019
From: YAKAN, HANI
To: POST OAK TODAY LLC
Reel/Frame 049996/0825 →
Continuity (3)
Continuation 15456228 · Mar 10, 2017
Provisional Application 62307161 · Mar 11, 2016
Related Publication 20200213313A1 · Jul 2, 2020
Cited By (1)
US 12,199,983