IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0146357
(2005-06-06)
|
등록번호 |
US-8312167
(2012-11-13)
|
발명자
/ 주소 |
- Swaminathan, Viswanathan
- Fernando, Gerard
- Speer, Michael
|
출원인 / 주소 |
|
대리인 / 주소 |
Meyertons Hood Kivlin Kowert & Goetzel, P.C.
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
22 |
초록
▼
A method and apparatus for timely delivery of classes and objects is provided. A header comprising timing information is attached to said classes and/or objects. A “start loading” time and a “load by” time are specified in the header. Other classes and/or objects to be loaded are also specified in t
A method and apparatus for timely delivery of classes and objects is provided. A header comprising timing information is attached to said classes and/or objects. A “start loading” time and a “load by” time are specified in the header. Other classes and/or objects to be loaded are also specified in the header. Optional compression, security, and/or error resilience schemes are also specified in the header. A process for creating the header and attaching it to a class or object is provided. A process for receiving and processing a class or object with an attached header is provided. Embodiments of the invention allow timely delivery of classes and/or objects over a wide variety of transport mechanisms, including unreliable transport mechanisms and those lacking any guarantees of timely delivery.
대표청구항
▼
1. A computer-implemented method for distributing data via a computer network, the method comprising: a first computer system addressing the data to one or more network addresses; andthe first computer system transmitting the data to the computer network using the one or more network addresses, wher
1. A computer-implemented method for distributing data via a computer network, the method comprising: a first computer system addressing the data to one or more network addresses; andthe first computer system transmitting the data to the computer network using the one or more network addresses, wherein the one or more network addresses include a broadcast address;wherein the data includes program instructions and timing information, wherein the program instructions define one or more platform-independent computer programs that are executable by a virtual machine on a second computer system that is coupled to the computer network; andwherein the timing information indicates a time by which loading of at least a first portion of the program instructions is to be completed by the virtual machine on the second computer system;wherein said transmitting the data includes broadcasting the data to a plurality of computer systems via the computer network without separately addressing each of the plurality of computer systems, wherein said broadcasting the data uses the broadcast address. 2. The method of claim 1, wherein the first portion of the program instructions includes a reference to a second portion of the program instructions; and wherein the timing information indicates a time by which loading of the second portion of the program instructions is to be completed by the second computer system. 3. The method of claim 2, wherein said transmitting the data to the computer network includes transmitting the second portion of the program instructions two or more times to the computer network. 4. The method of claim 3, wherein the timing information further indicates a time that the second computer system is to start loading the second portion of the program instructions. 5. The method of claim 3, wherein said transmitting the second portion of the program instructions two or more times includes periodically transmitting the second portion of the program instructions. 6. The method of claim 1, wherein said first portion of the program instructions includes byte code. 7. The method of claim 6, wherein the byte code includes an object or a class. 8. The method of claim 6, wherein the byte code conforms to the Java™ Virtual Machine Specification. 9. The method of claim 6, wherein the byte code is part of an applet. 10. The method of claim 1, wherein said transmitting the data to the computer network includes transmitting the first portion of the program instructions two or more times to the computer network. 11. The method of claim 10, wherein said transmitting the first portion of the program instructions two or more times includes periodically transmitting the first portion of the program instructions to the computer network. 12. The method of claim 1, wherein at least the first portion of the program instructions is compressed prior to said transmitting the data. 13. The method of claim 12, wherein the data further includes compression type information, wherein the compression type information specifies a type of compression used to compress said at least the first portion of the program instructions. 14. The method of claim 1, wherein the computer network includes at least one wireless link. 15. The method of claim 1, wherein the one or more network addresses include a multicast address; and wherein said transmitting the data includes transmitting the data to a plurality of computer systems via the computer network without separately addressing each of the plurality of computer systems, wherein said transmitting the data to the plurality of computer systems uses the multicast address. 16. The method of claim 1, further comprising dividing the data into a plurality of data packets before said addressing and said transmitting; wherein said addressing the data to one or more network addresses includes addressing each of the plurality of data packets to the one or more network addresses; andwherein said transmitting the data includes transmitting each of the plurality of data packets to the computer network. 17. The method of claim 1, wherein the timing information further indicates a time that the second computer system is to start loading the first portion of the program instructions. 18. The method of claim 1, wherein the data further includes media information, wherein the media information includes one or more of audio information, image information, and video information, wherein the media information is time-aware media information. 19. The method of claim 1, wherein the data is formatted according to a Real-time Transport Protocol (RTP). 20. The method of claim 1, wherein the data further includes authentication information which is usable by the second computer system to authenticate at least said first portion of the program instructions. 21. The method of claim 1, wherein the first portion of the program instructions belongs to a first class, wherein the data includes a header associated with the first class, wherein the header includes the timing information and a list of additional classes required by the first class. 22. The method of claim 1, wherein the data includes a header, wherein the header includes the timing information, wherein the header also includes information that specifies a number of portions of program instructions that are to be loaded by the second computer system before executing said first portion of the program instructions. 23. The method of claim 1, wherein the data further includes identification information that is usable to identify at least a portion of the program instructions. 24. The method of claim 1, wherein the timing information includes relative timing information. 25. The method of claim 1, wherein said transmitting is performed according to a User Datagram Protocol (UDP). 26. The method of claim 1, wherein the first computer system performs said transmitting in response to receiving a request from a browser application of the second computer system. 27. A computer-implemented method, comprising: a computer system receiving data from a computer network, wherein the data includes timing information and program instructions, wherein the program instructions define one or more computer programs that are executable by the computer system, wherein the timing information indicates a first time by which loading of at least a first portion of the program instructions is to be completed by the computer system;the computer system starting to load the first portion of the program instructions; andthe computer system determining if the first portion of the program instructions has completed loading by the first time;wherein the first portion of the program instructions includes platform-independent code that is configured for execution by a virtual machine on the computer system. 28. The method of claim 27, further comprising: in response to determining that the first portion of the program instructions has completed loading by the first time, the computer system executing the first portion of the program instructions. 29. The method of claim 28, wherein said executing the first portion of the program instructions includes: compiling the platform-independent code to obtain second program instructions executable by a processor of the computer system; andthe processor executing the second program instructions. 30. The method of claim 28, wherein said executing the first portion of the program instructions includes: executing a virtual machine on the computer system; andthe virtual machine executing the platform-independent code. 31. The method of claim 28, wherein said executing the first portion of the program instructions includes: translating the platform-independent code to obtain second program instructions executable by a processor of the computer system; andthe processor executing the second program instructions. 32. The method of claim 28, wherein the platform-independent code forms part of an applet. 33. The method of claim 28, wherein the platform-independent code is Java byte code. 34. The method of claim 28, wherein the data includes a header that specifies a number of additional portions of the program instructions to be loaded before performing said executing the first portion of the program instructions; the method further comprising: the computer system determining if the additional portions of the program instructions have been loaded;wherein said executing the first portion of the program instructions is performed after the additional portions of the program instructions have been loaded. 35. The method of claim 28, wherein the data further includes a plurality of identifiers that identify selected portions of the program instructions; the method further comprising: the computer system determining if loading of the selected portions corresponding to the plurality of identifiers has completed;wherein said executing the first portion of the program instructions is performed after the selected portions have been loaded. 36. The method of claim 27, wherein the data further includes time-aware media information, wherein the time-aware media information includes one or more of the following: audio information, image information, and video information. 37. The method of claim 27, further comprising: in response to determining that the first portion of the program instructions has completed loading by the first time:the computer system compiling the first portion of the program instructions; andthe computer system executing the compiled first portion. 38. The method of claim 27, further comprising: the computer system performing one or more processing operations to handle a late loading error if the loading of the first portion of the program instructions is not completed by the second time. 39. A non-transitory computer-readable memory medium that stores program code, wherein the program code, if executed by a computer system, further causes the computer system to: receive data from a computer network, wherein the data includes program instructions and timing information, wherein the program instructions define one or more platform-independent computer programs that are executable by a virtual machine of the computer system, wherein the timing information specifies a first time the virtual machine of the computer system is to start executing at least a first portion of the program instructions, wherein the timing information also indicates a load-complete time by which loading of at least said first portion of the program instructions is to be completed by the virtual machine on the computer system. 40. The memory medium of claim 39, wherein the data further includes time-aware media information, wherein the time-aware media information includes one or more of the following: audio information, image information, and video information. 41. The memory medium of claim 40, wherein the time-aware media information is formatted according to one or more of an MPEG-1 format, an MPEG-2 format, and an MPEG-4 format. 42. The memory medium of claim 40, wherein the time-aware media information includes a scene graph. 43. The memory medium of claim 39, wherein the program instructions are compressed. 44. The memory medium of claim 43, wherein the data further comprises compression information, wherein the program code, if executed by the computer system, further causes the computer system to: identify a decompression scheme to apply to the program instructions based on compression information included in the header; andapply the decompression scheme to the program instructions to produce decompressed program instructions. 45. The memory medium of claim 39, wherein the data further comprises a plurality of identifications, wherein each identification of the plurality of identifications is usable to identify a corresponding one of a plurality of portions of the program instructions. 46. The memory medium of claim 45, wherein each of the plurality of portions of the program instructions is a Java class, wherein a first of the Java classes includes one or more of a variable and a method. 47. The memory medium of claim 39, wherein the data includes a header, wherein the header includes the timing information. 48. The memory medium of claim 47, wherein the header comprises size information which indicates a size of the header. 49. The memory medium of claim 39, wherein the timing information specifies a load-start time that precedes the first time, wherein the load-start time indicates a time that the virtual machine is to start loading one or more portions of the program instructions. 50. The memory medium of claim 49, wherein one or more of the first time and the second time are relative times. 51. The memory medium of claim 39, wherein the first time includes a relative time. 52. The memory medium of claim 39, wherein the timing information includes a timestamp that specifies the first time. 53. The memory medium of claim 39, wherein the data includes a plurality of packets. 54. The memory medium of claim 39, wherein the data further includes authentication information, wherein the authentication information is usable by the computer system to authenticate at least a portion of the program instructions. 55. The memory medium of claim 39, wherein the data further comprises an identification (ID) which identifies the first portion of the program instructions. 56. The memory medium of claim 39, wherein the data further comprises version information which indicates a version of at least the first portion of the program instructions, wherein the version information indicates a major version number and a minor version number. 57. The memory medium of claim 39, wherein the data further includes error correction information, wherein the program code, if executed by the computer system, further causes the computer system to: identify an error correction scheme to apply to the byte code based on identification information; andapply the error correction scheme to the program instructions to produce corrected program instructions. 58. The memory medium of claim 39, wherein the data further includes identification information associated with the first portion of the program instructions, wherein the identification information indicates whether the first portion of the program instructions is an object file or a class file. 59. The memory medium of claim 39, wherein the data is formatted according to a Real-time Transport Protocol (RTP). 60. A server computer system comprising: a processor; anda memory that stores program code, wherein the program code, if executed by the processor, causes the processor to transmit a data stream to a client computer system via a computer network;wherein the data stream includes first program instructions and first timing information, wherein the first program instructions define one or more platform-independent computer programs executable by a virtual machine on the client computer system, wherein the first timing information indicates a time by which loading of the first program instructions is to be completed by the client computer system. 61. The system of claim 60, wherein the data stream also includes media information, wherein the media information includes one or more of audio information, image information, and video information. 62. The system of claim 61, wherein the data stream is formatted according to one or more of a Real-time Transport Protocol (RTP), an MPEG-1 format, an MPEG-2 format, and an MPEG-4 format. 63. The system of claim 60, wherein the computer network includes one or more wireless links. 64. The system of claim 60, wherein the computer network includes the Internet. 65. The system of claim 60, wherein the client computer system stores second program instructions that are executable on the client computer system to implement the virtual machine; wherein the virtual machine is configured to execute the first program instructions, wherein said loading of the first program instructions includes loading the first program instructions into the virtual machine. 66. A computer-implemented method, comprising: a computer system receiving a data stream from a computer network, wherein the data stream includes program instructions and timing information associated with the program instructions, wherein the program instructions define one or more platform-independent computer programs that are executable by a virtual machine on the computer system;the computer system determining a first time indicated by the timing information; andthe computer system completing a loading of the program instructions at or before the first time. 67. The method of claim 66, further comprising: the computer system determining a load-initiation time indicated by the timing information, wherein the load-initiation time precedes the first time;the computer system initiating said loading of the program instructions in response to a determination that the load-initiation time has passed. 68. A non-transitory computer-readable memory medium that stores program code, wherein the program code, if executed by a first computer system, causes the first computer system to: transmit data through a computer network, wherein the data includes program instructions and timing information, wherein the program instructions define one or more platform-independent computer programs that are executable by a virtual machine;wherein the timing information indicates a first time by which loading of at least a first portion of the program instructions is to be completed by an instance of the virtual machine on a second computer system coupled to the computer network. 69. The memory medium of claim 68, wherein the data also includes media information, wherein the media information includes timestamps and presentation information, wherein the presentation information includes one or more of audio information, image information, and video information, wherein the timestamps specify times that the second computer system is to act on portions of the presentation information. 70. The memory medium of claim 68, wherein the data is formatted according to one or more of a Real-time Transport Protocol (RTP), an MPEG-1 format, an MPEG-2 format, and an MPEG-4 format.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.