Loading a machine code API onto an 8-bit virtual machine to enable new functionality
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-017/02
G06F-009/455
H04L-029/08
H04L-029/06
H04N-021/422
G08C-019/28
G06F-009/54
출원번호
US-0617928
(2015-02-09)
등록번호
US-9542212
(2017-01-10)
발명자
/ 주소
Provis, Adam P. G.
Miramontes, Oscar
Vergis, George C.
출원인 / 주소
IXYS Intl Limited
대리인 / 주소
Imperium Patent Works
인용정보
피인용 횟수 :
0인용 특허 :
36
초록▼
A compact, register-based, eight-bit virtual machine is realized on a resource-constrained device such as, for example, an IR remote control device. The IR remote control device includes a script interpreter, as well as loader API functionality and API functionality to support communication over a b
A compact, register-based, eight-bit virtual machine is realized on a resource-constrained device such as, for example, an IR remote control device. The IR remote control device includes a script interpreter, as well as loader API functionality and API functionality to support communication over a bidirectional link. The functionality of the remote control device is customized by loading either a machine code API routine and/or a script API routine onto the remote control device via the bidirectional link. A script is loaded via the bidirectional link and is stored in program memory. Once loaded, the script is interpreted by the virtual machine, thereby calling API functionalities provided, and thereby causing the remote control device to have a desired customized function. Providing the virtual machine on all the members of a family of remote control devices allows the same script to run on any remote control device of the family.
대표청구항▼
1. A method involving a chain of a plurality of virtual machine devices that are chained together in serial fashion, and wherein each of the virtual machine devices comprises a microcontroller that executes a script interpreter, the method comprising: (a) relaying a first direct script instruction t
1. A method involving a chain of a plurality of virtual machine devices that are chained together in serial fashion, and wherein each of the virtual machine devices comprises a microcontroller that executes a script interpreter, the method comprising: (a) relaying a first direct script instruction through virtual machine devices from one virtual machine device to the next down the chain of virtual machine devices such that the first direct script instruction is supplied to a selected one of the virtual machine devices;(b) interpreting the first direct script instruction on the selected one of the virtual machine devices thereby putting the selected virtual machine device into a direct mode;(c) relaying an amount of code from one virtual machine device to the next down the chain of virtual machine devices such that the code is received onto the selected virtual machine device;(d) loading the amount of code into the selected virtual machine device while the selected virtual machine device is operating in the direct mode;(e) relaying a second direct script instruction through virtual machine devices from one virtual machine device to the next down the chain of virtual machine devices such that the second direct script instruction is supplied to the selected one of the virtual machine devices; and(f) interpreting the second direct script instruction on the selected one of the virtual machine devices thereby causing the selected virtual machine device to exit the direct mode. 2. The method of claim 1, wherein multiple virtual machine devices upstream of the selected virtual machine device in the chain relay the first direct script instruction, the amount of code, and the second direct script instruction to the selected virtual machine device. 3. The method of claim 1, wherein the first direct script instruction is a DIRECT instruction that causes any interpreting of any script that is currently being interpreted by the script interpreter of the selected virtual machine device to be halted, and that causes the script interpreter of the selected virtual machine device to interpret an individual script instruction that is injected into the selected virtual machine device by another virtual machine device of the chain. 4. The method of claim 1, wherein the second direct script instruction is a RESTART instruction that causes the microcontroller of the selected virtual machine device to be reset thereby taking the selected virtual machine device out of the direct mode. 5. The method of claim 1, wherein the selected virtual machine device further comprises a loader, wherein the amount of code is an amount of machine code, and wherein the loader of the selected virtual machine device loads the amount of machine code into the selected virtual machine and assigns the amount of machine code an identifier such that the amount of machine code can later be called by a script that is being interpreted by the script interpreter of the selected virtual machine device. 6. The method of claim 5, wherein the script interpreter of the selected virtual machine device is adapted to interpret an erase script instruction, wherein an interpreting of the erase script instruction by the script interpreter causes an amount of machine code to be erased from the selected virtual machine device and causes an identifier for the amount of machine code to be de-assigned. 7. The method of claim 1, wherein the plurality of virtual machine devices are chained together by a wired bus. 8. The method of claim 1, wherein the plurality of virtual machine devices are chained together via a network. 9. The method of claim 1, wherein the plurality of virtual machine devices are chained together using RF communication. 10. The method of claim 1, wherein the amount of code is a script comprising a plurality of script instructions. 11. The method of claim 1, wherein none of the virtual machine devices executes any operating system. 12. A system comprising a chain of virtual machine devices that are chained together in serial fashion by a bus, wherein each virtual machine device of the chain comprises a microcontroller that executes a script interpreter and wherein no virtual machine device of the chain executes any operating system, wherein the script interpreter of a selected virtual machine device is adapted (a) to halt any interpreting of any script in response to a receiving of a first direct script instruction onto the selected virtual machine device and in response to an interpreting of the first direct script instruction by the selected virtual machine device and then (b) to load an amount of code received from the bus into the selected virtual machine device and then (c) in response to a receiving and an interpreting of a second direct script instruction to reset the selected virtual machine device such that the selected virtual machine device does not lead any code, wherein the first direct script instruction, the amount of code, and the second direct script instruction are relayed through multiple upstream virtual machine devices through the chain down to the selected virtual machine device. 13. The system of claim 12, wherein the interpreting of the first direct script instruction causes the selected virtual machine to operate in a direct mode, wherein code can only be loaded into the selected virtual machine device if the selected virtual machine device is operating in the direct mode, and wherein the interpreting of the second direct script instruction causes the selected virtual machine device to stop operating in the direct mode. 14. The system of claim 13, wherein the code is an amount of machine code. 15. The system of claim 13, wherein the code is a script comprising a plurality of script instructions. 16. The system of claim 12, wherein the bus is a wired bus. 17. The system of claim 12, wherein the virtual machine devices of the chain are chained together via a network. 18. The system of claim 12, wherein the virtual machine devices of the chain are chained together using RF communication. 19. The system of claim 12, wherein the chain of virtual machine devices performs control and monitoring functions and is deployed in a vehicle. 20. A system comprising: a bus; anda chain of a plurality of Virtual Machine (VM) means, wherein the VM means are chained together in serial fashion by the bus, wherein each VM means is for: 1) halting any interpreting of any script in response to a receiving of a first direct script instruction onto said each VM means and an interpreting of the first direct script instruction by said each VM mean thereby putting said each VM means into a direct mode; 2) loading an amount of code received from the bus into said each VM means while said each VM means is operating in the direct mode; and 3) resetting said each VM means in response to a receiving of a second direct script instruction onto said each VM means and an interpreting of the second direct script instruction by said each VM means thereby taking said each VM means out of the direct mode, wherein first direct instructions, amounts of code, and second direct instructions destined for a particular downstream VM means of the chain are supplied to the particular downstream VM means by relaying the direct instructions and code through any upstream VM means of the chain down through the chain to the particular downstream VM means. 21. The system of claim 20, wherein none of the VM means executes any operating system. 22. The system of claim 20, wherein the chain of VM means performs control and monitoring functions and is deployed in a vehicle.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (36)
Keenan Douglas M. (Indianapolis IN), Apparatus and method for addressing memory.
Walczyk, Joseph; Fauth, Dieter; Holzhauer, David; Hussey, Robert M.; Keys, Barry; Livingston, Joseph; Robinson, Michael D., Customizable optical reader.
Provis,Adam P. G.; Miramontes,Oscar C.; Vergis,George C., Interpreting a common script block to output various forms of data according to a common protocol.
Johnson Lee R. (Lawrenceville GA) Rovira Luis A. (Atlanta GA) Montreuil Leo (Atlanta GA) Wall ; Jr. William E. (Atlanta GA), Remote control for digital music terminal with synchronized communications.
Provis,Adam P. G.; Miramontes,Oscar C.; Vergis,George C., Script instruction for jumping to a location, interpreting a predetermined number of instructions and then jumping back.
Movshovich Aleksandr (Santa Clara CA), Television receiver with learning remote control system capable of being controlled by a remote control device manufactu.
Geiger Erich (Unterkirnach DEX) Schiering Rolf (Hemmingen DEX), Television receiver with remote control system capable of controlling associated peripheral devices manufactured by diff.
Rumbolt Robin B. (Knoxville TN) McIntyre William R. (Knoxville TN) Goodson Larry E. (Blaine TN), Universal remote control unit with model identification capability.
Wilkinson Timothy J.,GBX ; Guthery Scott B. ; Krishna Ksheerabdhi ; Montgomery Michael A., Using a high level programming language with a microcontroller.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.