US20040006620A1 - Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices - Google Patents

Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices Download PDF

Info

Publication number
US20040006620A1
US20040006620A1 US10/431,906 US43190603A US2004006620A1 US 20040006620 A1 US20040006620 A1 US 20040006620A1 US 43190603 A US43190603 A US 43190603A US 2004006620 A1 US2004006620 A1 US 2004006620A1
Authority
US
United States
Prior art keywords
embedded
embedded device
provider
information
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/431,906
Inventor
Michael Howard
William Harper
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Electric Works Co Ltd
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/431,906 priority Critical patent/US20040006620A1/en
Publication of US20040006620A1 publication Critical patent/US20040006620A1/en
Priority to US11/132,873 priority patent/US8090811B2/en
Assigned to MATSUSHITA ELECTRIC WORKS, LTD. reassignment MATSUSHITA ELECTRIC WORKS, LTD. NUNC PRO TUNC ASSIGNMENT (SEE DOCUMENT FOR DETAILS). Assignors: EMWARE, INC.
Assigned to PANASONIC ELECTRIC WORKS CO., LTD. reassignment PANASONIC ELECTRIC WORKS CO., LTD. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: MATSUSHITA ELECTRIC WORKS, LTD.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31196SOAP, describes available services and how to call them remotely
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31328Objects report their location to directory service
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34038Web, http, ftp, internet, intranet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Definitions

  • This invention relates to computer software and, more particularly, to novel systems and methods for providing access and services to embedded devices through a computer network.
  • the small computers (which can be rather large computers depending on the particular need which is being met by the computer), almost always have one or more processors at the heart of the computer.
  • the processor(s) usually are interconnected to different external inputs and outputs and function to manage the particular device.
  • a processor in a vending machine for soda pop may be connected to the buttons used to select the pop, to the switch that allows a pop to drop down to a user, and to lights to indicate that the machine does not have any more pop of a particular variety.
  • Computer technology is involved in many aspects of today's world. Many appliances, devices, etc., include one or more small computers. For example, refrigerators, telephones, typewriters, automobiles, vending machines, and many different types of industrial equipment all have small computers, or processors, inside of them.
  • Computer software runs the processors of these computers and tells the processors what to do to carry out certain tasks. For example, the computer software running on a processor in a vending machine may cause a soda pop to drop to a user when the correct change has been entered by a user.
  • embedded system usually refers to computer hardware and software that is part of a larger system. Embedded systems usually do not have typical input and output devices such as a keyboard, mouse, and/or monitor. Generally, at the heart of each embedded system is one or more processor(s).
  • a service provider for embedded devices for controlling, monitoring and/or updating embedded devices.
  • the service provider includes a computer having communications hardware for communicating over a computer network.
  • the computer also includes at least one storage device and at least one processor.
  • the service provider further includes a database of embedded device information that contains information relating to a number of embedded devices.
  • An embedded device communications module is used by the service provider to communicate with a number of embedded devices.
  • the service provider further includes a computer network communications module for communicating with computers via the computer network.
  • the service provider has a database interface module for accessing the information in the embedded device information database.
  • the service provider may also include an information collection manager for searching the computer network and for accessing and obtaining updated information from the computer network relating to the embedded devices.
  • the provider may link certain information in the embedded device information database to certain updated information.
  • the items that may be stored in the embedded device information database there may be a plurality of capabilities tables.
  • a method practiced in accordance with embodiments herein may include the steps of providing electronic communications between the service provider for embedded devices and a communications network, receiving a message from an embedded device, identifying the embedded device through use of the message received, accessing the embedded device information database, sending a transmit message to the embedded device, and storing device information descriptive of a transaction.
  • the method may also include the steps of collecting updated information from a computer network relating to embedded devices and linking certain information in the embedded device information database to certain updated information.
  • the method may include the step of parsing the message from the embedded device to obtain an embedded device identifier.
  • a system for providing services to embedded devices where the system comprises a plurality of service providers for embedded devices.
  • the system also includes a central provider in electronic communication with the plurality of service providers for embedded devices.
  • the central provider operates to coordinate communications between embedded devices and service providers for embedded devices.
  • FIG. 1 is block diagram illustrating the major components typically utilized in the use of a service provider for embedded devices and the embodiments disclosed herein;
  • FIG. 2 is a block diagram of data that may be available from a device manufacturer
  • FIG. 3 is a block diagram of data or information that may be available from an information provider
  • FIG. 4 is a block diagram of data or information that may be collected by a data collector
  • FIG. 5 is a block diagram of the modules and data or information that may used by a controlling/monitoring service
  • FIG. 6 is block diagram illustrating the major hardware components typically utilized in embedded devices
  • FIG. 7 is block diagram illustrating the major hardware components typically utilized in an embedded device network
  • FIG. 8 depicts a block diagram of the major hardware and software components of an embodiment of an embedded device network
  • FIG. 9 illustrates the software and data components that may be utilized in an embodiment of a service provider for embedded devices
  • FIG. 10 is a block diagram illustrating a system for providing services to embedded devices
  • FIG. 11 is a flow diagram illustrating steps of a method of an embodiment for providing service to a plurality of embedded devices.
  • FIG. 12 is a flow diagram illustrating steps of a method of an embodiment for providing service to a plurality of embedded devices.
  • a service provider 20 for embedded devices is disclosed as including a computer having communications hardware for communicating over a computer network 22 .
  • the computer also includes at least one storage device and at least one processor.
  • the service provider 20 further includes a database of embedded device information and/or a database of service information obtained from the computer network 22 .
  • An embedded device communications module is used by the service provider 20 to communicate with a number of embedded devices 24 .
  • the service provider 20 further includes a computer network communications module for communicating with computers via the computer network 22 .
  • the service provider 20 has a database interface module for accessing the information in the database(s).
  • the service provider 20 may also include an information collection manager for searching the computer network 22 and for accessing and obtaining updated information from the computer network 22 relating to the embedded devices 24 .
  • the provider 20 may link certain information in the embedded device information database to certain updated information.
  • the items that may be stored in the embedded device information database there may be a plurality of capabilities tables.
  • the embedded device communications module may receive at least one message from the embedded device 24 that includes an embedded device identifier.
  • the communications with one or more embedded devices 24 may be scheduled through the use of schedule data.
  • Schedule data may include embedded device identifications and routing data.
  • the schedule data may be used to control monitoring of the embedded devices 24 .
  • Control of one or more embedded devices 24 may be provided by the service provider 20 through the periodic sending of control data to computer program code loaded on the embedded device 24 to affect operation of the embedded device 24 .
  • the periodic sending may be based on the schedule data.
  • the provider 20 may cause computer program code on an embedded device 24 to be updated by obtaining updated computer program code via the computer network 22 and by notifying the embedded device 24 of an available update and by further sending the updated computer program code to the embedded device 24 .
  • the provider 20 may monitor an embedded device 24 via the embedded device communications module by periodically obtaining interface data from computer program code loaded on the embedded device 24 .
  • the provider 20 may store the interface data on the storage device. Further, the provider 20 may aggregate monitoring data created from the interface data received. This monitoring data may be provided to a requester through the computer network 22 .
  • the provider 20 may communicate with an embedded device 24 via the embedded device communications module to obtain from computer program code loaded on the embedded device 24 a device description.
  • the device description may comprise a list of functions, variables, data types, events and files.
  • a method practiced in accordance with embodiments herein may include the steps of providing electronic communications between the service provider 20 for embedded devices 24 and a telecommunications network 22 , receiving a message from an embedded device 24 , identifying the embedded device 24 through use of the message received, accessing the embedded device information database, sending a transmit message to the embedded device 24 , and storing device information descriptive of a transaction.
  • the method may also include the steps of collecting updated information from a computer network 22 relating to embedded devices 24 and linking certain information in the embedded device information database to certain updated information.
  • the method may include the step of parsing the message from the embedded device 24 to obtain an embedded device identifier.
  • a system for providing services to embedded devices 24 where the system comprises a plurality of service providers 20 for embedded devices 24 .
  • the system also includes a central provider in electronic communication with the plurality of service providers 20 for embedded devices 24 .
  • the central provider operates to coordinate communications between embedded devices 24 and service providers 20 for embedded devices 24 .
  • the central provider may also coordinate collecting updated information from the computer network 22 relating to embedded devices 24 and coordinate disseminating the updated information to embedded devices 24 .
  • FIG. 1 is block diagram illustrating the major components typically utilized in the use of a service provider 20 for embedded devices 24 and the embodiments disclosed herein.
  • the service provider 20 is in electronic communication with one or more embedded devices 24 (or embedded systems 24 ) and may also be in electronic communication with one or more embedded device networks 26 .
  • These electronic communications may be direct dial up connections, connections through a LAN, a WAN, an intranet, the Internet or any other means of electronic communication.
  • a computer network 22 may also provide electronic communications between the service provider 20 and a number of other components.
  • the computer network 22 includes the Internet.
  • Device manufacturers 28 may be in communication with the computer network 22 .
  • Device A Manufacturer 28 a and Device B Manufacturer 28 b may be in electronic communication with the computer network 22 .
  • Device manufacturers 28 may be manufacturers of the embedded devices 24 , the processors used in the embedded devices 24 , the developers of the software used by the embedded devices 24 and/or processors, etc.
  • Some examples of companies that would be typical device manufacturers 28 are Motorola, Intel, AMD, Nokia, Hewlett Packard, Microchip, Siemens, etc. These examples are only meant to be illustrative and are not meant to limit the broad scope of what may be considered a device manufacturer 28 .
  • Device manufacturers 28 are often aware of any device upgrades, whether hardware or software, any device problems, etc.
  • the service provider 20 may obtain information from device manufacturers 28 to be used to update, monitor, control or otherwise service embedded devices 24 .
  • Information providers 30 may also be in electronic communication with the computer network 22 .
  • Information providers 30 are any providers of information that may be useful in some way by the embedded devices 24 and/or by the embedded device service provider 20 .
  • weather information may be provided by a web site on the World Wide Web portion of the Internet. This provider of weather information would be within the scope of an information provider 30 .
  • the current date and time may also be provided by an information provider 30 .
  • Another information provider 30 may provide map information, while another may provide consumer product identification information.
  • a data collector 32 may also be in electronic communication with the computer network 22 .
  • a data collector 32 is any entity that is engaged in collecting data from embedded devices 24 .
  • a data collector 32 may also be referred to as a requestor in that it requests data from embedded devices 24 .
  • the service provider 20 facilitates the collection of data from the embedded devices 24 by communicating with the embedded devices 24 , obtaining data from the devices, and by, at some point, providing this data or related information to the data collector 32 .
  • An example of a data collector 32 would be a utility company with a need of gathering and totaling usage data from meters that measure usage by different consumers. Embedded devices 24 implementing these meters, or in electronic communication with these meters, may read the usage data and provide it to the service provider 20 .
  • the service provider 20 may then provide the usage data obtained to the data collector 32 .
  • Many other data collection needs may be met through a data collector 32 . For example, collecting data of what consumer items were purchased, their current status and/or where consumer item is may be useful information that may be gathered by a data collector 32 .
  • Services 34 that control and/or monitor embedded devices 24 and/or embedded networks 26 may also be in electronic communication with the computer network 22 .
  • a controlling/monitoring service 34 would be any service that provides control for and/or provides monitoring of embedded devices 24 .
  • a data collector 32 is similar to a service providing monitoring.
  • a controlling and/or monitoring service 34 provides a more active role than a data collector 32 .
  • a monitoring service 34 monitors one or more embedded devices 24 on a periodic basis to ascertain whether the devices 24 are operating within normal parameters.
  • a controlling service 34 provides control for one or more embedded devices 24 by sending control data to the one or more embedded devices 24 .
  • a certain set of embedded devices 24 may require weather information for proper operation (for example, a sprinkler controller) and a controlling service 34 may provide control data based on weather information and location.
  • the controlling service 34 may send commands to certain embedded device sprinkler controllers telling the controller not to water.
  • FIG. 2 is a block diagram of data that may be available from a device manufacturer 28 .
  • Device manufacturers 28 may be aware and have copies of embedded software updates 36 .
  • embedded software updates 36 For example, a newer version of the software running on a microcontroller in an embedded device 24 may be available from the device manufacturer 28 .
  • the device manufacturer 28 may make this updated software 36 available.
  • Device manufacturers 28 may also be aware of the various capabilities of the devices 24 that they manufacture. In this regard, the device manufacturers 28 may make capabilities descriptions 38 for their devices 24 available. Basic information about the embedded device 24 , its characteristics and capabilities are useful to those who may wish to somehow interact with it. Such basic information may be stored by the device manufacturer 28 in a capabilities description 38 or capabilities table 38 . The capabilities table 38 may be stored as a file. Those skilled in the art will realize that there are a variety of ways to store basic capabilities of an embedded device 24 and its connected input and/or output devices. Table 1 contains pseudocode illustrating what types of information may be stored in a capabilities description 38 or table 38 .
  • the capabilities table 38 may include an indication of what interface definitions (1A) the embedded device 24 supports.
  • the interface definitions (1A) field and its use will be more fully described herein.
  • the capabilities table 38 may also indicate the byte order type shown at line (1B). This byte ordering type (1B) may indicate whether the embedded device is big endian or little endian.
  • the table 38 may also indicate what the device identification, shown at line (1C), is for that particular embedded device 24 .
  • the device address, shown at line (1D), if any, may also be stored in the capabilities table 38 .
  • the version numbers, shown at line (1E), for the software being used may also be stored.
  • the communication protocol version numbers, shown at line (1F) may also be stored.
  • Particulars about the communication may also be stored. For example, as shown in Table 1, the maximum communication packet size, shown at line (1G), may be stored.
  • a nonvolatile storage flag shown at line (1H) may indicate whether there is nonvolatile storage accessible by the embedded device 24 . Pertinent information about the nonvolatile storage may also be stored, such as the nonvolatile storage size and its starting address, shown at line (1I).
  • a static file system flag, shown at line (1J), may indicate whether there is a static file system.
  • a dynamic file system flag, shown at line (1K) may indicate whether there is a dynamic file system.
  • the capabilities table 38 is useful in that developers or engineers can obtain the capabilities table 38 and ascertain the characteristics and capabilities of the embedded device 24 .
  • Device manufacturers 28 may also have other device information 40 . For example, if certain embedded devices 24 were known to fail after a period of time, the device manufacturer 28 may have this information. In addition, a manufacturer 28 may be aware of certain parts of an embedded device 24 that are known to wear over time and cause erroneous data. Device manufacturers 28 would probably also be aware of embedded device 24 recalls. As will be appreciated by those skilled in the art, device manufacturers 28 may be aware of a number of other items 42 or things that may be relevant to an embedded device 24 . The device manufacturers 28 may make this other information 42 available.
  • FIG. 3 is a block diagram of data or information that may be available from an information provider 30 .
  • Information providers 30 are entities that provide any type of data or information. Typically the data or information is provided in a form of electronic communication.
  • FIG. 3 illustrates examples of the data that may be provided by an information provider 30 .
  • Weather information 44 may be provided.
  • Date and time information 46 may be provided.
  • Bar code information 48 such as what consumer product is identified by a particular bar code, may also be provided.
  • Status information 50 about a particular item, thing or place may also be provided. Of course, those skilled in the art will appreciate that many other types of information 52 may also be provided.
  • FIG. 4 is a block diagram of data or information that may be collected by a data collector 32 or requestor.
  • Data collectors 32 are entities that collect and/or gather information or data. Typically the data or information is transmitted to the data collector 32 in electronic form.
  • the items shown in FIG. 4 illustrate examples of the data that may be collected by a data collector 32 concerned with monitoring items for a utility company or the like.
  • a meters read 54 piece of data may indicate how many and which meters in a certain area have been read.
  • Billing data 56 may indicate past bills for particular customers and whether they have been paid.
  • Rate information 58 may include various rates and indicate when each rate should be charged and to which customers.
  • Usage data 60 may store past usage information to show peaks and valleys of usage by individual consumers as well as by groups of consumers.
  • Performance information 62 may be information about the various embedded devices 24 and their related components and how they perform in the field, how long they typically last, what types of problems are occurring in the field, etc.
  • Status and/or maintenance data 64 may also be stored. This data 64 may include the current status of the particular embedded devices 24 and/or larger groups of embedded devices 24 . It may also include a maintenance history as well as future scheduled maintenance activities. Of course, those skilled in the art will appreciate that other data or information may also be collected by a data collector 32 .
  • FIG. 4 is only illustrative of types of information that may be collected and stored by a data collector 32 and is not meant to limit the broad scope and usefulness of the present embodiments.
  • FIG. 5 is a block diagram of the modules and data or information that may used by a controlling/monitoring service 34 .
  • a database 66 may be used that includes the embedded devices 24 that need to be controlled and/or monitored. The information in this database 66 may include device identifications, routing information, location, device capabilities, etc. In addition, this database 66 may also include what controlling should be accomplished for each device and the particular control commands that should be sent. Those skilled in the art will appreciate that any data regarding or relating to the embedded devices 24 may be stored in this database 66 . Of course, this database 66 may actually be a number of databases or a number of files.
  • a notification database 68 may include owner information and technical contacts. For example, for each device 24 being monitored and/or controlled, there may be an owner listed, who is likely paying for the service, as well as a technical contact person to contact when particular events occur. For example, if an embedded device 24 stops functioning, a controlling/monitoring service 34 may be instructed to immediately contact the technical contact person via pager, e-mail, telephone, etc.
  • a managing module 70 may manage the operation of the controlling and/or monitoring by reading in, or causing to be read it, data that indicates what actions should take place and by writing out, or causing to be written out, any output data.
  • a communications module 72 may handle communications functions. Separate monitoring functions 74 may be accessed and used to monitor the embedded devices 24 . For example, a library of monitoring functions 74 may be compiled to access and execute in monitoring various embedded devices 24 . Typically, when engineers have developed software to monitor a particular type of embedded device 24 , these functions to monitor may be reused in monitoring the same or similar types of embedded devices 24 . Similarly, controlling functions 76 may be available and may be reused with similar types of devices 24 .
  • FIG. 6 is block diagram illustrating the major hardware components typically utilized in embedded devices 24 or systems and embodiments herein.
  • An embedded device 24 typically includes a processor 78 or embedded computer 78 in electronic communication with input devices 80 and/or output devices 82 .
  • the embedded computer 78 is operably connected to input 80 and/or output devices 82 capable of electronic communication with the embedded computer 78 , or, in other words, to devices capable of input and/or output in the form of an electrical signal.
  • the input and output device(s) 80 , 82 and the embedded computer 78 or processor 78 are both housed within the same physical structure.
  • the input and/or output data sent and/or received may be referred to herein as interface data.
  • FIG. 7 is block diagram illustrating the major hardware components typically utilized in an embedded device network 26 and embodiments herein.
  • An embedded device network 26 typically includes a host computer 84 or gateway computer 84 networked together with one or more embedded devices 24 .
  • the host computer 84 acts as a gateway between the embedded devices 24 and other computers (e.g., other computers on the computer network 22 ).
  • the systems and methods herein are used to access a networked computer system where a host computer 84 is connected to one or more embedded devices 24 .
  • the embedded device 24 includes an embedded computer 78 connected to input and output devices 80 , 82 .
  • the embedded computer 78 typically is a microcontroller (not shown).
  • the functions and processing normally carried out by a microcontroller could be carried out by larger processors, whether they are part of a larger controller or part of a typical computer system.
  • the embedded computer 78 is typically remote from the host computer 84 in that the embedded computer 78 and host computer 84 are each computers capable of functioning on their own.
  • the term remote does not necessarily mean that the embedded computer 78 is at a different location than the host computer 84 , although in many embodiments the host computer 84 is at a different location than the embedded computer 78 .
  • Those elements discussed as being stored and/or implemented by the remote computer 78 could be stored and/or implemented at the host computer 84 , in some circumstances.
  • an embedded devices service provider 20 provide monitoring and/or controlling of embedded devices 24 .
  • the embedded computer 78 is operably connected to input and/or output devices 80 , 82 capable of electronic communication with the remote computer 78 , or, in other words, to devices capable of input and/or output in the form of an electrical signal.
  • the service provider 20 establishes communication with the embedded device 24 to send and/or receive input and/or output data and to thereby interact with embedded devices 24 .
  • the gateway 84 or host computer 84 is a broadly defined digital computer.
  • the embedded device 24 or system 24 includes a digital computer but does not have typical input and/or output devices such as a keyboard, mouse, and/or monitor.
  • a computer as used herein, is any device that includes a digital processor capable of receiving and processing data.
  • a computer includes the broad range of digital computers including microcontrollers, hand-held computers, personal computers, servers, mainframes, supercomputers, and any variation or related device thereof.
  • the input and output devices 80 , 82 include any component, element, mechanism, appliance, or the like capable of receiving and/or generating an electronic signal. Examples of devices within the scope of the term device includes a vending machine, a telephone, a door lock, a temperature sensor, a motor, a switch, a light, etc.
  • the gateway computer 84 is typically an IBM-compatible personal computer running Linux, Microsoft Windows 95/98/2000 or the Microsoft Windows NT operating system.
  • One possible item that may be used with the embodiments herein is a vending machine (not shown).
  • Many vending machines include one or more microcontrollers for controlling different parts of the vending machines. These microcontrollers fall within the scope of embedded computer.
  • the input and output devices include the buttons for selecting items from the vending machine, switches for allowing those items to be dropped down to the user, lights for indicating which items are gone, the change release for releasing any change, etc.
  • this vending machine embodiment includes the input and output devices 80 , 82 and the remote computer(s) integrated within the same structure.
  • the embedded computer 78 may be in a separate structure from its attached input and output device(s) 80 , 82 . Many of the modern devices do come with embedded microcontrollers, for example, many cellular phones, pagers, and the like come with embedded microcontrollers.
  • the host or gateway computer 84 may be connected to the embedded devices 24 through a variety of connections, including RS 232, RS 485, modem, powerline, wired connection, wireless connection, etc.
  • the embedded computer 78 may be connected to various input and output devices 80 , 82 through a variety of ways.
  • the remote computer 78 comprises a microcontroller (not shown). Microcontrollers often have input/output ports for communicating with external devices. The specifications of the particular microcontroller often dictate how a device is connected to the microcontroller. Those skilled in the art appreciate how different devices may be connected to computers, whether they are embedded computers, standard desktop computers, mainframes, etc.
  • FIG. 8 depicts a block diagram of the major hardware and software components of an embodiment of an embedded device network 26 . As shown, the hardware elements of FIG. 8 correlate with those of FIG. 7. Those skilled in the art will appreciate that there are a variety of ways to interconnect the various hardware components, and that there are various configurations wherein one or more of the hardware elements may be eliminated by moving functionality from one hardware element to another.
  • the present embodiments enable a user to monitor and/or control services provided by the embedded device 24 through the service provider 20 .
  • the services of the embedded device 24 may be exposed by the embodiments such that they may be accessed over the computer network 22 and in an efficient manner.
  • data from input and/or output devices 80 , 82 is read in and/or written out through input/output ports 86 .
  • An embedded application program 88 includes the executable instructions that directly interface with these input and/or output ports 86 .
  • embedded applications 88 have a main loop which is iterated through over and over.
  • embedded application developers may write an application that does not have a main loop that is continually iterated through. The principles herein could be applied to those applications not having a main loop and provide substantially the same benefits as are realized in the present embodiments.
  • Services include different functions, variables, events, and/or files. For example, users may wish to execute particular functions, access certain variables, check on specified events, or access specific files.
  • the services that a user may need access to are identified and listed.
  • the identification of services also includes information about the certain services. This identification of certain services may be accomplished in a variety of ways. For example, in current design, a table 90 of services may be stored at the embedded computer 78 .
  • the services table 90 may be stored as a file, or it may be stored as static data that is compiled with the application 88 , or it may be stored on a storage device (not shown) external to the remote computer 78 .
  • a storage device not shown
  • Table 2 contains pseudocode illustrating what types of information may be stored in the services table 90 .
  • the services table 90 may include information such as the name or identification of the service, the type of service (e.g., whether it is a function, variable, event, file, etc.), the input parameter type, if any, the return type, if any, and the address of the service.
  • Information about function FunctionA, shown at line (2A) is illustrated indicating that it is a function, it takes a word as an input parameter, it returns nothing (void), and its address is indicated at &FunctionA.
  • Line (2B) illustrates the information about another function, FunctionB. Relevant information about variables are illustrated at lines (2C)-(2D).
  • Information about events is illustrated at lines (2E)-(2F). Events may be any type of data.
  • an event could be a variable, a particular register, an interrupt, etc.
  • Events may be particularly useful for items that occur asynchronously. Examples of asynchronous types of events include an alarm going off or an external LED changing.
  • Information about certain files are illustrated at lines (2G) and (2H).
  • the services table 90 functions to provide information about certain services, where the information would be useful to a user at the host computer 84 , to the service provider 20 or to a requestor across the computer network 22 .
  • a capabilities table 98 may also be provided at the embedded computer 78 .
  • an embedded interface module 92 provides access between the services at the embedded computer 78 and software running at the host computer 84 and/or to software running at the embedded devices service provider 20 .
  • the interface module 92 uses information in the services table 90 to access the desired service on the remote computer 78 . Further, in the presently preferred embodiment, the interface module 92 is reentrant code.
  • the interface module 92 communicates through a communications port 94 .
  • a communications module 96 provides communication using the communications port 94 .
  • the interface module 92 may include the code necessary to directly interface with the communications port 94 at the remote computer 78 .
  • the communications module 96 or code provides access to the communications port 94 , and ensures that data is given to the communications port 94 in appropriately sized and formatted pieces, and that data received from the communications port 94 is correctly read from the port 94 .
  • the host computer 84 includes a communication port 100 in electronic communication with the communications port 94 of the embedded device 24 . As discussed earlier, there are a variety of such ports available with computers that are capable of interfacing with a remote and/or embedded computer port.
  • a communication module 102 provides features similar to those provided by the communications module 96 of the embedded computer 78 . The communications module 102 correctly formats data that is written to and read from the communications port 100 .
  • the host computer 84 provides access to the services provided at the embedded computer 78 and at the embedded device 24 .
  • a portion of the capabilities table 98 , the interfaces supported information is retrieved from the embedded device 24 and from it a list of the services is created at the host computer 84 and/or at the service provider 20 that substantially corresponds to the services table 90 .
  • the list of services at the host computer 84 is referred to in FIG. 8 as services information 104 .
  • the services information 104 indicates what services are available at the embedded device 24 and what data types, if any, are used with individual services. This facilitates access via the host computer 84 to the embedded device 24 .
  • a process is initially started on the host computer 84 and/or by the service provider 20 that causes the services information 104 to be created.
  • the device access controller 106 provides this initial direction, in current design.
  • the embodiments may provide access to the services of the embedded device 24 to computers that are in electronic communication with the computer network 22 and to the service provider 20 .
  • the host computer 84 and/or the service provider 20 may include servers.
  • a web server 108 may be started at the host computer 84 and/or at the service provider 20 .
  • the web server 108 may provide a web interface to services at the embedded device 24 .
  • the data and/or services of the embedded device 24 may be represented graphically through HTML pages.
  • the device access controller 106 may create web pages (not shown) from the services available at the embedded device 24 , and the web server 108 may service HTTP requests for these web pages.
  • a device access server 110 may also be included at the host computer 84 and/or at the service provider 20 to service client requests for services of embedded devices 24 .
  • the device access server 110 accesses the services information 104 and makes this information available to clients at client computers across the computer network 22 (for example, to data collectors 32 and/or to controlling/monitoring services 34 ).
  • FIG. 9 illustrates the software and data components that may be utilized in an embodiment of a service provider 20 for embedded devices.
  • the service provider 20 includes a database 112 of embedded device information.
  • This database 112 may be made available to, or made accessible by computers in electronic communication with the computer network 22 .
  • Database as used herein means any data structure or structures used to store data.
  • a database may be one or more files, it may be a commercially available database package, etc.
  • the embedded device information database 112 may contain information one skilled in the art would need to provide services to embedded devices 24 .
  • the embodiment of the embedded device information database 112 shown in FIG. 9 illustrates what types of data may be stored in the embedded device information database 112 .
  • Device interface definitions 114 that define how to communicate or interface with embedded devices 24 may be included.
  • Table 3 contains pseudocode illustrating what types of information may be defined and included in an interface definition 114 .
  • TABLE 3 3A “FunctionA”, function, word, void, &FunctionA 3B “FunctionB”, function, int, float, &FunctionB 3C “VarA”, variable, int, void, &varA 3D “VarB”, variable, string, void, &varB 3E “EventA”, event, byte, void, &eventA 3F “EventB”, event, int, void, null 3G “FileA”, file, void, void, &fileA 3H “FileB”, file, void, void, &fileB 3I State information 3J Behavior information 3K
  • an interface definition may include information such as the name or identification of the service, the type of service (e.g., whether it is a function, variable, event, file, etc.), the input parameter type, if any, the return type, if any, and the address of the service.
  • Information about function FunctionA, shown at line (3A) is illustrated indicating that it is a function, it takes a word as an input parameter, it returns nothing (void), and its address is indicated at &FunctionA.
  • Line (3B) illustrates the information about another function, FunctionB. Relevant information about variables are illustrated at lines (3C)-(3D).
  • Events may be any type of data.
  • an event could be a variable, a particular register, an interrupt, etc.
  • Events may be particularly useful for items that occur asynchronously. Examples of asynchronous types of events include an alarm going off or an external LED changing.
  • State information (3I) may also be included.
  • the state information (3I) may include information defining what various states the embedded device 24 may be in, information defining any state machines of the embedded computer 78 , etc.
  • Behavior information (3J) may indicate how the embedded computer 78 will react and behave given a certain set of inputs, outputs and/or states.
  • 3K other (3K) defining information may be included as well, as those skilled in the art see fit.
  • a device types 112 a data structure may contain information about what embedded devices 24 can be accessed and logical groupings of these devices 24 .
  • a device capabilities 112 b data structure may include information on what capabilities each particular embedded device 24 has, similar to the capabilities table discussed above.
  • Devices registered 112 c information may contain information on what embedded devices 24 have been in contact with the service provider 20 , which device's services have been paid for, etc.
  • Device locations 112 d may indicate where the embedded devices 24 are located, either in geographic terms or in electronic terms (such as, for example, a telephone number, an IP address, routing information, etc.).
  • the information in the embedded device information database 112 may be created without access to the embedded devices 24 , or it may be created from information obtained from the embedded devices 24 .
  • Embodiments herein may also implement security measures.
  • a more specific example of this is a vending machine.
  • a vending machine may only need to be accessed by particular entities, or it may have certain functions that should only be accessed by an authorized entity, such as, for example, the ability to change the prices on certain items, to drop certain items without payment or to lock certain items so that they may not be purchased.
  • the service provider 20 may include security codes 112 e or information for validating proper client access. User names and passwords may be stored in the security codes 112 e data to validate proper authorization.
  • Devices to update 112 f information may be a listing of embedded devices 24 that need some type of updating.
  • Forwarding data 112 g may include information about where data from or relating to an embedded device 24 should be forwarded.
  • Another database 116 may be used by the service provider 20 to store information relating to entities, information, etc. on the computer network 22 , and this database 116 and/or the information in this database 116 may be made available to embedded devices 24 .
  • This service information database 116 may include manufacturer locations 116 a as well as manufacturer data 116 b . In addition, it may store information provider locations 116 c and some information data 116 d provided by the information providers 30 .
  • Data collector locations 116 e may be stored along with what data 116 f has been requested by the data collector 32 .
  • Controlling/monitoring services locations 116 g and their requests 116 h may be stored.
  • the controlling/monitoring requests data 116 h may include schedule data 116 i that indicates which devices should be controlled/monitored and how often they should be controlled/monitored.
  • the schedule data 116 i may include embedded device identifications and routing data.
  • data collected 116 j may be stored in the service information database 116 .
  • the locations stored are in the form of IP addresses, but it will be appreciated by those skilled in the art that other types of data may be stored that would indicate how to contact a particular entity.
  • An information collection manager module 118 may manage the data being stored into and read from the service information database 116 .
  • an embedded device manager 120 may manage the data being stored into and read from the embedded device information database 112 .
  • An administrator module 122 may coordinate the operation of the service provider 20 and the communications between the managing modules 118 , 120 and other modules included with the service provider 20 .
  • a web server 124 and a device access server 126 may be included in the service provider 20 to facilitate providing services to or for the embedded devices 24 .
  • a computer network communications module 128 may handle communications accomplished via the computer network 22 .
  • An embedded device communications module 130 may handle communications with the embedded devices 24 .
  • the embedded device communications module 130 may include both hardware and software components. For example, if embedded devices 24 are able to dial in directly to the service provider 20 , the embedded device communications module 130 may include a modem bank (not shown) as well as communication software to handle the incoming calls and data communications. However, the embedded device communications module 130 may also use other communications hardware that is being shared by other resources. In this case, the embedded device communications module 130 would typically include software to handle the communications that it is to receive.
  • Those skilled in the art will appreciate the many communication packages and alternatives, both hardware and software, that may be utilized in the embodiments of a service provider 20 .
  • FIG. 10 is a block diagram illustrating a system 132 for providing services to embedded devices 24 .
  • the system 132 may include a plurality of embedded devices service providers 20 that are coordinated by a central office 134 .
  • the central office 134 may also coordinate communications via the computer network 22 with manufacturers 28 , information providers 30 , data collectors 32 and controlling/monitoring services 34 .
  • the individual service providers 20 for embedded devices 24 may be located in various locations to adequately service embedded devices 24 being used in the field. Depending on the particular embedded devices 24 , some service providers 20 may need to be more proximate to embedded devices 24 . Other service providers 20 may not need to be at a proximate location but may only need an electronic connection, whether physically close to or far away from its embedded devices 24 .
  • FIG. 11 is a flow diagram illustrating steps of a method of an embodiment for providing service to a plurality of embedded devices 24 .
  • Electronic communications is provided 136 between the service provider 20 for embedded devices and an embedded device 24 .
  • a message may then be received 138 from the embedded device 24 .
  • the embedded device 24 may then be identified 140 through use of the message received. This identification may either be of the particular embedded device 24 or of the type of embedded device 24 .
  • the service provider 20 may access 142 the embedded device information database. In embodiments herein, the service provider 20 is able to identify embedded devices 24 after accessing the embedded device information database 112 . Accordingly, those skilled in the art will appreciate that a number of the steps herein may be performed in various orders to accomplish substantially similar results.
  • the service provider 20 may send 144 a transmit message to the embedded device 24 and store 146 device information descriptive of a transaction. Information about the transaction (about the message(s) sent or received) may be used for billing purposes.
  • FIG. 12 is a flow diagram illustrating steps of a method of an embodiment for providing service to a plurality of embedded devices 24 .
  • Requestors (users, companies, or other entities) may ask 148 an embodiment of a service provider 20 to monitor and/or control one or more embedded devices 24 .
  • the requester may provide 150 the locations (whether electronic addresses or physical locations) or identifications of the embedded devices 24 to the service provider 20 .
  • the service provider 20 may obtain 152 any data or software updates that may be needed by the embedded devices 24 . This may be done by accessing manufacturer's 28 web sites.
  • the service provider 20 may then enter an iterative loop to control/monitor embedded devices 24 .
  • the provider 20 may get 154 the next device 24 to monitor or control. Depending on whether this is the first iteration through a particular list of devices to monitor/control, this step may either be getting the next device or getting the first device in a particular list.
  • the service provider 20 may then send 156 a message to the device and establish communications.
  • the provider 20 may then request 158 data, which may be interface data, from the device and store 160 the data obtained. If control has been requested, the service provider 20 may send 162 control data to the device 24 . This control data may include directions or instructions for the device 24 to facilitate control. If a requestor has asked for a report or a status, the service provider 20 may send 164 a report or status to the requestor.
  • the service provider 20 may then get the next device and cycle through the steps for each additional device.
  • emWare, Inc. Commercially available software from emWare, Inc. is used in implementing the present embodiments. emWare, Inc. may be contacted through its web site at www.emware.com. One skilled in the art will appreciate how the commercially available software items from emWare can be used with the present embodiments. The following is a general and basic description of technology of emWare that is used in the present embodiments.
  • emWare has developed technology and software which provide distributed network-based device control.
  • emWare's Embedded Micro Internetworking Technology (EMIT) software is designed to move the majority of software off of the embedded microcontroller and distribute it to more capable computers over a network.
  • EMIT has also been developed to leverage existing Internet technologies.
  • EMIT software involves various components including the following: the customer's embedded application, emMicro software (which correlates to the embedded interface module), emGateway software, emNet software (which correlates to the communication modules), and the customer's monitoring/controlling application.
  • emMicro software which correlates to the embedded interface module
  • emGateway software which correlates to the communication modules
  • emNet software which correlates to the communication modules
  • customer's monitoring/controlling application Typically, potential customers of emWare already have embedded environments in which they plan to deploy emWare's EMIT software to enhance their monitoring and controlling capabilities. These embedded environments typically include the embedded system, the host computer, and client computers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Circuits Of Receivers In General (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

A service provider for embedded devices is disclosed for controlling, monitoring and/or updating embedded devices. The service provider includes a computer having communications hardware for communicating over a computer network. The computer also includes a storage device and a processor. The service provider further includes a database of embedded device information that contains information relating to a number of embedded devices. An embedded device communications module is used by the service provider to communicate with a number of embedded devices. The service provider further includes a computer network communications module for communicating with computers via the computer network. In addition, the service provider has a database interface module for accessing the information in the embedded device information database. The service provider may also include an information collection manager for searching the computer network and for accessing and obtaining updated information from the computer network relating to the embedded devices. Certain information in the embedded device information database is linked to certain updated information. A system that is used in combination with the service provider for embedded devices includes a plurality of service providers in electronic communication with a central provider to coordinate communications between embedded devices and service providers for embedded devices.

Description

    BACKGROUND
  • 1. The Field of the Invention [0001]
  • This invention relates to computer software and, more particularly, to novel systems and methods for providing access and services to embedded devices through a computer network. [0002]
  • 2. The Background Art [0003]
  • In recent years there has been a great increase in the amount of computer technology that is involved in daily life. In today's world, computer technology is involved in many aspects of a person's day. Many devices being used today by consumers have a small computer inside of the device. These small computers come in varying sizes and degrees of sophistication. These small computers include everything from one microcontroller to a fully-functional complete computer system. For example, these small computers may be a one-chip computer, such as a microcontroller, a one-board type of computer, such as a controller, a typical desktop computer, such as an IBM-PC compatible, etc. [0004]
  • The small computers, (which can be rather large computers depending on the particular need which is being met by the computer), almost always have one or more processors at the heart of the computer. The processor(s) usually are interconnected to different external inputs and outputs and function to manage the particular device. For example, a processor in a vending machine for soda pop may be connected to the buttons used to select the pop, to the switch that allows a pop to drop down to a user, and to lights to indicate that the machine does not have any more pop of a particular variety. [0005]
  • Computer technology is involved in many aspects of today's world. Many appliances, devices, etc., include one or more small computers. For example, refrigerators, telephones, typewriters, automobiles, vending machines, and many different types of industrial equipment all have small computers, or processors, inside of them. Computer software runs the processors of these computers and tells the processors what to do to carry out certain tasks. For example, the computer software running on a processor in a vending machine may cause a soda pop to drop to a user when the correct change has been entered by a user. [0006]
  • These types of small computers that are a part of a device, appliance, tool, etc., are often referred to as embedded systems. The term “embedded system” usually refers to computer hardware and software that is part of a larger system. Embedded systems usually do not have typical input and output devices such as a keyboard, mouse, and/or monitor. Generally, at the heart of each embedded system is one or more processor(s). [0007]
  • Typically the embedded systems used today with various appliances, devices, etc., do not have a lot of storage capability. As a result, the amount of data that can be stored on the embedded systems is limited. With only limited storage, an embedded system may not have as many features and capabilities as it could have if it had more available storage. Memory is often conserved in these embedded systems that monitor, control and otherwise use electronic devices. [0008]
  • Almost all desktop computer systems include memory management capabilities at the processor level (hardware), firmware level (the software embedded into the hardware), and at the operating system level. However, in many embedded devices, these types of memory management capabilities are not available. For example, many of the embedded environments include an 8-bit or 16-bit microcontroller, where no substantial operating system or memory management features are present. In these types of environments, any program code is typically developed and loaded onto the embedded device by the manufacturer before the device is shipped, after which software upgrades are rarely if ever even contemplated. [0009]
  • Because many embedded devices do not have extensive memory management capabilities, it is often difficult to easily upgrade the software, upgrade modules, upgrade components and/or to add new software, new components, new modules, new features, new extensions, etc. Some embedded systems have been connected to computer networks to allow some communication between the embedded system and a larger computer system. However, because embedded systems are often not equipped with the functionality to effectively and efficiently communicate with other computer systems, the communication capability is usually limited. In addition, the means for communicating with embedded systems is often a slower type of communication pathway and, accordingly, only limited amounts of data are passed to and from the embedded systems. [0010]
  • Because of the constrained memory resources on the embedded systems and because of the typically limited communications means, often only limited interaction from a computer network with the embedded system is available. This interaction is often of limited use because of the difficulty in communicating with the different parts of the embedded system. [0011]
  • As mentioned, it is often difficult to easily upgrade the software of an embedded system once it is out in the field and in use. As a result, older embedded systems typically have older versions of software, while newer embedded systems have newer software. If a computer system on a computer network needed to communicate with a plurality of embedded systems or devices, it would need to be programmed to communicate with each particular version of software that may be installed in embedded systems. Programming and maintaining a computer on a computer network to communicate with many different versions of software of embedded systems would be burdensome and difficult for many companies and/or manufacturers whose main focus is not to simply service embedded systems. [0012]
  • As computer technology and the use of embedded systems continue to expand and be used in additional areas, there will be an increasing need to be able to communicate with and interact with these embedded systems. In addition, there will be ever-increasing needs in the areas of controlling, monitoring, updating and otherwise servicing embedded systems and/or embedded devices. [0013]
  • BRIEF SUMMARY AND OBJECTS OF THE INVENTION
  • In view of the foregoing, it is an object of embodiments herein to provide a service provider for embedded devices and/or embedded systems. [0014]
  • Consistent with the foregoing objects, and in accordance with the embodiments broadly described herein, a service provider for embedded devices is disclosed for controlling, monitoring and/or updating embedded devices. The service provider includes a computer having communications hardware for communicating over a computer network. The computer also includes at least one storage device and at least one processor. The service provider further includes a database of embedded device information that contains information relating to a number of embedded devices. An embedded device communications module is used by the service provider to communicate with a number of embedded devices. The service provider further includes a computer network communications module for communicating with computers via the computer network. In addition, the service provider has a database interface module for accessing the information in the embedded device information database. The service provider may also include an information collection manager for searching the computer network and for accessing and obtaining updated information from the computer network relating to the embedded devices. The provider may link certain information in the embedded device information database to certain updated information. Among the items that may be stored in the embedded device information database there may be a plurality of capabilities tables. [0015]
  • A method practiced in accordance with embodiments herein may include the steps of providing electronic communications between the service provider for embedded devices and a communications network, receiving a message from an embedded device, identifying the embedded device through use of the message received, accessing the embedded device information database, sending a transmit message to the embedded device, and storing device information descriptive of a transaction. The method may also include the steps of collecting updated information from a computer network relating to embedded devices and linking certain information in the embedded device information database to certain updated information. In addition, the method may include the step of parsing the message from the embedded device to obtain an embedded device identifier. [0016]
  • A system is also disclosed for providing services to embedded devices where the system comprises a plurality of service providers for embedded devices. The system also includes a central provider in electronic communication with the plurality of service providers for embedded devices. The central provider operates to coordinate communications between embedded devices and service providers for embedded devices.[0017]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing and other objects and features of the embodiments will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only typical embodiments and are, therefore, not to be considered limiting of its scope, the embodiments will be described with additional specificity and detail through use of the accompanying drawings in which: [0018]
  • FIG. 1 is block diagram illustrating the major components typically utilized in the use of a service provider for embedded devices and the embodiments disclosed herein; [0019]
  • FIG. 2 is a block diagram of data that may be available from a device manufacturer; [0020]
  • FIG. 3 is a block diagram of data or information that may be available from an information provider; [0021]
  • FIG. 4 is a block diagram of data or information that may be collected by a data collector; [0022]
  • FIG. 5 is a block diagram of the modules and data or information that may used by a controlling/monitoring service; [0023]
  • FIG. 6 is block diagram illustrating the major hardware components typically utilized in embedded devices; [0024]
  • FIG. 7 is block diagram illustrating the major hardware components typically utilized in an embedded device network; [0025]
  • FIG. 8 depicts a block diagram of the major hardware and software components of an embodiment of an embedded device network; [0026]
  • FIG. 9 illustrates the software and data components that may be utilized in an embodiment of a service provider for embedded devices; [0027]
  • FIG. 10 is a block diagram illustrating a system for providing services to embedded devices; [0028]
  • FIG. 11 is a flow diagram illustrating steps of a method of an embodiment for providing service to a plurality of embedded devices; and [0029]
  • FIG. 12 is a flow diagram illustrating steps of a method of an embodiment for providing service to a plurality of embedded devices.[0030]
  • DETAILED DESCRIPTION
  • It will be readily understood that the components of the embodiments, as generally described and illustrated in the Figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the system and method, as represented in FIGS. 1 through 12, is not intended to limit the scope of the invention, as claimed, but is merely representative of embodiments of the invention. [0031]
  • The present embodiments will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. [0032]
  • A [0033] service provider 20 for embedded devices is disclosed as including a computer having communications hardware for communicating over a computer network 22. The computer also includes at least one storage device and at least one processor. The service provider 20 further includes a database of embedded device information and/or a database of service information obtained from the computer network 22. An embedded device communications module is used by the service provider 20 to communicate with a number of embedded devices 24. The service provider 20 further includes a computer network communications module for communicating with computers via the computer network 22. In addition, the service provider 20 has a database interface module for accessing the information in the database(s).
  • The [0034] service provider 20 may also include an information collection manager for searching the computer network 22 and for accessing and obtaining updated information from the computer network 22 relating to the embedded devices 24. The provider 20 may link certain information in the embedded device information database to certain updated information. Among the items that may be stored in the embedded device information database there may be a plurality of capabilities tables.
  • In communicating with an embedded [0035] device 24, the embedded device communications module may receive at least one message from the embedded device 24 that includes an embedded device identifier. The communications with one or more embedded devices 24 may be scheduled through the use of schedule data. Schedule data may include embedded device identifications and routing data. The schedule data may be used to control monitoring of the embedded devices 24.
  • Control of one or more embedded [0036] devices 24 may be provided by the service provider 20 through the periodic sending of control data to computer program code loaded on the embedded device 24 to affect operation of the embedded device 24. The periodic sending may be based on the schedule data. In addition, the provider 20 may cause computer program code on an embedded device 24 to be updated by obtaining updated computer program code via the computer network 22 and by notifying the embedded device 24 of an available update and by further sending the updated computer program code to the embedded device 24.
  • The [0037] provider 20 may monitor an embedded device 24 via the embedded device communications module by periodically obtaining interface data from computer program code loaded on the embedded device 24. The provider 20 may store the interface data on the storage device. Further, the provider 20 may aggregate monitoring data created from the interface data received. This monitoring data may be provided to a requester through the computer network 22.
  • The [0038] provider 20 may communicate with an embedded device 24 via the embedded device communications module to obtain from computer program code loaded on the embedded device 24 a device description. The device description may comprise a list of functions, variables, data types, events and files.
  • A method practiced in accordance with embodiments herein may include the steps of providing electronic communications between the [0039] service provider 20 for embedded devices 24 and a telecommunications network 22, receiving a message from an embedded device 24, identifying the embedded device 24 through use of the message received, accessing the embedded device information database, sending a transmit message to the embedded device 24, and storing device information descriptive of a transaction.
  • The method may also include the steps of collecting updated information from a [0040] computer network 22 relating to embedded devices 24 and linking certain information in the embedded device information database to certain updated information. In addition, the method may include the step of parsing the message from the embedded device 24 to obtain an embedded device identifier.
  • A system is also disclosed for providing services to embedded [0041] devices 24 where the system comprises a plurality of service providers 20 for embedded devices 24. The system also includes a central provider in electronic communication with the plurality of service providers 20 for embedded devices 24. The central provider operates to coordinate communications between embedded devices 24 and service providers 20 for embedded devices 24. The central provider may also coordinate collecting updated information from the computer network 22 relating to embedded devices 24 and coordinate disseminating the updated information to embedded devices 24.
  • Of course, it will be appreciated by those skilled in the art that the method may be embodied in executable instructions stored on a computer-readable medium. [0042]
  • FIG. 1 is block diagram illustrating the major components typically utilized in the use of a [0043] service provider 20 for embedded devices 24 and the embodiments disclosed herein. In the present embodiments, the service provider 20 is in electronic communication with one or more embedded devices 24 (or embedded systems 24) and may also be in electronic communication with one or more embedded device networks 26. These electronic communications may be direct dial up connections, connections through a LAN, a WAN, an intranet, the Internet or any other means of electronic communication. As shown, a computer network 22 may also provide electronic communications between the service provider 20 and a number of other components. In the embodiments herein, the computer network 22 includes the Internet.
  • [0044] Device manufacturers 28 may be in communication with the computer network 22. For example, Device A Manufacturer 28 a and Device B Manufacturer 28 b, as illustrated, may be in electronic communication with the computer network 22. Device manufacturers 28 may be manufacturers of the embedded devices 24, the processors used in the embedded devices 24, the developers of the software used by the embedded devices 24 and/or processors, etc. Some examples of companies that would be typical device manufacturers 28 are Motorola, Intel, AMD, Nokia, Hewlett Packard, Microchip, Siemens, etc. These examples are only meant to be illustrative and are not meant to limit the broad scope of what may be considered a device manufacturer 28.
  • [0045] Device manufacturers 28 are often aware of any device upgrades, whether hardware or software, any device problems, etc. The service provider 20 may obtain information from device manufacturers 28 to be used to update, monitor, control or otherwise service embedded devices 24.
  • [0046] Information providers 30 may also be in electronic communication with the computer network 22. Information providers 30 are any providers of information that may be useful in some way by the embedded devices 24 and/or by the embedded device service provider 20. For example, weather information may be provided by a web site on the World Wide Web portion of the Internet. This provider of weather information would be within the scope of an information provider 30. In addition, the current date and time may also be provided by an information provider 30. Another information provider 30 may provide map information, while another may provide consumer product identification information.
  • A [0047] data collector 32 may also be in electronic communication with the computer network 22. A data collector 32 is any entity that is engaged in collecting data from embedded devices 24. A data collector 32 may also be referred to as a requestor in that it requests data from embedded devices 24. In embodiments herein, the service provider 20 facilitates the collection of data from the embedded devices 24 by communicating with the embedded devices 24, obtaining data from the devices, and by, at some point, providing this data or related information to the data collector 32. An example of a data collector 32 would be a utility company with a need of gathering and totaling usage data from meters that measure usage by different consumers. Embedded devices 24 implementing these meters, or in electronic communication with these meters, may read the usage data and provide it to the service provider 20. The service provider 20 may then provide the usage data obtained to the data collector 32. Many other data collection needs may be met through a data collector 32. For example, collecting data of what consumer items were purchased, their current status and/or where consumer item is may be useful information that may be gathered by a data collector 32.
  • [0048] Services 34 that control and/or monitor embedded devices 24 and/or embedded networks 26 may also be in electronic communication with the computer network 22. A controlling/monitoring service 34 would be any service that provides control for and/or provides monitoring of embedded devices 24. In some circumstances, a data collector 32 is similar to a service providing monitoring. However, a controlling and/or monitoring service 34 provides a more active role than a data collector 32. In some embodiments, a monitoring service 34 monitors one or more embedded devices 24 on a periodic basis to ascertain whether the devices 24 are operating within normal parameters. In certain embodiments, a controlling service 34 provides control for one or more embedded devices 24 by sending control data to the one or more embedded devices 24. For example, a certain set of embedded devices 24 may require weather information for proper operation (for example, a sprinkler controller) and a controlling service 34 may provide control data based on weather information and location. For example, the controlling service 34 may send commands to certain embedded device sprinkler controllers telling the controller not to water.
  • FIG. 2 is a block diagram of data that may be available from a [0049] device manufacturer 28. Device manufacturers 28 may be aware and have copies of embedded software updates 36. For example, a newer version of the software running on a microcontroller in an embedded device 24 may be available from the device manufacturer 28. The device manufacturer 28 may make this updated software 36 available.
  • [0050] Device manufacturers 28 may also be aware of the various capabilities of the devices 24 that they manufacture. In this regard, the device manufacturers 28 may make capabilities descriptions 38 for their devices 24 available. Basic information about the embedded device 24, its characteristics and capabilities are useful to those who may wish to somehow interact with it. Such basic information may be stored by the device manufacturer 28 in a capabilities description 38 or capabilities table 38. The capabilities table 38 may be stored as a file. Those skilled in the art will realize that there are a variety of ways to store basic capabilities of an embedded device 24 and its connected input and/or output devices. Table 1 contains pseudocode illustrating what types of information may be stored in a capabilities description 38 or table 38.
    TABLE 1
    1A Interfaces supported
    1B byte ordering type
    1C device identification
    1D device address
    1E software version
    1F communication protocol version
    1G maximum communication packet size
    1H nonvolatile storage flag (indicates yes or no)
    1I nonvolatile storage size, starting address
    1J static file system flag
    1K dynamic file system flag
  • As illustrated in Table 1, the capabilities table [0051] 38 may include an indication of what interface definitions (1A) the embedded device 24 supports. The interface definitions (1A) field and its use will be more fully described herein. The capabilities table 38 may also indicate the byte order type shown at line (1B). This byte ordering type (1B) may indicate whether the embedded device is big endian or little endian. The table 38 may also indicate what the device identification, shown at line (1C), is for that particular embedded device 24. The device address, shown at line (1D), if any, may also be stored in the capabilities table 38.
  • For compatibility purposes, the version numbers, shown at line (1E), for the software being used may also be stored. Similarly the communication protocol version numbers, shown at line (1F), may also be stored. Particulars about the communication may also be stored. For example, as shown in Table 1, the maximum communication packet size, shown at line (1G), may be stored. [0052]
  • A nonvolatile storage flag shown at line (1H) may indicate whether there is nonvolatile storage accessible by the embedded [0053] device 24. Pertinent information about the nonvolatile storage may also be stored, such as the nonvolatile storage size and its starting address, shown at line (1I). A static file system flag, shown at line (1J), may indicate whether there is a static file system. Similarly, a dynamic file system flag, shown at line (1K), may indicate whether there is a dynamic file system.
  • The capabilities table [0054] 38 is useful in that developers or engineers can obtain the capabilities table 38 and ascertain the characteristics and capabilities of the embedded device 24.
  • [0055] Device manufacturers 28 may also have other device information 40. For example, if certain embedded devices 24 were known to fail after a period of time, the device manufacturer 28 may have this information. In addition, a manufacturer 28 may be aware of certain parts of an embedded device 24 that are known to wear over time and cause erroneous data. Device manufacturers 28 would probably also be aware of embedded device 24 recalls. As will be appreciated by those skilled in the art, device manufacturers 28 may be aware of a number of other items 42 or things that may be relevant to an embedded device 24. The device manufacturers 28 may make this other information 42 available.
  • FIG. 3 is a block diagram of data or information that may be available from an [0056] information provider 30. Information providers 30 are entities that provide any type of data or information. Typically the data or information is provided in a form of electronic communication. FIG. 3 illustrates examples of the data that may be provided by an information provider 30. Weather information 44 may be provided. Date and time information 46 may be provided. Bar code information 48, such as what consumer product is identified by a particular bar code, may also be provided. Status information 50 about a particular item, thing or place may also be provided. Of course, those skilled in the art will appreciate that many other types of information 52 may also be provided.
  • FIG. 4 is a block diagram of data or information that may be collected by a [0057] data collector 32 or requestor. Data collectors 32 are entities that collect and/or gather information or data. Typically the data or information is transmitted to the data collector 32 in electronic form. The items shown in FIG. 4 illustrate examples of the data that may be collected by a data collector 32 concerned with monitoring items for a utility company or the like. A meters read 54 piece of data may indicate how many and which meters in a certain area have been read. Billing data 56 may indicate past bills for particular customers and whether they have been paid. Rate information 58 may include various rates and indicate when each rate should be charged and to which customers. Usage data 60 may store past usage information to show peaks and valleys of usage by individual consumers as well as by groups of consumers. Performance information 62 may be information about the various embedded devices 24 and their related components and how they perform in the field, how long they typically last, what types of problems are occurring in the field, etc. Status and/or maintenance data 64 may also be stored. This data 64 may include the current status of the particular embedded devices 24 and/or larger groups of embedded devices 24. It may also include a maintenance history as well as future scheduled maintenance activities. Of course, those skilled in the art will appreciate that other data or information may also be collected by a data collector 32. FIG. 4 is only illustrative of types of information that may be collected and stored by a data collector 32 and is not meant to limit the broad scope and usefulness of the present embodiments.
  • FIG. 5 is a block diagram of the modules and data or information that may used by a controlling/[0058] monitoring service 34. A database 66 may be used that includes the embedded devices 24 that need to be controlled and/or monitored. The information in this database 66 may include device identifications, routing information, location, device capabilities, etc. In addition, this database 66 may also include what controlling should be accomplished for each device and the particular control commands that should be sent. Those skilled in the art will appreciate that any data regarding or relating to the embedded devices 24 may be stored in this database 66. Of course, this database 66 may actually be a number of databases or a number of files.
  • A [0059] notification database 68 may include owner information and technical contacts. For example, for each device 24 being monitored and/or controlled, there may be an owner listed, who is likely paying for the service, as well as a technical contact person to contact when particular events occur. For example, if an embedded device 24 stops functioning, a controlling/monitoring service 34 may be instructed to immediately contact the technical contact person via pager, e-mail, telephone, etc.
  • A managing [0060] module 70 may manage the operation of the controlling and/or monitoring by reading in, or causing to be read it, data that indicates what actions should take place and by writing out, or causing to be written out, any output data. A communications module 72 may handle communications functions. Separate monitoring functions 74 may be accessed and used to monitor the embedded devices 24. For example, a library of monitoring functions 74 may be compiled to access and execute in monitoring various embedded devices 24. Typically, when engineers have developed software to monitor a particular type of embedded device 24, these functions to monitor may be reused in monitoring the same or similar types of embedded devices 24. Similarly, controlling functions 76 may be available and may be reused with similar types of devices 24.
  • FIG. 6 is block diagram illustrating the major hardware components typically utilized in embedded [0061] devices 24 or systems and embodiments herein. An embedded device 24 typically includes a processor 78 or embedded computer 78 in electronic communication with input devices 80 and/or output devices 82. The embedded computer 78 is operably connected to input 80 and/or output devices 82 capable of electronic communication with the embedded computer 78, or, in other words, to devices capable of input and/or output in the form of an electrical signal. Sometimes the input and output device(s) 80, 82 and the embedded computer 78 or processor 78 are both housed within the same physical structure. The input and/or output data sent and/or received may be referred to herein as interface data.
  • FIG. 7 is block diagram illustrating the major hardware components typically utilized in an embedded [0062] device network 26 and embodiments herein. An embedded device network 26 typically includes a host computer 84 or gateway computer 84 networked together with one or more embedded devices 24. The host computer 84 acts as a gateway between the embedded devices 24 and other computers (e.g., other computers on the computer network 22). In the present embodiments, the systems and methods herein are used to access a networked computer system where a host computer 84 is connected to one or more embedded devices 24. Typically the embedded device 24 includes an embedded computer 78 connected to input and output devices 80, 82. Particularly, in the present embodiments, the embedded computer 78 typically is a microcontroller (not shown). However, it will be appreciated by one skilled in the art that the functions and processing normally carried out by a microcontroller could be carried out by larger processors, whether they are part of a larger controller or part of a typical computer system.
  • The embedded [0063] computer 78 is typically remote from the host computer 84 in that the embedded computer 78 and host computer 84 are each computers capable of functioning on their own. The term remote does not necessarily mean that the embedded computer 78 is at a different location than the host computer 84, although in many embodiments the host computer 84 is at a different location than the embedded computer 78. Those elements discussed as being stored and/or implemented by the remote computer 78 could be stored and/or implemented at the host computer 84, in some circumstances.
  • The present systems and methods have broad application to many kinds of computer networks. Generally, embodiments of an embedded [0064] devices service provider 20 provide monitoring and/or controlling of embedded devices 24. The embedded computer 78 is operably connected to input and/or output devices 80, 82 capable of electronic communication with the remote computer 78, or, in other words, to devices capable of input and/or output in the form of an electrical signal. The service provider 20 establishes communication with the embedded device 24 to send and/or receive input and/or output data and to thereby interact with embedded devices 24.
  • The [0065] gateway 84 or host computer 84 is a broadly defined digital computer. The embedded device 24 or system 24 includes a digital computer but does not have typical input and/or output devices such as a keyboard, mouse, and/or monitor. A computer, as used herein, is any device that includes a digital processor capable of receiving and processing data. A computer includes the broad range of digital computers including microcontrollers, hand-held computers, personal computers, servers, mainframes, supercomputers, and any variation or related device thereof.
  • The input and [0066] output devices 80, 82 include any component, element, mechanism, appliance, or the like capable of receiving and/or generating an electronic signal. Examples of devices within the scope of the term device includes a vending machine, a telephone, a door lock, a temperature sensor, a motor, a switch, a light, etc.
  • In current design, the [0067] gateway computer 84 is typically an IBM-compatible personal computer running Linux, Microsoft Windows 95/98/2000 or the Microsoft Windows NT operating system.
  • One possible item that may be used with the embodiments herein is a vending machine (not shown). Many vending machines include one or more microcontrollers for controlling different parts of the vending machines. These microcontrollers fall within the scope of embedded computer. The input and output devices include the buttons for selecting items from the vending machine, switches for allowing those items to be dropped down to the user, lights for indicating which items are gone, the change release for releasing any change, etc. As known in the art, this vending machine embodiment includes the input and [0068] output devices 80, 82 and the remote computer(s) integrated within the same structure. Those skilled in the art will also realize that the embedded computer 78 may be in a separate structure from its attached input and output device(s) 80, 82. Many of the modern devices do come with embedded microcontrollers, for example, many cellular phones, pagers, and the like come with embedded microcontrollers.
  • The host or [0069] gateway computer 84 may be connected to the embedded devices 24 through a variety of connections, including RS 232, RS 485, modem, powerline, wired connection, wireless connection, etc. Similarly, the embedded computer 78 may be connected to various input and output devices 80, 82 through a variety of ways. As stated, typically the remote computer 78 comprises a microcontroller (not shown). Microcontrollers often have input/output ports for communicating with external devices. The specifications of the particular microcontroller often dictate how a device is connected to the microcontroller. Those skilled in the art appreciate how different devices may be connected to computers, whether they are embedded computers, standard desktop computers, mainframes, etc.
  • FIG. 8 depicts a block diagram of the major hardware and software components of an embodiment of an embedded [0070] device network 26. As shown, the hardware elements of FIG. 8 correlate with those of FIG. 7. Those skilled in the art will appreciate that there are a variety of ways to interconnect the various hardware components, and that there are various configurations wherein one or more of the hardware elements may be eliminated by moving functionality from one hardware element to another.
  • The present embodiments enable a user to monitor and/or control services provided by the embedded [0071] device 24 through the service provider 20. The services of the embedded device 24 may be exposed by the embodiments such that they may be accessed over the computer network 22 and in an efficient manner.
  • In the present embodiments, data from input and/or [0072] output devices 80, 82 is read in and/or written out through input/output ports 86. An embedded application program 88 includes the executable instructions that directly interface with these input and/or output ports 86. Usually embedded applications 88 have a main loop which is iterated through over and over. Of course, embedded application developers may write an application that does not have a main loop that is continually iterated through. The principles herein could be applied to those applications not having a main loop and provide substantially the same benefits as are realized in the present embodiments.
  • Users, through software running on the embedded [0073] device service provider 20, may wish to access certain services provided by the embedded device 24. Services include different functions, variables, events, and/or files. For example, users may wish to execute particular functions, access certain variables, check on specified events, or access specific files. In current design, the services that a user may need access to are identified and listed. The identification of services also includes information about the certain services. This identification of certain services may be accomplished in a variety of ways. For example, in current design, a table 90 of services may be stored at the embedded computer 78. The services table 90 may be stored as a file, or it may be stored as static data that is compiled with the application 88, or it may be stored on a storage device (not shown) external to the remote computer 78. Those skilled in the art will realize that there are a variety of ways to store basic information about certain services provided by the application code running on the embedded computer 78. Table 2 contains pseudocode illustrating what types of information may be stored in the services table 90.
    TABLE 2
    2A “FunctionA”, function, word, void, &FunctionA
    2B “FunctionB”, function, int, float, &FunctionB
    2C “VarA”, variable, int, void, &varA
    2D “VarB”, variable, string, void, &varB
    2E “EventA”, event, byte, void, &eventA
    2F “EventB”, event, int, void, null
    2G “FileA”, file, void, void, &fileA
    2H “FileB”, file, void, void, &fileB
  • As illustrated in Table 2, the services table [0074] 90 may include information such as the name or identification of the service, the type of service (e.g., whether it is a function, variable, event, file, etc.), the input parameter type, if any, the return type, if any, and the address of the service. Information about function FunctionA, shown at line (2A), is illustrated indicating that it is a function, it takes a word as an input parameter, it returns nothing (void), and its address is indicated at &FunctionA. Line (2B) illustrates the information about another function, FunctionB. Relevant information about variables are illustrated at lines (2C)-(2D). Information about events is illustrated at lines (2E)-(2F). Events may be any type of data. For example, an event could be a variable, a particular register, an interrupt, etc. Events may be particularly useful for items that occur asynchronously. Examples of asynchronous types of events include an alarm going off or an external LED changing. Information about certain files are illustrated at lines (2G) and (2H).
  • By storing information about certain services at the [0075] remote computer 78 or at the embedded device 24, software at the embedded device service provider 20 can readily ascertain what services are available at the embedded device 24. Usually the application code 88 defines the services. The services table 90 functions to provide information about certain services, where the information would be useful to a user at the host computer 84, to the service provider 20 or to a requestor across the computer network 22. A capabilities table 98 may also be provided at the embedded computer 78.
  • In current design, an embedded [0076] interface module 92 provides access between the services at the embedded computer 78 and software running at the host computer 84 and/or to software running at the embedded devices service provider 20. In embodiments herein, the interface module 92 uses information in the services table 90 to access the desired service on the remote computer 78. Further, in the presently preferred embodiment, the interface module 92 is reentrant code.
  • The [0077] interface module 92 communicates through a communications port 94. In current design, a communications module 96 provides communication using the communications port 94. One skilled in the art will appreciate, however, that the interface module 92 may include the code necessary to directly interface with the communications port 94 at the remote computer 78. The communications module 96 or code provides access to the communications port 94, and ensures that data is given to the communications port 94 in appropriately sized and formatted pieces, and that data received from the communications port 94 is correctly read from the port 94.
  • The [0078] host computer 84 includes a communication port 100 in electronic communication with the communications port 94 of the embedded device 24. As discussed earlier, there are a variety of such ports available with computers that are capable of interfacing with a remote and/or embedded computer port. A communication module 102 provides features similar to those provided by the communications module 96 of the embedded computer 78. The communications module 102 correctly formats data that is written to and read from the communications port 100.
  • The [0079] host computer 84 provides access to the services provided at the embedded computer 78 and at the embedded device 24. In the present embodiments, a portion of the capabilities table 98, the interfaces supported information, is retrieved from the embedded device 24 and from it a list of the services is created at the host computer 84 and/or at the service provider 20 that substantially corresponds to the services table 90. The list of services at the host computer 84 is referred to in FIG. 8 as services information 104. The services information 104 indicates what services are available at the embedded device 24 and what data types, if any, are used with individual services. This facilitates access via the host computer 84 to the embedded device 24.
  • In current design, a process is initially started on the [0080] host computer 84 and/or by the service provider 20 that causes the services information 104 to be created. The device access controller 106 provides this initial direction, in current design.
  • As stated, the embodiments may provide access to the services of the embedded [0081] device 24 to computers that are in electronic communication with the computer network 22 and to the service provider 20. To facilitate access by computers, the host computer 84 and/or the service provider 20 may include servers. A web server 108 may be started at the host computer 84 and/or at the service provider 20. The web server 108 may provide a web interface to services at the embedded device 24. For example, the data and/or services of the embedded device 24 may be represented graphically through HTML pages. Thus, the device access controller 106 may create web pages (not shown) from the services available at the embedded device 24, and the web server 108 may service HTTP requests for these web pages.
  • A [0082] device access server 110 may also be included at the host computer 84 and/or at the service provider 20 to service client requests for services of embedded devices 24. In current design, the device access server 110 accesses the services information 104 and makes this information available to clients at client computers across the computer network 22 (for example, to data collectors 32 and/or to controlling/monitoring services 34).
  • FIG. 9 illustrates the software and data components that may be utilized in an embodiment of a [0083] service provider 20 for embedded devices. The service provider 20 includes a database 112 of embedded device information. This database 112 may be made available to, or made accessible by computers in electronic communication with the computer network 22. Database as used herein means any data structure or structures used to store data. A database may be one or more files, it may be a commercially available database package, etc. The embedded device information database 112 may contain information one skilled in the art would need to provide services to embedded devices 24. The embodiment of the embedded device information database 112 shown in FIG. 9 illustrates what types of data may be stored in the embedded device information database 112. Device interface definitions 114 that define how to communicate or interface with embedded devices 24 may be included. Table 3 contains pseudocode illustrating what types of information may be defined and included in an interface definition 114.
    TABLE 3
    3A “FunctionA”, function, word, void, &FunctionA
    3B “FunctionB”, function, int, float, &FunctionB
    3C “VarA”, variable, int, void, &varA
    3D “VarB”, variable, string, void, &varB
    3E “EventA”, event, byte, void, &eventA
    3F “EventB”, event, int, void, null
    3G “FileA”, file, void, void, &fileA
    3H “FileB”, file, void, void, &fileB
    3I State information
    3J Behavior information
    3K Other
  • As illustrated in Table 3, an interface definition may include information such as the name or identification of the service, the type of service (e.g., whether it is a function, variable, event, file, etc.), the input parameter type, if any, the return type, if any, and the address of the service. Information about function FunctionA, shown at line (3A), is illustrated indicating that it is a function, it takes a word as an input parameter, it returns nothing (void), and its address is indicated at &FunctionA. Line (3B) illustrates the information about another function, FunctionB. Relevant information about variables are illustrated at lines (3C)-(3D). [0084]
  • Information about events is illustrated at lines (3E)-(3F). Events may be any type of data. For example, an event could be a variable, a particular register, an interrupt, etc. Events may be particularly useful for items that occur asynchronously. Examples of asynchronous types of events include an alarm going off or an external LED changing. [0085]
  • Information about certain files are illustrated at lines (3G) and (3H). State information (3I) may also be included. The state information (3I) may include information defining what various states the embedded [0086] device 24 may be in, information defining any state machines of the embedded computer 78, etc. Behavior information (3J) may indicate how the embedded computer 78 will react and behave given a certain set of inputs, outputs and/or states. Of course, other (3K) defining information may be included as well, as those skilled in the art see fit.
  • A device types [0087] 112 a data structure may contain information about what embedded devices 24 can be accessed and logical groupings of these devices 24. A device capabilities 112 b data structure may include information on what capabilities each particular embedded device 24 has, similar to the capabilities table discussed above. Devices registered 112 c information may contain information on what embedded devices 24 have been in contact with the service provider 20, which device's services have been paid for, etc. Device locations 112 d may indicate where the embedded devices 24 are located, either in geographic terms or in electronic terms (such as, for example, a telephone number, an IP address, routing information, etc.).
  • The information in the embedded [0088] device information database 112 may be created without access to the embedded devices 24, or it may be created from information obtained from the embedded devices 24.
  • Embodiments herein may also implement security measures. For example, there may be embedded [0089] devices 24 and/or certain services of embedded devices 24 that should only be accessed by an entity holding the proper authority. A more specific example of this is a vending machine. A vending machine may only need to be accessed by particular entities, or it may have certain functions that should only be accessed by an authorized entity, such as, for example, the ability to change the prices on certain items, to drop certain items without payment or to lock certain items so that they may not be purchased. To provide proper authentication and access to embedded devices 24, the service provider 20 may include security codes 112 e or information for validating proper client access. User names and passwords may be stored in the security codes 112 e data to validate proper authorization.
  • Devices to update [0090] 112 f information may be a listing of embedded devices 24 that need some type of updating. Forwarding data 112 g may include information about where data from or relating to an embedded device 24 should be forwarded.
  • Another [0091] database 116 may be used by the service provider 20 to store information relating to entities, information, etc. on the computer network 22, and this database 116 and/or the information in this database 116 may be made available to embedded devices 24. This service information database 116 may include manufacturer locations 116 a as well as manufacturer data 116 b. In addition, it may store information provider locations 116 c and some information data 116 d provided by the information providers 30. Data collector locations 116 e may be stored along with what data 116 f has been requested by the data collector 32. Controlling/monitoring services locations 116 g and their requests 116 h may be stored. The controlling/monitoring requests data 116 h may include schedule data 116 i that indicates which devices should be controlled/monitored and how often they should be controlled/monitored. The schedule data 116 i may include embedded device identifications and routing data.
  • In addition, other data collected [0092] 116 j may be stored in the service information database 116. In embodiments herein, the locations stored are in the form of IP addresses, but it will be appreciated by those skilled in the art that other types of data may be stored that would indicate how to contact a particular entity.
  • An information [0093] collection manager module 118 may manage the data being stored into and read from the service information database 116. Similarly, an embedded device manager 120 may manage the data being stored into and read from the embedded device information database 112. An administrator module 122 may coordinate the operation of the service provider 20 and the communications between the managing modules 118, 120 and other modules included with the service provider 20.
  • As discussed in relation to FIG. 8, a [0094] web server 124 and a device access server 126 may be included in the service provider 20 to facilitate providing services to or for the embedded devices 24. A computer network communications module 128 may handle communications accomplished via the computer network 22. An embedded device communications module 130 may handle communications with the embedded devices 24. The embedded device communications module 130 may include both hardware and software components. For example, if embedded devices 24 are able to dial in directly to the service provider 20, the embedded device communications module 130 may include a modem bank (not shown) as well as communication software to handle the incoming calls and data communications. However, the embedded device communications module 130 may also use other communications hardware that is being shared by other resources. In this case, the embedded device communications module 130 would typically include software to handle the communications that it is to receive. Those skilled in the art will appreciate the many communication packages and alternatives, both hardware and software, that may be utilized in the embodiments of a service provider 20.
  • FIG. 10 is a block diagram illustrating a [0095] system 132 for providing services to embedded devices 24. As shown, the system 132 may include a plurality of embedded devices service providers 20 that are coordinated by a central office 134. The central office 134 may also coordinate communications via the computer network 22 with manufacturers 28, information providers 30, data collectors 32 and controlling/monitoring services 34. The individual service providers 20 for embedded devices 24 may be located in various locations to adequately service embedded devices 24 being used in the field. Depending on the particular embedded devices 24, some service providers 20 may need to be more proximate to embedded devices 24. Other service providers 20 may not need to be at a proximate location but may only need an electronic connection, whether physically close to or far away from its embedded devices 24.
  • FIG. 11 is a flow diagram illustrating steps of a method of an embodiment for providing service to a plurality of embedded [0096] devices 24. Electronic communications is provided 136 between the service provider 20 for embedded devices and an embedded device 24. A message may then be received 138 from the embedded device 24. The embedded device 24 may then be identified 140 through use of the message received. This identification may either be of the particular embedded device 24 or of the type of embedded device 24. The service provider 20 may access 142 the embedded device information database. In embodiments herein, the service provider 20 is able to identify embedded devices 24 after accessing the embedded device information database 112. Accordingly, those skilled in the art will appreciate that a number of the steps herein may be performed in various orders to accomplish substantially similar results. The service provider 20 may send 144 a transmit message to the embedded device 24 and store 146 device information descriptive of a transaction. Information about the transaction (about the message(s) sent or received) may be used for billing purposes.
  • Other steps may also be performed in practicing present embodiments. For example, newly obtained information from the computer network (to be placed in the service information database [0097] 116) may be linked to certain information in the embedded device information database 112. In this way, the service provider 20 will be aware of updated information when dealing with a particular device 24 or type of device. The message received from the embedded device 24 may be parsed to obtain an embedded device identifier, which may be a number, a text string, etc. Methods practiced herein also may use the schedule data of the controlling/monitoring requests to monitor or control embedded devices.
  • FIG. 12 is a flow diagram illustrating steps of a method of an embodiment for providing service to a plurality of embedded [0098] devices 24. Requestors (users, companies, or other entities) may ask 148 an embodiment of a service provider 20 to monitor and/or control one or more embedded devices 24. The requester may provide 150 the locations (whether electronic addresses or physical locations) or identifications of the embedded devices 24 to the service provider 20. The service provider 20 may obtain 152 any data or software updates that may be needed by the embedded devices 24. This may be done by accessing manufacturer's 28 web sites.
  • The [0099] service provider 20 may then enter an iterative loop to control/monitor embedded devices 24. The provider 20 may get 154 the next device 24 to monitor or control. Depending on whether this is the first iteration through a particular list of devices to monitor/control, this step may either be getting the next device or getting the first device in a particular list. The service provider 20 may then send 156 a message to the device and establish communications. The provider 20 may then request 158 data, which may be interface data, from the device and store 160 the data obtained. If control has been requested, the service provider 20 may send 162 control data to the device 24. This control data may include directions or instructions for the device 24 to facilitate control. If a requestor has asked for a report or a status, the service provider 20 may send 164 a report or status to the requestor. The service provider 20 may then get the next device and cycle through the steps for each additional device.
  • Commercially available software from emWare, Inc. is used in implementing the present embodiments. emWare, Inc. may be contacted through its web site at www.emware.com. One skilled in the art will appreciate how the commercially available software items from emWare can be used with the present embodiments. The following is a general and basic description of technology of emWare that is used in the present embodiments. [0100]
  • emWare's business centers around microcontrollers that manage many electronic devices used in today's world, including telephones, home appliances, office equipment, ATMs, security systems, VCRs, automobiles, etc. These microcontrollers are embedded into millions of intelligent electronic devices. [0101]
  • emWare has developed technology and software which provide distributed network-based device control. emWare's Embedded Micro Internetworking Technology (EMIT) software is designed to move the majority of software off of the embedded microcontroller and distribute it to more capable computers over a network. EMIT has also been developed to leverage existing Internet technologies. [0102]
  • Use of EMIT software involves various components including the following: the customer's embedded application, emMicro software (which correlates to the embedded interface module), emGateway software, emNet software (which correlates to the communication modules), and the customer's monitoring/controlling application. Typically, potential customers of emWare already have embedded environments in which they plan to deploy emWare's EMIT software to enhance their monitoring and controlling capabilities. These embedded environments typically include the embedded system, the host computer, and client computers. [0103]
  • From the above discussion, it will be appreciated that the present embodiments provide a service provider for embedded devices and/or embedded systems. [0104]
  • The embodiments herein may be embodied in other specific forms without departing from their spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative, and not restrictive. The scope of the invention is, therefore, indicated by the appended claims, rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.[0105]

Claims (40)

We claim:
1. A service provider for embedded devices comprising:
a computer, the computer including communications hardware for communicating over a computer network, the computer also including a storage device;
a database of service information obtained from the computer network, the database being available to the embedded devices;
an embedded device communications module for communicating with the embedded devices;
a computer network communications module for communicating with computers via the computer network; and
a database interface module for accessing the service information in the service information database.
2. The provider of claim 1 further comprising an information collection manager for searching the computer network and for accessing and obtaining updated service information from the computer network.
3. The provider of claim 2 wherein the updated service information obtained from the computer network relates to computer program code on an embedded device.
4. The provider of claim 2 wherein the updated service information obtained from the computer network relates to a location of an embedded device.
5. The provider of claim 1 wherein the embedded device communications module establishes electronic communication with an embedded device and receives at least one message from the embedded device that includes an embedded device identifier.
6. The provider of claim 1 further comprising schedule data, the schedule data including embedded device identifications and wherein the schedule data is being used to control monitoring of the embedded devices.
7. The provider of claim 1 wherein the provider communicates with an embedded device via the embedded device communications module and obtains from computer program code loaded on the embedded device a device description.
8. The provider of claim 7 wherein the device description is selected from the group consisting of functions, variables, data types, events and files.
9. The provider of claim 1 wherein the provider monitors an embedded device through use of the embedded device communications module by periodically obtaining interface data from computer program code loaded on the embedded device and wherein the provider stores the interface data on the storage device.
10. The provider of claim 9 wherein the provider stores monitoring data created from the interface data received and wherein the provider further provides the monitoring data to a requestor through the computer network.
11. The provider of claim 6 wherein the provider controls an embedded device via the embedded device communications module by periodically sending control data to computer program code loaded on the embedded device to affect operation of the embedded device and wherein the periodic sending is based on the schedule data.
12. The provider of claim 1 wherein the provider updates computer program code on an embedded device by obtaining updated computer program code via the computer network and by notifying the embedded device of an available update and by further sending the updated computer program code to the embedded device.
13. A service provider for embedded devices comprising:
a computer, the computer including communications hardware for communicating over a computer network, the computer also including a storage device;
a database of embedded device information, the embedded device information database being available to the computer network;
an embedded device communications module for communicating with the embedded devices;
a computer network communications module for communicating with computers via the computer network; and
a database interface module for accessing the information in the embedded device information database.
14. The provider of claim 13 wherein the embedded device communications module establishes electronic communication with an embedded device and receives at least one message from the embedded device that includes an embedded device identifier.
15. The provider of claim 13 further comprising schedule data, the schedule data including embedded device identifications, the schedule data being used to control monitoring of the embedded devices.
16. The provider of claim 13 wherein the embedded device information database includes a plurality of capabilities tables.
17. The provider of claim 13 wherein the provider communicates with an embedded device via the embedded device communications module to obtain from computer program code loaded on the embedded device a device description.
18. The provider of claim 17 wherein the device description is selected from the group consisting of functions, variables, data types, events and files.
19. The provider of claim 13 wherein the provider monitors an embedded device via the embedded device communications module by periodically obtaining interface data from computer program code loaded on the embedded device and wherein the provider stores the interface data on the storage device.
20. The provider of claim 19 wherein the provider stores monitoring data created from the interface data and wherein the provider further provides the monitoring data to a requestor through the computer network.
21. The provider of claim 15 wherein the provider controls an embedded device via the embedded device communications module by periodically sending control data to computer program code loaded on the embedded device to affect operation of the embedded device and wherein the periodic sending is based on the schedule data.
22. The provider of claim 13 wherein the provider updates computer program code on an embedded device by obtaining updated computer program code via the computer network and by notifying the embedded device of an available update and by further sending the updated computer program code to the embedded device.
23. An embedded device service provider, the embedded device service provider comprising:
communications hardware for communicating over a computer network; memory;
an embedded device information database including embedded device information, the embedded device information database being available to the computer network;
a service information database including service information obtained from the computer network, the service information database being available to embedded devices capable of communicating with the provider;
a processor, the processor executing instructions for implementing a method comprised of the steps of:
receiving a message from an embedded device;
identifying the embedded device;
accessing the embedded device information database;
sending a transmit message to the embedded device; and
storing device information descriptive of a transaction.
24. The provider of claim 23 wherein the service information database further includes updated service information that has been obtained via the computer network.
25. The provider of claim 24 wherein the embedded device information database further comprises:
linking data that links certain embedded device information to certain updated service information;
a plurality of embedded device identifiers; and
a plurality of capabilities tables.
26. The provider of claim 25 further comprising schedule data, the schedule data including embedded device identifications and routing data, the schedule data being used to control monitoring of a plurality of embedded devices.
27. The provider of claim 26 wherein the embedded device information database further comprises interface data that has been obtained from computer program code loaded on the embedded device.
28. The provider of claim 27 further comprising control data to be sent to the embedded device to affect operation of the embedded device.
29. The provider of claim 28 wherein the embedded device information database further comprises a plurality of files of updated computer program code that have been obtained via the computer network and that are capable of being used to update program code on embedded devices.
30. A method for providing service to a plurality of embedded devices, the method comprising:
providing electronic communications between a service provider for embedded devices and a communications network;
receiving a message from an embedded device;
identifying the embedded device through use of the message received;
accessing an embedded device information database;
sending a transmit message to the embedded device; and
storing device information descriptive of a transaction.
31. The method of claim 30 further comprising collecting updated information from the computer network relating to embedded devices.
32. The method of claim 30 further comprising linking certain information in the embedded device information database to certain updated information.
33. The method of claim 30 further comprising parsing the message from the embedded device to obtain an embedded device identifier.
34. The method of claim 30 further comprising monitoring the plurality of embedded devices based on schedule data, the schedule data including embedded device identifications and routing data, the schedule data being used to control monitoring of the plurality of embedded devices.
35. The method of claim 30 further comprising obtaining a device description from computer program code loaded on the embedded device.
36. The method of claim 30 further comprising:
periodically obtaining interface data from computer program code loaded on the embedded device; and
storing the interface data on a storage device.
37. The method of claim 36 further comprising providing the interface data to a requestor through the computer network.
38. The method of claim 30 further comprising sending control data to computer program code loaded on the embedded device to affect operation of the embedded device and wherein the periodic sending is based on schedule data.
39. The method of claim 30 further comprising updating computer program code on the embedded device by obtaining updated computer program code via the computer network and by notifying the embedded device of an available update and by further sending the updated computer program code to the embedded device.
40. A system for providing services to embedded devices comprising:
a plurality of service providers for embedded devices, wherein each service provider for embedded devices comprises:
a computer, the computer including communications hardware for communicating over a computer network, the computer also including a storage device;
a database;
an embedded device communications module for communicating with the embedded devices;
a computer network communications module for communicating with computers via the computer network; and
a database interface module for accessing the information in the database; and
a central provider in electronic communication with the plurality of service providers for embedded devices, the central provider operating to provide communications between embedded devices and service providers for embedded devices, and to coordinate collecting updated information from the computer network relating to embedded devices, and to coordinate disseminating the updated information to embedded devices.
US10/431,906 2000-06-06 2003-05-08 Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices Abandoned US20040006620A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/431,906 US20040006620A1 (en) 2000-06-06 2003-05-08 Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices
US11/132,873 US8090811B2 (en) 2000-06-06 2005-05-19 Service provider for embedded devices using a message store

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/587,929 US6601086B1 (en) 2000-06-06 2000-06-06 Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices
US10/431,906 US20040006620A1 (en) 2000-06-06 2003-05-08 Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/587,929 Continuation US6601086B1 (en) 2000-06-06 2000-06-06 Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/132,873 Continuation-In-Part US8090811B2 (en) 2000-06-06 2005-05-19 Service provider for embedded devices using a message store

Publications (1)

Publication Number Publication Date
US20040006620A1 true US20040006620A1 (en) 2004-01-08

Family

ID=24351755

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/587,929 Expired - Lifetime US6601086B1 (en) 2000-06-06 2000-06-06 Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices
US10/431,906 Abandoned US20040006620A1 (en) 2000-06-06 2003-05-08 Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/587,929 Expired - Lifetime US6601086B1 (en) 2000-06-06 2000-06-06 Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices

Country Status (6)

Country Link
US (2) US6601086B1 (en)
EP (1) EP1297415A4 (en)
JP (1) JP2003536131A (en)
AU (1) AU2001275174A1 (en)
CA (1) CA2412323A1 (en)
WO (1) WO2001095100A1 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020038358A1 (en) * 2000-08-08 2002-03-28 Sweatt Millard E. Method and system for remote television replay control
US20020087661A1 (en) * 2000-08-08 2002-07-04 Matichuk Chris E. One click web records
US20020165950A1 (en) * 2001-05-02 2002-11-07 Lee Sang Kyun Home appliance networking system and method for controlling the same
US20040199626A1 (en) * 2003-01-09 2004-10-07 Jayasimha Nuggehalli Method for configuring a monitoring system to monitor selected network elements
US20060277297A1 (en) * 2005-04-15 2006-12-07 Sandy Kellagher A/V equipment control over a network
US7203736B1 (en) * 1999-10-22 2007-04-10 Roke Manor Research Limited Fully integrated web activated control and monitoring device
US20070136445A1 (en) * 2001-08-08 2007-06-14 Digital Networks North America, Inc. Method and system for remote television replay control
US7590710B1 (en) 2004-06-17 2009-09-15 Wavetrix, Inc. Method and system for extending a communication port via a general purpose network
US20110258572A1 (en) * 2010-04-15 2011-10-20 General Instrument Corporation Service of Controllable Devices through a Control Point
US20110292822A1 (en) * 2009-12-04 2011-12-01 Steven Wood Gathering data on cellular data communication characteristics
US20130297771A1 (en) * 2012-05-04 2013-11-07 Itron, Inc. Coordinated collection of metering data
US20160124832A1 (en) * 2014-10-31 2016-05-05 AppDynamics, Inc. Monitoring and correlating a binary process in a distributed business transaction
US9515901B2 (en) 2013-10-18 2016-12-06 AppDynamics, Inc. Automatic asynchronous handoff identification
US9535811B2 (en) 2014-10-31 2017-01-03 AppDynamics, Inc. Agent dynamic service
US9535666B2 (en) 2015-01-29 2017-01-03 AppDynamics, Inc. Dynamic agent delivery
CN108469961A (en) * 2018-03-07 2018-08-31 江苏北弓智能科技有限公司 One kind is based on micromation embedded platform remote update system and method
US10390074B2 (en) 2000-08-08 2019-08-20 The Directv Group, Inc. One click web records
US11650575B2 (en) 2008-11-24 2023-05-16 Abb Research Ltd. System and a method for control and automation service

Families Citing this family (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039674B1 (en) * 1999-07-14 2006-05-02 Samsung Electronics Co., Ltd Method of changing program of network node remote from network management system
JP2001157234A (en) * 1999-11-24 2001-06-08 Fujitsu Ltd Multi-processor exchange provided with floating function
US7200666B1 (en) 2000-07-07 2007-04-03 International Business Machines Corporation Live connection enhancement for data source interface
DE60035348T2 (en) * 2000-10-13 2008-03-20 Sun Microsystems, Inc., Santa Clara Extendable provisioning mechanism for a service gateway
EP1198101A1 (en) * 2000-10-13 2002-04-17 Sun Microsystems, Inc. Provisioning mechanism for a service gateway
US20020065898A1 (en) * 2000-11-27 2002-05-30 Daniel Leontiev Remote Internet control of instruments
FR2822004A1 (en) * 2001-03-12 2002-09-13 Thomson Multimedia Sa REMOTE MAINTENANCE MANAGEMENT SYSTEM AND METHOD, MANAGEMENT ASSEMBLY AND SOFTWARE PRODUCT
US6836796B2 (en) * 2001-03-16 2004-12-28 Digi International, Inc. System and method to manage network-enabled embedded devices operating under various protocols
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US20040133745A1 (en) 2002-10-28 2004-07-08 Quicksilver Technology, Inc. Adaptable datapath for a digital processing system
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US6877051B2 (en) * 2001-06-12 2005-04-05 Intel Corporation Consistency checking mechanism for configuration parameters in embedded systems
US7103644B1 (en) * 2001-06-29 2006-09-05 Bellsouth Intellectual Property Corp. Systems for an integrated data network voice-oriented service and non-voice-oriented service converged creation and execution environment
US6981263B1 (en) * 2001-06-29 2005-12-27 Bellsouth Intellectual Property Corp. Methods and systems for converged service creation and execution environment applications
US7603289B2 (en) 2001-07-13 2009-10-13 Siemens Aktiengesellschaft System and method for electronic delivery of content for industrial automation systems
DE10152765B4 (en) * 2001-07-13 2015-11-12 Siemens Aktiengesellschaft A method for electronically providing services to machines via a data communication link
US6975913B2 (en) 2001-07-13 2005-12-13 Siemens Aktiengesellschaft Database system and method for industrial automation services
US6865564B2 (en) * 2001-11-08 2005-03-08 Hewlett-Packard Development Company, L.P. Method and system for printer suggested training
US20030097494A1 (en) * 2001-11-21 2003-05-22 Parry Travis J. Imaging device list storage
US7046635B2 (en) 2001-11-28 2006-05-16 Quicksilver Technology, Inc. System for authorizing functionality in adaptable hardware devices
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US7046536B2 (en) * 2002-05-29 2006-05-16 Micron Technology, Inc. Programable identification circuitry
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US7289995B2 (en) * 2002-12-26 2007-10-30 Ricoh Company, Ltd. Method and system for using internal data structures for storing information related to remotely monitored devices
US7500003B2 (en) * 2002-12-26 2009-03-03 Ricoh Company, Ltd. Method and system for using vectors of data structures for extracting information from web pages of remotely monitored devices
US6834347B2 (en) 2003-04-29 2004-12-21 International Business Machines Corporation Target self-security for upgrades for an embedded device
US20050076005A1 (en) * 2003-09-15 2005-04-07 International Business Machines Corporation Method and apparatus to associate data files with tasks or events
DE10345883A1 (en) * 2003-09-30 2005-05-12 Siemens Ag Fabricating device with automatic remote monitoring e.g. for main spindle unit of milling machines and lathes, has data processing device joined via remote data link to server
US20050194456A1 (en) 2004-03-02 2005-09-08 Tessier Patrick C. Wireless controller with gateway
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10348575B2 (en) 2013-06-27 2019-07-09 Icontrol Networks, Inc. Control system user interface
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9172553B2 (en) 2005-03-16 2015-10-27 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US8473619B2 (en) 2005-03-16 2013-06-25 Icontrol Networks, Inc. Security network integrated with premise security system
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
GB2428821B (en) 2004-03-16 2008-06-04 Icontrol Networks Inc Premises management system
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US12063220B2 (en) 2004-03-16 2024-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US7911341B2 (en) * 2007-01-24 2011-03-22 Icontrol Networks Inc. Method for defining and implementing alarm/notification by exception
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US8612591B2 (en) 2005-03-16 2013-12-17 Icontrol Networks, Inc. Security system with networked touchscreen
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US8996665B2 (en) 2005-03-16 2015-03-31 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US8332178B2 (en) * 2004-04-13 2012-12-11 Honeywell International Inc. Remote testing of HVAC systems
US20060031155A1 (en) * 2004-08-09 2006-02-09 Tetsuro Motoyama System and method to process an alert from a monitored device based on business context information
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US9059863B2 (en) * 2005-03-16 2015-06-16 Icontrol Networks, Inc. Method for data routing in networks
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US8819178B2 (en) 2005-03-16 2014-08-26 Icontrol Networks, Inc. Controlling data routing in integrated security systems
US9450776B2 (en) 2005-03-16 2016-09-20 Icontrol Networks, Inc. Forming a security network including integrated security system components
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US8713132B2 (en) 2005-03-16 2014-04-29 Icontrol Networks, Inc. Device for data routing in networks
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US8825871B2 (en) 2005-03-16 2014-09-02 Icontrol Networks, Inc. Controlling data routing among networks
DE102005021849B4 (en) * 2005-05-11 2007-08-02 Infineon Technologies Ag Embedded communication terminal
IL172527A0 (en) * 2005-12-12 2006-04-10 Distantec Ltd Active ip switching device
US7414525B2 (en) * 2006-01-11 2008-08-19 Honeywell International Inc. Remote monitoring of remediation systems
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US12063221B2 (en) 2006-06-12 2024-08-13 Icontrol Networks, Inc. Activation of gateway device
US8903365B2 (en) * 2006-08-18 2014-12-02 Ca, Inc. Mobile device management
US8713090B2 (en) * 2006-12-15 2014-04-29 Microsoft Corporation Enhancing user experiences using aggregated device usage data
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10223903B2 (en) 2010-09-28 2019-03-05 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US9628440B2 (en) 2008-11-12 2017-04-18 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
KR101814221B1 (en) 2010-01-21 2018-01-02 스비랄 인크 A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations
US9144143B2 (en) 2010-04-30 2015-09-22 Icontrol Networks, Inc. Power and data solution for remote low-power devices
CN102985915B (en) 2010-05-10 2016-05-11 网际网路控制架构网络有限公司 Control system user interface
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
CN102360308B (en) * 2011-09-29 2013-06-12 用友软件股份有限公司 Distributed deployment system and method of components
US10094585B2 (en) 2013-01-25 2018-10-09 Honeywell International Inc. Auto test for delta T diagnostics in an HVAC system
US9928975B1 (en) 2013-03-14 2018-03-27 Icontrol Networks, Inc. Three-way switch
US9867143B1 (en) 2013-03-15 2018-01-09 Icontrol Networks, Inc. Adaptive Power Modulation
US9287727B1 (en) 2013-03-15 2016-03-15 Icontrol Networks, Inc. Temporal voltage adaptive lithium battery charger
EP3031206B1 (en) 2013-08-09 2020-01-22 ICN Acquisition, LLC System, method and apparatus for remote monitoring
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638450A (en) * 1994-08-18 1997-06-10 Hewlett-Packard Company Method and apparatus for establishing two way communications between a pager device and a paging service provider
US5787259A (en) * 1996-03-29 1998-07-28 Microsoft Corporation Digital interconnects of a PC with consumer electronics devices
US5898259A (en) * 1996-05-22 1999-04-27 Imphy S.A. Shadow mask frame of a cathode ray tube, its process of manufacture, and suspension element of a shadow mask frame
US5956487A (en) * 1996-10-25 1999-09-21 Hewlett-Packard Company Embedding web access mechanism in an appliance for user interface functions including a web server and web browser
US6006251A (en) * 1995-07-11 1999-12-21 Hitachi, Ltd. Service providing system for providing services suitable to an end user request based on characteristics of a request, attributes of a service and operating conditions of a processor
US6032202A (en) * 1998-01-06 2000-02-29 Sony Corporation Of Japan Home audio/video network with two level device control
US6052750A (en) * 1998-01-06 2000-04-18 Sony Corporation Of Japan Home audio/video network for generating default control parameters for devices coupled to the network, and replacing updated control parameters therewith
US6085236A (en) * 1998-01-06 2000-07-04 Sony Corporation Of Japan Home audio video network with device control modules for incorporating legacy devices
US6139177A (en) * 1996-12-03 2000-10-31 Hewlett Packard Company Device access and control using embedded web access functionality
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
US6199136B1 (en) * 1998-09-02 2001-03-06 U.S. Philips Corporation Method and apparatus for a low data-rate network to be represented on and controllable by high data-rate home audio/video interoperability (HAVi) network
US6332157B1 (en) * 1996-06-03 2001-12-18 Webtv Networks, Inc. Method of accessing multiple services from multiple service providers
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
US6363434B1 (en) * 1999-03-30 2002-03-26 Sony Corporation Of Japan Method of managing resources within a network of consumer electronic devices
US6393470B1 (en) * 1998-11-13 2002-05-21 International Business Machines Corp. Non intrusive automatic remote support for freeing overloaded storage in portable devices
US6480891B1 (en) * 1999-01-04 2002-11-12 3Com Corporation Embedded code memory size reduction in asynchronous mode transfer devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6076124A (en) * 1995-10-10 2000-06-13 The Foxboro Company Distributed control system including a compact easily-extensible and serviceable field controller
US5898839A (en) 1997-03-17 1999-04-27 Geonet Limited, L.P. System using signaling channel to transmit internet connection request to internet service provider server for initiating and internet session
AUPP471098A0 (en) * 1998-07-16 1998-08-06 United Technology Pty Ltd Internet utility interconnect method and means

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638450A (en) * 1994-08-18 1997-06-10 Hewlett-Packard Company Method and apparatus for establishing two way communications between a pager device and a paging service provider
US6006251A (en) * 1995-07-11 1999-12-21 Hitachi, Ltd. Service providing system for providing services suitable to an end user request based on characteristics of a request, attributes of a service and operating conditions of a processor
US5787259A (en) * 1996-03-29 1998-07-28 Microsoft Corporation Digital interconnects of a PC with consumer electronics devices
US5898259A (en) * 1996-05-22 1999-04-27 Imphy S.A. Shadow mask frame of a cathode ray tube, its process of manufacture, and suspension element of a shadow mask frame
US6332157B1 (en) * 1996-06-03 2001-12-18 Webtv Networks, Inc. Method of accessing multiple services from multiple service providers
US5956487A (en) * 1996-10-25 1999-09-21 Hewlett-Packard Company Embedding web access mechanism in an appliance for user interface functions including a web server and web browser
US6139177A (en) * 1996-12-03 2000-10-31 Hewlett Packard Company Device access and control using embedded web access functionality
US6085236A (en) * 1998-01-06 2000-07-04 Sony Corporation Of Japan Home audio video network with device control modules for incorporating legacy devices
US6052750A (en) * 1998-01-06 2000-04-18 Sony Corporation Of Japan Home audio/video network for generating default control parameters for devices coupled to the network, and replacing updated control parameters therewith
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
US6032202A (en) * 1998-01-06 2000-02-29 Sony Corporation Of Japan Home audio/video network with two level device control
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
US6199136B1 (en) * 1998-09-02 2001-03-06 U.S. Philips Corporation Method and apparatus for a low data-rate network to be represented on and controllable by high data-rate home audio/video interoperability (HAVi) network
US6393470B1 (en) * 1998-11-13 2002-05-21 International Business Machines Corp. Non intrusive automatic remote support for freeing overloaded storage in portable devices
US6480891B1 (en) * 1999-01-04 2002-11-12 3Com Corporation Embedded code memory size reduction in asynchronous mode transfer devices
US6363434B1 (en) * 1999-03-30 2002-03-26 Sony Corporation Of Japan Method of managing resources within a network of consumer electronic devices

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203736B1 (en) * 1999-10-22 2007-04-10 Roke Manor Research Limited Fully integrated web activated control and monitoring device
US9654238B2 (en) 2000-08-08 2017-05-16 The Directv Group, Inc. Method and system for remote television replay control
US10390074B2 (en) 2000-08-08 2019-08-20 The Directv Group, Inc. One click web records
US8949374B2 (en) 2000-08-08 2015-02-03 The Directv Group, Inc. Method and system for remote television replay control
US20020087661A1 (en) * 2000-08-08 2002-07-04 Matichuk Chris E. One click web records
US9171851B2 (en) 2000-08-08 2015-10-27 The Directv Group, Inc. One click web records
US20020080166A1 (en) * 2000-08-08 2002-06-27 Sweatt Millard E. Method and system for remote television replay control
US20020038358A1 (en) * 2000-08-08 2002-03-28 Sweatt Millard E. Method and system for remote television replay control
US20020083153A1 (en) * 2000-08-08 2002-06-27 Sweatt Millard E. Method and system for remote television replay control
US10320503B2 (en) 2000-08-08 2019-06-11 The Directv Group, Inc. Method and system for remote television replay control
US7917602B2 (en) 2000-08-08 2011-03-29 The Directv Group, Inc. Method and system for remote television replay control
US20020165950A1 (en) * 2001-05-02 2002-11-07 Lee Sang Kyun Home appliance networking system and method for controlling the same
US20070136445A1 (en) * 2001-08-08 2007-06-14 Digital Networks North America, Inc. Method and system for remote television replay control
US7475133B2 (en) * 2003-01-09 2009-01-06 Ricoh Company, Ltd Method for configuring a monitoring system to monitor selected network elements
US20040199626A1 (en) * 2003-01-09 2004-10-07 Jayasimha Nuggehalli Method for configuring a monitoring system to monitor selected network elements
US7590710B1 (en) 2004-06-17 2009-09-15 Wavetrix, Inc. Method and system for extending a communication port via a general purpose network
US20060277297A1 (en) * 2005-04-15 2006-12-07 Sandy Kellagher A/V equipment control over a network
US8407328B2 (en) * 2005-04-15 2013-03-26 Snell & Wilcox Limited A/V equipment control over a network
US11650575B2 (en) 2008-11-24 2023-05-16 Abb Research Ltd. System and a method for control and automation service
US9167437B2 (en) * 2009-12-04 2015-10-20 Cradlepoint, Inc. Gathering data on cellular data communication characteristics
US20110292822A1 (en) * 2009-12-04 2011-12-01 Steven Wood Gathering data on cellular data communication characteristics
US20110258572A1 (en) * 2010-04-15 2011-10-20 General Instrument Corporation Service of Controllable Devices through a Control Point
US20130297771A1 (en) * 2012-05-04 2013-11-07 Itron, Inc. Coordinated collection of metering data
US9674589B2 (en) * 2012-05-04 2017-06-06 Itron, Inc. Coordinated collection of metering data
US10298469B2 (en) 2013-10-18 2019-05-21 Cisco Technology, Inc. Automatic asynchronous handoff identification
US9515901B2 (en) 2013-10-18 2016-12-06 AppDynamics, Inc. Automatic asynchronous handoff identification
US9870303B2 (en) * 2014-10-31 2018-01-16 Cisco Technology, Inc. Monitoring and correlating a binary process in a distributed business transaction
US20160124832A1 (en) * 2014-10-31 2016-05-05 AppDynamics, Inc. Monitoring and correlating a binary process in a distributed business transaction
US9535811B2 (en) 2014-10-31 2017-01-03 AppDynamics, Inc. Agent dynamic service
US9529691B2 (en) * 2014-10-31 2016-12-27 AppDynamics, Inc. Monitoring and correlating a binary process in a distributed business transaction
US9535666B2 (en) 2015-01-29 2017-01-03 AppDynamics, Inc. Dynamic agent delivery
CN108469961A (en) * 2018-03-07 2018-08-31 江苏北弓智能科技有限公司 One kind is based on micromation embedded platform remote update system and method

Also Published As

Publication number Publication date
US6601086B1 (en) 2003-07-29
EP1297415A1 (en) 2003-04-02
WO2001095100A1 (en) 2001-12-13
JP2003536131A (en) 2003-12-02
CA2412323A1 (en) 2001-12-13
EP1297415A4 (en) 2005-04-06
AU2001275174A1 (en) 2001-12-17

Similar Documents

Publication Publication Date Title
US6601086B1 (en) Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices
US8090811B2 (en) Service provider for embedded devices using a message store
US6363417B1 (en) Device interfaces for networking a computer and an embedded device
US6370436B1 (en) Distributed objects for a computer system
CN100483405C (en) Method and system for alert delivery architecture
US9306975B2 (en) Transmitting aggregated information arising from appnet information
US11528343B2 (en) Systems and methods for charging vehicles
US7170864B2 (en) System and method for WAP server management using a single console
US20030149756A1 (en) Configuration management method and system
US6266713B1 (en) Field upgradeable dynamic data exchanger server
WO2001080032A1 (en) A system and method for managing computing devices within a data communications network from a remotely located console
US8615576B2 (en) Remotely managing enterprise resources
US8224930B2 (en) Signaling partial service configuration changes in appnets
US20080127293A1 (en) Evaluation systems and methods for coordinating software agents
US20080072032A1 (en) Configuring software agent security remotely
US7792952B2 (en) Rating system for web services
US20080068381A1 (en) Using network access port linkages for data structure update decisions
US20060053021A1 (en) Method for monitoring and managing an information system
JP4241717B2 (en) Service providing apparatus for embedded device using message storage, method for providing service to multiple embedded devices, and system for providing service to embedded device
CN112738212B (en) Method and system for operation and maintenance of motor vehicle electronic identification read-write equipment
JP2004164610A (en) Management device
US7242688B2 (en) Telephone interface for communicating with embedded devices through a gateway and allowing access from a remote service provider
Guide Amazon CloudWatch
Hongal Network Working Group S. Waldbusser Request for Comments: 4011 Nextbeacon Category: Standards Track J. Saperia JDS Consulting, Inc.
Begum Review and comparative study of network monitoring tools in linux

Legal Events

Date Code Title Description
AS Assignment

Owner name: MATSUSHITA ELECTRIC WORKS, LTD.,JAPAN

Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:EMWARE, INC.;REEL/FRAME:016239/0518

Effective date: 20050601

Owner name: MATSUSHITA ELECTRIC WORKS, LTD., JAPAN

Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:EMWARE, INC.;REEL/FRAME:016239/0518

Effective date: 20050601

AS Assignment

Owner name: PANASONIC ELECTRIC WORKS CO., LTD., JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:MATSUSHITA ELECTRIC WORKS, LTD.;REEL/FRAME:022206/0574

Effective date: 20081001

Owner name: PANASONIC ELECTRIC WORKS CO., LTD.,JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:MATSUSHITA ELECTRIC WORKS, LTD.;REEL/FRAME:022206/0574

Effective date: 20081001

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION