1. Field of the Invention
The present invention relates to a device operating in-between incoming phone line jack and appropriate local household apparatuses/networks/systems, such as but not limited to other phone jacks, phones, modems, or fax machines etc. The functionality of the device is determined by user application program.
2. Prior Art
In the last century telephone technology has under gone great changes. Telephone local apparatuses were used to be voice only devices, over the years they evolved into devices that covered voice /data and to some extent control functions.
However all current telephone local apparatus like answering machine, modem etc. are designed with the following concepts and assumptions:
With user devices all directly connected to the subscriber line or phone jack, it is a big challenge of how to properly operate those devices at the same time. In practice, those devices will generally need the involvement of human intelligence and pose a big limitation of the potential usage of telephone line. For example if you have a fax machine and want to use a regular telephone on the same line, you have to set that the fax machine to be only active after a number of rings. By doing so, you can not expect an incoming fax go directly to the fax machine without ringing the phone. Further more, when you want to add an answer machine to the same line, which generally utilizes the same activation method, you have a problem of using both answer machine and fax machine at the same time. Even with a telephone switch or PBX, this type of problem can not be solved with a single telephone line.
With each of those user devices always be designed and sold as a single function specific device, it is very difficult if ever you want to alter the functionality to adapt to your need. An answer machine you purchased will always be an answer machine with such predetermined functionality and you can not change it to something with different functionality even if they have the exact same physical interface.
With normally no interaction between phone line devices again limits the flexibility and scope of application for those apparatus. Telephone switch or PBX is probably the only one that can have multiple functions built in and connects with multiple phones But it is targeted to be working with multiple input lines/multiple output lines configuration and the switch specific functionality is not suitable for ordinary household use. The cost of PBX is also beyond ordinary household usage.
Of course for each one's specific needs, one can always have a customized system to fully meet them. However if a system can only have a small user base or even a single user, it can not justify the volume of production to bring down the price with current state of art approaches.
In other words, current state of art solutions for consumer device leave either a mass production item with very limited and fixed functionality or a very small volume custom made system that has custom tailed functionality but with very high price.
In the industry people are using field upgrade feature of their function specific software and system for a long time. Normally a special device in the system will hold and manage all the software images. The system software is upgraded when a new version of software replaces the old version of software in the system. By its nature, this kind of filed upgrade procedure is always complicated and normally limited to minor change of manufacture predetermined functionality. In current state of art, general consumers are always been either shut out of the ability for their own features or charged a hefty amount for a new software-defined feature on the same hardware platform they originally purchased.
3. Objects and Advantages
The object of present invention is to provide a new consumer device. When used on telephone system, it can provide a missing chain in the current telephone system. It provides the device with intelligent link control function on the household phone system at a very low cost. It also provides an easy and flexible means to configure and customize the device to meet each individual user's specific needs. The exact same approach can be expanded to other applications with full user accessibility and configurability.
The present invention will significantly alter the way that people live and use of the fixed line telephone system and other information processing systems. Several objects and advantages of the present invention are:
The invented device will connect the household apparatus and public/private telephone network. It can serve as a receptionist or an intelligent housekeeper. It is to extend the capability and functionality of public/private phone network. The same concept of providing a standard platform with easy to use feature to involve consumer himself in defining the functionality of the device can be applied to other consumer devices. By nature of programmability the device will provide virtually unlimited functionality. Its functionality can be easily altered by customer himself to meet his specific needs. Once the application code is plugged in, the device is operating with no difference than any regular household apparatus, which generally requires no maintenance.
Still further objects and advantages will become apparent from a consideration of the ensuing description and draws.
In accordance with the present invention, Phone Computing Machine (PCM) comprises a general purpose programmable device, line-end interface, user-end interface, external memory interface and software function-loader running on the general purpose programmable device. PCM's functionality is defined when user plugs in a portable data storage device containing application software to the external memory interface. In addition, method of providing consumer a general purpose platform with simple steps to create/configure and plug in his own functionality can be applied to other consumer devices with the advantage of flexibility, easiness to use and low cost.
A piece of software for function loading resides in the GPPD will load the program/data from the external interface to the execution space and thus the GPPD will execute the program directly. At least part of the program/data memory of GPPD should be re-writable such that a new code/data defining a new feature can be written onto it. By definition a CPU with all code/data in ROM is not a GPPD. Most of GPPD devices have on chip internal RAM as program/data memory for user program/data, in this case no dedicated memory device is needed in the system.
Another approach for function loading is by indirectly update the boot-space or boot memory that GPPD reads during power up, and letting the power up boot procedure take care of the function loading. In this case a memory device is needed in the system.
The use of GPPD makes it easy to change/adapt the functionality of PCM. It gives PCM potential of endless functionality by each user's creative program and usage.
The PCM machine has a line-end interface circuit 201. Through the line-end interface PCM connects to the phone socket of in-coming telephone line.
The PCM machine has a user-end interface circuit 301. The User-end interface can have one or both of the following two features:
The simplicity of PCM is achieved by the fixed and dedicated line-end and user-end interface hardware. It doesn't keep the burden of unnecessary hardware scalability and compatibility that current state of art system have. In other words only a predetermined set of user-end and line-end interface hardware will be supported on each PCM. For a user-end or line-end interfaces outside of the predetermine set, user needs to purchase a different PCM platform. The Low cost nature enables it as a more feasible solution for ordinary household. The balance of flexibility with affordability in the application of telephone line system provides functionality and usage that is not available now.
External memory interface 401 is the key of the system. It lets GPPD to read/write commercially available portable data storage devices. One major feature and advantage of PCM is that, the behavior of the device is defined by a software image on a portable data storage device that is plugged in PCM's external memory interface. The software image is a binary file that contains the algorithm code/data to instruct GPPD how to handle the digitized signal coming from line-end as well as from the user-end. This piece of code image will be called application software therefor.
The portable data storage device can be one or combination of USB flash drive, compact flash card, memory stick and any variation of commercially available device for storing digital data. And the external memory interface is thus any digital data exchange interface that is able to access the data storage device. It can be one or more of the following combinations but not limited to
Once a portable memory device is plugged in, GPPD on the PCM will detect the presence of new application software image on its external memory interface, and automatically load the application image into its intended address to execute the new function. GPPD handles both digitized signals to and from line-end and user-end interface. With portable data storage device connected, it can also store important information obtained during any session. Combining those modules PCM can be made into almost infinite functionality.
The part of software code that must be present in PCM and as an essential part of PCM is called the function-loader. It loads the application software to PCM. This software essentially gives the function definition of PCM through the portable data storage devices connected to the removable memory interface. The procedure of loading application software can be showed as function loading sequence in
An optional non-volatile memory may be present in the system, and the function-loader may save a copy of the application software on the no-volatile memory for system reliability consideration.
An instantiation of the PCM will have a DAA module, a SLIC module, a DSP chip as GPPD and two CODECs. The CODECs could be integrated on the DSP chip. A USB driver is needed but you can also find some low-end DSPs with USB driver integrated. PCM will also need a power supply module. A small non-volatile memory is needed on board for function-loader and default functionality, which can be the on chip FLASH for DSP. All those parts are commonly used and under mass production, one can easily find such parts in sub-dollar to a few dollars range. Thus a low cost product solution is achieved.
User connects his/her PCM line-end jack 210 in
The plug in function feature achieves the flexibility of PCM. In the case of using USB flash as external memory, one can obtain a USB flash drive with a pre-loaded PCM application software. He/she may download from Internet the function need by using a regular PC and save the image on a regular USB memory flash drive. User then plugs the USB flash drive into the external memory interface of PCM 401. On detecting a new USB flash been plug in, the function-loader of PCM finds the application software image on the USB flash drive and load the application software to the execution space. The sub-sequel software jumping to the entry point of the loaded application software will turn the PCM on for user's functionality. Typical user application software will be organized as in the following fashion. It will include four buffers: user-end input buffer, user-end output buffer and line-end input buffer, line-end output buffer. The GPPD takes data from the input buffers, passes data through user defined processing algorithm and puts them into the output buffers. Clock based operation automatically takes data from output buffer, puts them to output interface, meanwhile the operation takes data from input interface and puts them in the input buffer.
The functionality of PCM is defined by plugging in a portable data storage device with application software. An open system structure will make it easy for public usage. Here open means all the system data sheets including schematic, layout, function-loading code and program/data memory map will be available to user or even to public. User can obtain a piece of ready to use software through freeware or shareware or purchase a piece of software from 3rd party. 3rd party or manufacturer of PCM may develop software tools for different users. Such tools can offer user different level of involvement to the functionality of PCM, from merely change the parameters of certain function to merge existing functionality module to make a function module of his own. The making of user's own functionality is relatively easy since it only involves data manipulations between four buffers, while the open source structure can cover the other parts. PCM thus becomes a general-purpose platform as a carrier of endless of functionality and usage. Low cost and open source can be another two major attraction of PCM besides its flexibility.
The following are some examples of simple application with PCM
Accordingly the reader will see the PCM of the invention can be used easily in everyday life to provide missing links and new functionality in the current telephone system. It has the advantage of
While our above description contains many specifics, these should not be constructed as limitations on the scope of the invention, but rather as an exemplification of one preferred embodiment thereof. Many other variations are possible. For example any standard or non-standard interface can replace the external memory interface, code can be downloaded through user or line-end interface via a user specific protocol, etc.
Also the method of providing a general purpose platform and an standard external memory interface with an open structure to give customer the freedom from simply plugging in application software to full customizing application software can be applied to the other consumer devices. While low cost can be achieved by predetermined and fixed interfaces hardware. Examples of such devices are as following:
Voice processing between microphone and amplifier /speakers. A useful application is on the KARAOK machine or high-end microphone system that enhance the user's voice. Another example is the home audio system where line-end interface is the audio source from CD or DVD and user-end interface is the audio cable to amplifier or wireless audio transmitter. For some applications a single low cost CPU will have all the needed peripherals, this kind of simplicity gives great advantage in cost. Besides the cost advantage, this kind of machine doesn't require an algorithm or feature that fits large number of users. It gives more chances for unique flavored applications.
Thus the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their legal equivalents.