IP Library Granted Patent US 11,080,372
Granted Patent B2
US 11,080,372 · App. 16/655,207 · Granted Aug 3, 2021

Presenting programs for execution via various presentable media

Inventor: Siavash James Joorabchian Hawkins (Staines-Upon-Thames, GB)
Assignee: VMware, Inc.
G06F21/128G06K7/10564G06K7/10722G06K7/1417G06F2221/0713
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,080,372
App. No.
16/655,207
Granted
Aug 3, 2021
Kind
B2
Abstract

The disclosure provides for presenting programs in a scripting language. Examples include receiving a data stream containing computer executable instructions in an interpreted language; generating a verification code; publishing, on a media, the data stream and the verification code; reading, using a sensor, the published data stream and verification code at a reader node; receiving user input; based at least on the verification code or the received user input, determining permission to execute, by the reader node, the computer executable instructions; and based at least on determining that execution is permitted by the reader node, executing at least a portion of the computer executable instructions using an interpreted language execution environment on the reader node. For some examples, the media includes a matrix barcode (e.g., a QR code) or a smart card. Some examples leverage a remote verification node and/or a remote library of executable functions.

Claims (64)

1. A system for presentable programs, the system comprising:

a processor; and

a computer-readable medium storing instructions that are operative upon execution by the processor to:

receive a data stream containing computer executable instructions;

generate a verification code;

publish, on a media, the data stream and the verification code;

read, using a sensor, the published data stream and verification code at a reader node;

receive user input;

based at least on the verification code or the received user input, determine permission to execute, by the reader node, the computer executable instructions; and

based at least on determining that execution is permitted by the reader node, execute at least a portion of the computer executable instructions on the reader node.

2. The system of claim 1 , wherein determining permission to execute, by the reader node, the computer executable instructions comprises:

determining, by a verification node across a computer network from the reader node, the permission to execute, by the reader node, the computer executable instructions.

3. The system of claim 1 , wherein publishing the data stream and the verification code on the media comprises printing a matrix barcode and wherein reading the published data stream and verification code using the sensor comprises imaging the matrix barcode with a camera, barcode reader, or other light sensor.

4. The system of claim 1 , wherein publishing the data stream and the verification code on the media comprises storing the data stream and the verification code on a smart card and wherein reading the published data stream and verification code using the sensor comprises reading the smart card with a smart card reader.

5. The system of claim 1 ,

wherein receiving a data stream containing computer executable instructions comprises receiving a data stream containing computer executable instructions in an interpreted language;

wherein executing at least a portion of the computer executable instructions on the reader node comprises executing at least a portion of the computer executable instructions using an interpreted language execution environment on the reader node;

wherein the data stream includes a reference to a first executable function on the reader node; and

wherein the instructions are further operative to execute the first executable function on the reader node.

6. The system of claim 1 , wherein the data stream includes a reference to a second executable function on a library node remote from the reader node, and wherein the instructions are further operative to:

retrieve, across a computer network, the second executable function from the library node; and

execute the second executable function on the reader node.

7. A method for presenting programs, the method comprising:

receiving a data stream containing computer executable instructions;

generating a verification code;

publishing, on a media, the data stream and the verification code;

reading, using a sensor, the published data stream and verification code at a reader node;

receiving user input;

based at least on the verification code or the received user input, determining permission to execute, by the reader node, the computer executable instructions; and

based at least on determining that execution is permitted by the reader node, executing at least a portion of the computer executable instructions on the reader node.

8. The method of claim 7 , wherein determining permission to execute, by the reader node, the computer executable instructions comprises:

determining, by a verification node across a computer network from the reader node, the permission to execute, by the reader node, the computer executable instructions.

9. The method of claim 7 , wherein publishing the data stream and the verification code on the media comprises printing a matrix barcode and wherein reading the published data stream and verification code using the sensor comprises imaging the matrix barcode with a camera, barcode reader, or other light sensor.

10. The method of claim 7 , wherein publishing the data stream and the verification code on the media comprises storing the data stream and the verification code on a smart card and wherein reading the published data stream and verification code using the sensor comprises reading the smart card with a smart card reader.

11. The method of claim 7 ,

wherein receiving a data stream containing computer executable instructions comprises receiving a data stream containing computer executable instructions in an interpreted language;

wherein executing at least a portion of the computer executable instructions using an interpreted language execution environment on the reader node comprises executing at least a portion of the computer executable instructions using an interpreted language execution environment on the reader node;

wherein the published data stream includes a reference to a first executable function on the reader node, and

wherein the method further comprises executing the first executable function on the reader node.

12. The method of claim 7 , wherein the published data stream includes a reference to a second executable function on a library node remote from the reader node, and

wherein the method further comprises:

retrieving, by the reader node, across a computer network, the second executable function from the library node; and

executing the second executable function on the reader node.

13. A non-transitory computer storage medium having computer-executable instructions that, upon execution by a processor, cause the processor to at least perform operations comprising:

receiving a data stream containing computer executable instructions in an interpreted language;

generating a verification code;

publishing, on a media, the data stream and the verification code;

reading, using a sensor, the published data stream and verification code at a reader node;

receiving user input;

based at least on the verification code or the received user input, determining permission to execute, by the reader node, the computer executable instructions; and

based at least on determining that execution is permitted by the reader node, executing at least a portion of the computer executable instructions using an interpreted language execution environment on the reader node.

14. The non-transitory computer storage medium of claim 13 , wherein determining permission to execute, by the reader node, the computer executable instructions comprises:

determining, by a verification node across a computer network from the reader node, the permission to execute, by the reader node, the computer executable instructions.

15. The non-transitory computer storage medium of claim 13 , wherein publishing the data stream and the verification code on the media comprises printing a matrix barcode and wherein reading the published data stream and verification code using the sensor comprises imaging the matrix barcode with a camera, barcode reader, or other light sensor.

16. The non-transitory computer storage medium of claim 13 , wherein publishing the data stream and the verification code on the media comprises storing the data stream and the verification code on a smart card and wherein reading the published data stream and verification code using the sensor comprises reading the smart card with a smart card reader.

17. The non-transitory computer storage medium of claim 13 , wherein the operations further comprise:

after executing at least a portion of the computer executable instructions, writing a modified data stream to the smart card on the reader node.

18. The non-transitory computer storage medium of claim 13 , wherein the published data stream includes a reference to a first executable function on the reader node, and

wherein the method further comprises executing the first executable function on the reader node.

19. The non-transitory computer storage medium of claim 13 , wherein the published data stream includes a reference to a second executable function on a library node remote from the reader node, and

wherein the method further comprises:

retrieving, by the reader node, across a computer network, the second executable function from the library node; and

executing the second executable function on the reader node.

20. The non-transitory computer storage medium of claim 18 , wherein the interpreted language is a scripting language.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 050740 FRAME: 0254. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 18, 2019
From: HAWKINS, SAIVASH JAMES JOORABCHIAN
To: VMWARE, INC.
Reel/Frame 050765/0864 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2019
From: HAWKINS, SIAVASH JAMES JOORABCHIAN
To: WALMART APOLLO, LLC
Reel/Frame 050740/0254 →