System for distributing native program converted from Java...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data modifying

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S202000

Reexamination Certificate

active

06539433

ABSTRACT:

This application is based on application No. H10-278782 filed in Japan, the content of which is hereby incorporated by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a program cooperative execution apparatus that has electrical appliances cooperatively perform specific operations by transferring programs to the electrical appliances via communication networks. More particularly, the present invention relates to a program cooperative execution apparatus for achieving cooperative operations among electrical appliances, such as home appliances, which each include a microprocessor having a relatively low throughput and a real memory having a relatively small capacity.
2. Background Art
There are cases where it is desirable to achieve cooperative operations among a plurality of electrical appliances that operate under the controls of their microprocessors. For instance, as broadcast stations start providing additional information, such as program schedules, in digital broadcasts, it becomes desirable for the broadcast stations to update the control programs stored in non-volatile memories of TV tuners provided in homes. Also, it is desirable for utilities, such as electric-power companies, gas companies, and hospitals, to offer new elaborate services by collecting information about the operational conditions of home appliances provided in homes via large-scale networks, such as WANs (Wide Area Networks).
One conceivable method for achieving cooperative operations among electrical appliances, such as home appliances, would be to develop new programs for achieving such cooperative operations and to download the programs into the electrical appliances which then execute the downloaded programs. However, the electrical appliances into which the programs are downloaded are not always designed using the same architecture. That is, the electrical appliances include totally different hardware or different types of microprocessors. Therefore, techniques for overcoming the differences in their architectures are required.
Virtual machines, typified by Java (TM) of JavaSoft (a division of Sun Microsystems Inc.), have been used as a technique for overcoming differences in architecture among computers connected via networks, such as the Internet. Virtual machines are programs executed on specific microprocessors (also called “real machines”) and function as virtual microprocessors that sequentially interpret and execute dedicated operation codes (bytecodes) for the virtual machines. Note that a more detailed explanation of the Java is given in “The Java Virtual Machine Specification” (Tim Lindholm and Frank Yellin, pub. Addison Wesley) and in the Web page at “http://java.sun.com”.
FIG. 1
shows a conventional computer network for having different types of computers perform cooperative operations by providing the computers with common programs that can be executed by virtual machines of the computers. An application program
130
for achieving a cooperative operation is written on a development computer
100
in the Java language and is converted into Java bytecode
131
a
by a Java compiler
101
. The Java bytecode
131
a
is sent to another computer
120
whose architecture is different from that of the development computer
100
via a network adaptor
102
, a network
110
, and a network adaptor
123
. The sent bytecode
131
c
is interpreted and is executed by a Java virtual machine
121
that operates on a real machine
122
of the computer
120
. In this manner, common programs (Java bytecodes) can be executed as they are by computers having different architectures through the intermediary operations of Java virtual machines.
Cooperative operation systems that involve home appliances can be realized by providing Java virtual machines used in computer networks in the home appliances. First, Java virtual machines are implemented into all home appliances that need to perform cooperative operations. Java bytecodes are provided to the home appliances from other apparatuses via a communications satellite, a network constructed in the home, or the like, and the downloaded Java bytecodes are executed by the Java virtual machines in the home appliances.
However, when Java virtual machines are applied to home appliances as they are, there are the following problems concerning the execution speed of programs and the memory capacities of the home appliances.
Virtual machines are a technique for realizing the functions of microprocessors and OSs (Operating Systems) using hierarchical software. Therefore, the execution of Java bytecode by a virtual machine generally takes much longer time than the execution of a program composed of native code that can be directly executed by an OS or real machine. This may not be significant for computers provided with high-throughput microprocessors, such as INTEL x86, MOTOROLA POWER PC, and SUN SPARC, but constitutes a significant problem for home appliances that include low-throughput microprocessors due to various factors such as cost.
Also, Java bytecode is designed with the assumption that it will be delivered via an open network (i.e., a network which is not limited to specific users or any particular purpose), such as the Internet, and so may be executed in various environments. Therefore, Java bytecode is much larger than a general program that has the same content as the Java bytecode. Consequently, devices that execute Java bytecode require real memories with large capacities.
In more detail, Java bytecode has a structure where functions and variables are cross-referenced using a name area called a constant pool. This structure allows Java bytecode to safely run without obstructing other applications written by other programmers. That is, the name area is used to prevent the Java bytecode from obstructing other applications and operations of systems. The name area is generally at least as large as twice the code body of the Java bytecode. While this may not matter for computers that are equipped with at least 16MB of RAM, it is a significant program for home appliances where memory capacities needs to be limited due to various factors such as cost.
SUMMARY OF THE INVENTION
In view of the stated problems, the object of the present invention is to provide a program cooperative execution apparatus that can also be applied to electrical appliances, such as home appliances, which each include a microprocessor having a low throughput and a real memory having a small capacity. That is, the object of the present invention is to provide a program cooperative execution apparatus that realizes cooperative operations among various types of electrical appliances by sending architecture-independent programs to the electrical appliances.
The stated object is achieved by the program cooperative execution apparatus for having a plurality of electrical appliances perform cooperative operations specified by programs sent from a transmitting device, each of the plurality of electrical appliances being provided with a processor, the apparatus being connected to the transmitting device via a first communication channel and being connected to the plurality of electrical appliances via a second communication channel, the program cooperative execution apparatus including: a receiving unit for receiving a first bytecode for a first virtual machine, the first bytecode being a program sent from the transmitting device via the first communication channel and specifying a cooperative operation; an appliance specifying unit for specifying an electrical appliance that should execute the received first bytecode, out of the plurality of electrical appliances; a converting unit for converting the received first bytecode into program code for a processor provided in the specified electrical appliance; and a distributing unit for distributing the program code generated by the converting unit to the specified electrical appliance via the second communication channel. With this construction, the program cooperative execution apparatus of the pres

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System for distributing native program converted from Java... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System for distributing native program converted from Java..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for distributing native program converted from Java... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3023421

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.