1. Field of the Invention
The invention is directed to an automation convergence system user control interface, and more particularly to a user control interface using Web services for devices in an automation convergence system.
2. Related Art
Household, academic family and/or business spaces now more commonly have more than one audio or video device such as CD/DVD player, portable MP3 player, tuner, preamp, power amp, speakers, VCR, DVR, computers running media players or connected to some other source of audio or video (e.g., Internet radio, satellite radio and the like), etc. Typically, a CD/DVD player from one company comes with its own remote control and an amplifier by an entirely different company comes with its own remote control. The same space may have a PC with its keyboard and mouse, and yet another company's portable MP3 player with its own control switches. While each audio device is doing precisely what it was designed to do, each operates completely independent from the others with the possible exception of the portable MP3 player that may be connected to a PC for synchronization. As a result, a user ends up going from one keypad to another or juggling a series of remote controls in order to control the devices.
Since these audio/video and similar devices are not designed to communicate with each other or their communication is very limited, access to these audio/video devices is limited by their physical locations. For example, it is difficult to play an MP3 file saved in a PC hard disk drive in one room or area (a child's bedroom) on speakers located in another room or area (an entertainment room). Thus, in order for a user to enjoy music of his or her choice whenever and wherever he or she wants, each room needs to be equipped with all the necessary audio/video equipment and digital audio/video content.
Also, the audio/video devices are not designed to communicate with other home devices (e.g., TV, lighting, security system, etc.). Thus, it is difficult, if not impossible, to converge the devices for common control for certain occasions. For example, in order to watch a movie, the user must turn on a TV, a DVD player and an audio amplifier by using three different remote controls. Then the user must set the TV to receive a video signal from the DVD player, set the audio amplifier to receive an audio signal from the DVD player and use another control unit to adjust the lighting of the room. Even when a user utilizes a universal remote, as is known in the art, the result is a plurality of devices that are separately operated and are operated separately from a single universal remote. These devices do not converge and further there is no way to control their convergence as described above.
Accordingly, there is a need for a solution for the aforementioned accessibility, connectability, controllability and convergence issues.
The invention meets the foregoing needs using an automation specific IP based automation protocol, which results in a significant increase in convergence and communications between devices and other advantages apparent from the discussion herein.
In one aspect of the invention, a convergence and automation system includes an internet-protocol based (IP) network implemented with a web service for devices (WSD) protocol, a plurality of devices connected to the network, wherein each device is configured to perform at least one service, a server implemented with the WSD protocol, connected to the network and configured to control the device for converging and automating the services thereof, and at least one client implemented with the WSD protocol, connected to the network and configured to control at least a portion of the services of the devices. One of the server and the at least one client is configured to establish communication with the devices and further configured with a control panel application allowing a user to configure and test the convergence and automation system.
In another aspect of the invention, an article includes a machine readable medium having embodied thereon a program executable by a machine to allow a user to configure a convergence and automation system. The convergence and automation system includes an internet-protocol based network, hardware implemented with a web service for devices (WSD) protocol and software implemented with the WSD protocol and configured to establish communication in the hardware and perform a logging function to record said events and errors.
Additional features, advantages, and embodiments of the invention may be set forth or apparent from consideration of the following detailed description, drawings, and claims. Moreover, it is to be understood that both the foregoing summary of the invention and the following detailed description are exemplary and intended to provide further explanation without limiting the scope of the invention as claimed.
The accompanying drawings, which are included to provide a further understanding of the invention, are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the detailed description serve to explain the principles of the invention. No attempt is made to show structural details of the invention in more detail than may be necessary for a fundamental understanding of the invention and the various ways in which it may be practiced. In the drawings:
The embodiments of the invention and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments and examples that are described and/or illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale, and features of one embodiment may be employed with other embodiments as the skilled artisan would recognize, even it not explicitly stated herein. Description of well-known components and processing techniques may be omitted so as to not unnecessarily obscure the embodiments of the invention. The examples used herein are intended merely to facilitate an understanding of ways in which the invention may be practiced and to further enable those of skill in the art to practice the embodiments of the invention. Accordingly, the examples and embodiments herein should not be construed as limiting the scope of the invention, which is defined solely by the appended claims and applicable law. Moreover, it is noted that like reference numerals represent similar parts throughout the several views of the drawings.
The software (i.e. application) enables the hardware devices 120 and/or clients 110 to communicate with each other despite their different proprietary languages and communication protocols, and may provide the user with control over most or all the devices 120 from a single client. The application may utilize at least one portion of the hardware to send commands to the device 120 and receive feedback from them. The application integrates centralized device control into a PC based media environment (e.g., Microsoft Windows XP Media Center™ or Microsoft Windows Vista™ environment) that may store, organize and play digital media content. The user may use the remote control 115 or the portable device 106 to listen to music, watch and record television, enjoy family photographs and home movies, as well as adjust the lighting, secure the home, adjust the temperature, distribute music throughout the house, check surveillance cameras and the like. Moreover, the portable device 106 has further communication features as noted below.
The application may be implemented with Web Services. The Web Services use standard Internet protocol (IP) and are based on standard XML-related technologies such as SOAP (Simple Object Access Protocol) for communications and WSDL (Web Services Device Language) to describe interfaces. The devices implemented with Web Service for Devices (WSD) become black boxes on the network, providing services to any application, on any platform, written in any language. Moreover, the use of WSD allows for the capabilities of Universal Plug and Play (UPnP) that seamlessly connects and simply implementation as is known in the art.
The application maximizes flexibility and scalability with an elegant n-tiered, service oriented architecture that allows loosely occupied components to easily interact with each other across the network. In particular the application may be created using Microsoft™ .NET framework and coded primarily in C#. The application accordingly embraces the tremendous benefits of web services for the control of the devices.
The device/software modules, methods or implementation described herein are intended for operation with dedicated hardware implementations including, but not limited to, semiconductors, application specific integrated circuits, programmable logic arrays, and other hardware devices constructed to implement the software modules, methods or implementation functionality described below. Moreover, various embodiments of the invention described herein are intended for operation as software programs running on a computer processor such as PC running the Windows™ operating system as is well known in the art. The functional and operational description of the various device/software modules, methods or implementations described herein may be used together, separately, or in various combinations thereof. The application as implemented in the device/software modules will now be described in detail.
The invention is directed to a user interface for configuring CAS to maximize its convergence and automation capabilities.
The definitions for the terms used in this invention are explained in Table 1.
The menu bar 12 may provide menus for the control panel 10, such as “File” (i.e., save, save all, and/or exit functions and/or the like), “Edit” (i.e. new configuration new component, new device, new schedule, new script and/or delete functions and/or the like), “View” (i.e., server function and/or the like), “help” (i.e., about function and/or the like). The navigation pane 14 may contain configurations, devices, schedules and/or scripts and/or the like in a tree view. As well known, if a navigation item has a plus (+) sign next to it, the user may click the item to view additional sub items. If a navigation item has a minus (−) sign next to it, the user may click the item to hide the additional sub items.
The functional area pane 16 may contain several buttons for “Configuration,” “Devices,” “Scheduling,” “Scripting,” “Triggers,” “Templates,” and/or the like. The “Configuration” button allows the user to add and edit configurations on servers. The “Devices” button allows the user to view original manufacturer information, test devices, and control devices. The “Scheduling” button allows the user to set up schedules to run scripts. The “Scripting” button allows the user to create and edit scripts for running components and devices. The “Triggers” button allows the user to identify a specific device status and condition as a trigger to automatically execute a script when it occurs. The “Templates” button allows the user to add control for certain non-certified devices (CD players, DVD players, audio receivers, displays, and so on).
The definition pane 18 may display the definitions and descriptions of components, communication, and device settings associated when the user clicks in the setting field in the control pane 22. The device control buttons 20 may be provided to enable the user to control and test the devices and may include “start,” “stop” and/or “restart” buttons and/or the like. The control pane 20 may display the information about the component, device, schedule, script, or configuration. The control pane 20 may be where the user completes the majority of the work including adding or editing settings. The server pane 24 may display all of the servers (service providers) on the automation network. The server with a check mark next to them are selected and displayed in the Navigation pane 14. To select a server and display it in the Navigation pane, the user may click the server in the Server pane 24. The component/device name bar 26 displays the name of the component or device selected by the user selected from the Navigation pane 14. To exit the control panel 10, the user may click the close X in the upper-right corner of the control panel 10. If the user has made changes to a configuration, he or she may be prompted to save the configuration before closing. Next, each of the features of the functional pane 16 will be discussed.
A configuration is a collection of components, devices, menus, scripts, and schedules and corresponding properties for a particular installation. Before using the convergence system, the user may need to create a configuration for the network that he or she is working with. This configuration may run on the convergence system and may become part of the interface that the user interacts with daily. Before working with a configuration, the user may need to review the product sheets and other information provided by the convergence system installers to determine friendly names, communications settings, and device settings, so the information in the configuration matches the information provided by the installers.
To create a configuration, the user may start the control panel 10 as previously mentioned, click the “Configurations” button in the functional area pane 16, click the name of the server displayed in the Servers pane 24 that he or she wants to add the configuration to. Subsequently, the selected server may appear in the navigation pane 14 where the user may select the server that he or she wants to add the configuration to and, and click “New” and “Configuration.” The, the user may, in the control pane 22, under “Configuration Name,” highlight the name in the field and type the new name for the configuration, which results in changing of the name in the navigation pane 14.
To locate the configuration, after starting the control panel 10, the user may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration. If the user is unsure of which server contains the configuration, the user may click each server to place a check mark next to the server name to display the server in the Navigation pane 14 so that the user can view all configurations on the network. Upon selecting the server name, the selected server may be displayed in the Navigation pane 14, as shown in
Editing a configuration may involve adding, editing, or deleting components, devices, scripts or schedules. Editing a configuration in the control panel enables the user to change the name of the configuration. To edit a configuration in the control panel 10, the user may start the control panel 10 and select “Configuration” in the functional area pane 16. Then, the user may select the name of the server that contains the configuration to be edited in the Servers pane 24, which may cause the selected server to be displayed in the Navigation pane 14. In the Navigation pane 14, the user may select the server that contains the configuration to be edited and select the configuration to view the configuration contents in the Navigation pane 14. Then, the user may, in the Control pane 22, under “Configuration Name,” highlight the name of the configuration and type the new configuration name, it required. Otherwise, the user may need to follow other appropriate procedures to make the changes.
After making changes to a configuration, the user may need to save the configuration for the changes to the applied. If the user makes a change and does not save the configuration before closing the control pane, the user may be prompted to save changes. To save a configuration, after making changes to the configuration, the user may select “File” and “Save” in the menu bar 12. The control panel 10 may display messages regarding verifying the number of devices and verifying the number of scripts if these numbers do not exceed the maximum counts. The configuration is then saved. If the configuration is not the active configuration, the user may not be able to view the changes. To view the changes, the user may need to set the configuration as the active configuration.
Activating a configuration may set one configuration as the running configuration on the server (i.e., service provider). Each service provider may have multiple configurations, but may have only one active configuration. To activate a configuration, the user may click “Configuration” in the functional area pane 16. Then, the user may select the name of the server in the Servers pane 24 that contains the configuration to be activated, which may result in the server being displayed in the Navigation pane 14. In the Navigation pane 14, the user may select the server name containing the configuration to be activated. Then, the user may, in the Control pane 22, under Active Configuration, select the configuration to activate from the drop-down list, as shown in
Configurations may become obsolete over time as components change and the home network grows. When this occurs, the user may delete a configuration that is no longer useful. If the user deletes a configuration and has no archived copies of the configuration, he or she may lose all information in the configuration. If the user deletes an active configuration on a server (i.e., service provider), the user may have to activate a different configuration.
Before deleting a configuration, the user may need to verify that the configuration to be deleted is not the active configuration on the server. If the configuration to be deleted is the active configuration on the server, the user may need to make a different configuration active on the server. Then, the user may need to verify that he or she wants to permanently delete the configuration. The process of deleting a configuration from a server may start by selecting “Configuration” in the functional area pane 16. Then, in the Servers pane 24, the user may select the name of the server that contains the configuration to be deleted. In the Navigation pane 14, the user may select the plus (+) sign next to the server name containing the configuration to be deleted to display all configuration on that server. Then, in the Navigation pane 14, the user may select the configuration to be deleted and select “Delete.” The control panel 10 may display a verify deletion message. By verifying deletion, the configuration may be deleted from the server.
Components are the basic building block of a CAS configuration that may include a centralized intelligent system and the devices regulated by the intelligent system. A component may be any one of the devices 120 or client 110 shown in
Before adding devices, creating scripts or schedules, or using CAS, the user may need to add components to a configuration. After creating a new configuration, the user may continue adding components as systems are added to the network. To add a component to a configuration, the user may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may click the name of the server that contains the configuration that he or she wants to which to add a component. Then, the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may select the plus (+) sign next to the server name containing the configuration he or she wants to add a component, which may result in all configurations on the server being displayed in the Navigation pane 14. In the Navigation pane 14, the user may select the configuration that he or she wants to add a component to. Then, the user may select “New” select the component category, and then select the component to be added to the configuration, as shown in
As the network and components change, the user may need to edit a component in an existing configuration to meet the user's needs. The user may not need to create a new configuration to make a change to the component because he or she may simply edit the existing component.
To edit a component in a configuration, the user may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration with the component to be edited, which may result in the server being displayed in the Navigation pane 14. In the Navigation pane 14, the use may click the plus (+) sign next to the server name containing the configuration and component to be edited, which may result in all available configurations on the server being displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the configuration containing the component to be edited and then select the component category containing the component to be edited. In the Control pane 22, the user may make any changes t the component settings by double-clicking in a setting name and type a new value or making a new selection from a list, as shown in
If there is a component that is not required, or if the user changes the type of component after the initial configuration, the user may open the configuration and delete the component from the configuration. To delete a component from an existing configuration, the use may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration with the component to be deleted, which may result in the server being displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration and component to be deleted. Then the user may click the plus (+) sign next to the configuration containing the component to be deleted. In the Navigation pane 14, the user may right-click the component category containing the component to be deleted and select “Delete.” The control panel 10 may display a deletion verification message. By clicking “YES,” the selected component may be deleted.
A zone is an area of coverage for an audio component, a security system component and/or the like. For example, one security camera component may cover a back door and patio area (zone 1) and a second security camera component may cover a front door area (zone 2). There may be more than one zone in an area (e.g., room) depending on the make up of the area. Also, more than one zone may be associated with a component. To add a zone to a component in a configuration, the user may select “Configuration” in the functional area pane 16. The in Servers pane 24, the user may select the name of the server that contains the configuration with the component he or she wants to add a zone to. Then, the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the use may click the plus (+) sign next to the server name containing the configuration and component he or she wants to add a zone. In the Navigation pane 14, the user may click the plus (+) sign next to the configuration containing the component that he or she wants to add a zone. In the Navigation pane 14, the user may select the component category containing the component that he or she wants to a zone. Then, in the Control pane 22, the user may select “Zones” and then select a button next to “Collection,” which may open a zone configuration collection editor, as shown in
After adding zones to a component, the user may edit the zone. To edit a zone in a configuration, after starting the control panel 10, the user may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may click the name of the server that contains the configuration with the component of the zone to be edited, which may result in the server being displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration and component of the zone to be edited. In the Navigation pane 14, the user may click the plus (+) sign next to the configuration containing the component of the zone to be edited. In the Navigation pane 14, the user may click the component category containing the component of the zone to be edited. In the Control pane 22, the user may select “Zones” and then select the button next to “Collection,” which may open a zone configuration collection editor, as shown in
As the network changes and audio and security components are added and deleted from the network, the user may delete zones to fit the user's needs. To delete a zone from a configuration, after starting the control pane 10, the user may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may click the name of the server that contains the configuration with the component of the zone to be deleted, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration and component of the zone to be deleted. In the Navigation pane 14, the user may click the plus (+) sign next to the configuration containing the component zone to be deleted. In the Navigation pane 14, the user may select the component category containing the component of the zone to be deleted. In the Control pane 22, the user may select “Zones” and then click the button next to “Collections,” and the zone configuration collection editor may open. In the zone configuration collection editor, under “Members,” the user may select the zone to be deleted. By clicking “Remove,” the selected zone is removed. After making the changes, the user may need to save the configuration.
Sources are hardware elements, such as receivers, CD players and the like, that provide audio content to the audio devices in the CAS. When the user adds an audio component, he or she may need to associate a source with the component so that the component may be able to access the audio content. The user may change the source associated with the audio component if necessary.
To add a source to a component in a configuration, after starting the control panel 10, the user may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration with the component that he or she wants to add a source to, and then the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration and component that he or she wants to add a source to. In the Navigation pane 14, the user may click the plus (+) sign next to the configuration containing the component that he or she wants to add a source to. In the Navigation pane 14, the user may select the component category containing the component that he or she wants to add a source to. In the Control pane 22, the user may select “Sources” and then click the button next to “Collection,” which may open the source configuration collection editor. In the source configuration collection editor, the user may select “Add” which result in the source being added to the Members list. Under “Members,” the user may select the source that has been just added. In the Properties pane, the user may double-click each of the settings shown in Table 2 and provide a value for the setting. After adding all sources, the user may need to save the configuration.
to edit a source for a component in a configuration, after starting the control panel 10, the user may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration with the component that he or she wants to edit a source, and then the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration and component that he or she wants to edit a source. In the Navigation pane 14, the user may click the plus (+) sign next to the configuration containing the component that he or she wants to edit a source. In the Navigation pane 14, the user may select the component category containing the component that he or she wants to edit a source for. In the Control pane 22, the user may select “Sources” and then click the button next to “Collection” which may open the source configuration collection editor, as shown in
To delete a source from a component in a configuration, after starting the control panel 10 and select “Configuration” in the functional area pane 16, the user may select, in the Servers pane 24, the name of the server that contains the configuration with the component that he or she wants to delete a source from, which may result in the selected server being displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration and component that he or she wants to delete a source from and then click the plus (+) sign next to “Configuration.” In the Navigation pane 14, the user may click the component category containing the component that he or she wants to delete a source from. In the Control pane 22, the user may select “Sources” and then click the button next to “Collection” which opens the source configuration collection editor. In the editor, the user may select “Remove” which may result in the source being removed from the Members list. After deleting the sources, the user may need to save the configuration.
Devices may be individual hardware elements in a home network such as a light, thermostat and the like. Figuratively speaking, the devices are one half of a component in the CAS, with the other half being a centralized intelligence system, which regulates the operation of the device. To set up a device, the user may need to have components in the configuration. In the control panel 10, the user may add a component and device during the same process, but in the configuration tool these tasks may need to be separate processes. After the user has added components, he or she may be able to add devices at any time to an existing component. In the CAS, the user may only be able to associate a device that is compatible with the specific component. For example, the user may not be able to add a lighting device to an HVAC component as these two are may not be compatible. After adding a device to a configuration, the user may be able to include the device in a script to run automatically (i.e., on a schedule) or manually (i.e., by button). The user may also be able to associate a device with a sub menu to display the device in the room menu for a specified room. The user may have to use the configuration tool to work with menus.
Adding a device may be associating the device with a component controller (i.e., the intelligent system). For example, when the user adds a lighting device, he or she may associate the specific light with the intelligent lighting system, which may receive the commands from the CAS server and regulates the light. As time passes, the user may be able to add new devices due to remodeling, additions, or other changes. The user may not need to create a new configuration to add a new device.
To add a device to a configuration, after starting the control panel 10 and selecting “Configuration” in the functional area pane 16, the user may select, in the Servers pane, the name of the server that contains the configuration he or she wants to add a device to and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration he or she wants to add a device to, and then click the plus (+) sign next to the configuration. In the Navigation pane 14, the user may select the component that he or she wants to add a device to and select “New,” and select the device he or she wants to add to the component. As shown in
If the device is produced in a manner that enables it to be discovered on a network, the user may be able to discover the device along with all of the properties associated with the device. Discovery is the ability of CAS to automatically detect components on the same network and retrieve information about the devices. If the user adds a light to a network that supports automatic discovery, he or she may not have to add properties manually to the configuration to support the light because all of the information related to the light may be automatically recognized and placed into the proper files for use in the CAS. Not all components or devices may be produced to be discovered. If a component or device cannot be discovered, a Discovery button may not appear.
To discover a device, after starting the control panel 10 and selecting “Configuration” in the functional area pane 16, the user may select, in the Servers pane 24, the name of the server that contains the configuration and component that he or she wants to discover devices for and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the component that he or she wants to discover devices, and then click the plus (+) sign next to the configuration. In the Navigation pane 14, the use may click the component that he or she wants to discover devices. In the Control pane 22, the user may select the Discover button in the lower right of the window, as shown in
To edit a device, after starting the control panel 10 and selecting “Configuration” in the functional area pane 16, the user may select, in the Servers pane 24, the name of the server that contains the configuration containing the device to be edited, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the device to be edited, and then click the plus (+) sign next to the configuration. In the Navigation pane 14, the user may click the plus (+) sign next the component containing the device to be edited. Under the component, the user may select the device to be edited, as shown in
To delete a device, after starting the control panel 10 and selecting “Configuration” in the functional area pane 16, the user may select, in the Servers pane 24, the name of the server that contains the configuration containing the device to be deleted and then the server may be displayed in the Navigation pane 14. In the Navigation pane 14, click the plus (+) sign next to the server name containing the configuration that contains the device to be deleted, and then click the plus (+) sign next to the configuration. In the Navigation pane 14, the user may select the plus (+) sign next the component containing the device to be deleted. Under the component, the user may select the device to be deleted. By selecting “Delete,” the device may be deleted. A deletion verification message may occur to make sure the user wants to delete the device. After completing all of the changes to the settings, the user may need to save the configuration.
Controlling a device may be useful when the user has added a new device and wants to test it to ensure that device is working properly. To control a device, the user may select “Devices” in the functional area pane 16. Then, the user may select, in the Servers pane 24, the name of the server that contains the configuration containing the deice he or she wants to control, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the device he or she wants to control, and then click the plus (+) sign next to the configuration. In the Navigation pane 14, the user may click the plus (+) sign next the component containing the device that he or she wants to control. Then, the user may select, under the component, the device he or she wants to control, and the device controls may be displayed in the Control pane 22. In the Control pane 22, the user may click a Control tab to ensure that the device controls display. Depending on the device to be controlled, the user may type new values or make selections from lists to control the device. For example, if the user is controlling or testing a thermostat, he can change the heat temperature set point to a new value, change the mode of operation from OFF to AUTO, and turn the fan ON, as shown in
Viewing the Original Equipment Manufacturer (OEM) device information may be useful when the user needs to contact the manufacturer with a question or to find the serial number or firmware version used with the device. To view the device OEM information, the user may select, in the Servers pane 24, the name of the server that contains the configuration containing the device for which he or she wants to view the OEM information, and then the server may be displayed in the Navigation pane. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the device for which the user wants to view the OEM information, and then click the plus (+) sign next to the configuration. In the Navigation pane 14, the user may click the plus (+) sign next the component containing the device for which he or she wants to view the OEM information. Under the component, the user may select the device for which he or she wants to view the OEM information, and the device controls may be displayed in the Control pane 22. In the Control pane 22, the user may select a “Description” tab to view the OEM information, as shown in
Although each device has different OEM information, the most common information displayed is shown in Table 3.
For certain control categories such as lighting, audio, shades, thermostats, ovens, and contact closures, the user may be able to group devices within the same component into a device control group. According to the invention, all of the devices in a control group may be controlled as a single device using the feedback provided by one device in the group that the user designates as the master device. In fact, device control groups may be configured to look just like a single device in the menu. When the user makes a change to a control group's settings, all of the device in that group may be affected.
To set up a device control group, the user may need to have components with devices already defined in the configuration. In the control panel 10, the user may access a component which supports device control groups, select a “Device Control Group” option, give the control group a “Friendly Name,” select the devices to include, set parameters for the devices, and designate a master device. To create a device control group, as shown in
To edit a device control group, the user may select the “Configuration” in the functional area panel 16. In the Configuration pane, the user may select the desired configuration and then click the (+) sign beside the name of the component containing the device control group to be edited, as shown in
The Servers pane 25 may show all of the servers (i.e., service providers) on the network. If the user has a complex installation, he or she may have several servers listed. Otherwise, less complex installations may have only one or two servers listed. The list of servers may be built dynamically from network information when the user starts the control panel 10. The user may not be able to add a server or delete a server from the list in the Servers pane 24. The user may, however, be able to choose which servers to display in the Navigation pane for better control over the amount of information and devices listed in the Navigation at one time. This may be useful in complex installations with several servers and hundreds of devices, which could cause the contents of the Navigation pane to become unwieldy.
To view the servers on the network, the user may select “Configuration” in the functional area pane 16. In the Servers pane 24, the user may select the name of the server he or she wants to view in the Navigation pane 14, and then the server may be displayed in the Navigation pane 14, thereby enabling the user to add, edit, or delete the configurations on the server. If the Servers pane 24 displays, but the user does not want the Severs pane 24 to display, he or she may be able to hide the Servers pane 24. To hide the Servers pane 24 in the control panel 10, the user may select “View” and “Servers” from the menu bar 12. Then, the Servers pane 24 may no longer be displayed in the control panel 10. If the Servers pane 24 is not displayed and the user wants to display the Servers pane 24, the user may change the setting to display the Servers pane 24. For example, to display the Servers pane 24 in the control panel, the user may select “View” and “Servers” from the menu bar 12. A check mark may be displayed next to “Servers” and the Servers pane 24 may be displayed in the control panel 10.
To create a script in the control pane, the user may use either the C # or Visual Basic programming language. Otherwise, the user may use a non-programming interface configuration tool to create scripts. A script may be a string of commands that sends action to a variety of devices for a predetermined effect. Using a script, the user may be able to simultaneously control different types of devices. For example, the user may have a script that sends a command to turn on the lights in the foyer, lower the audio volume, and then ramp up the temperature on the thermostat. Scripts may be triggered either manually (i.e., button activated) or automatically (i.e., scheduled).
The user may only be able to create a script only after he or she adds all of the components and devices to a configuration. If the user changes a component or device after the script is created, the user may need to change the script to reflect the change. In creating a script, the user may create commands, which are instructions that he or she wants the CAS to follow. A command may consist of an action and the action properties. An action may specify what the user wants to happen and the action properties may specify how the user wants the action to occur. For example, bringing a light up to 50 percent brightness may involve the action of bringing the light up and the action property of 50 percent. Scripts may run in the order that the commands display in the script itself.
Before creating a script, the user may need to add the components and devices that he or she wants to use in the script to the configuration that the user is adding the script to. If the user changes a component or device, or adds a new component that he or she wants to add to the script, the user may edit the script to reflect the changes. The user may add only one action to a command at a time and only one command to a device at a time. If the user wants to make a device dr more than one action, he or she may need to break the action into single actions. For example, if the user wants a thermostat to set to 70 degrees and turn the fan on, he or she may need to create two separate commands: one for the thermostat to be set to 70 degrees and then a second command for the thermostat to turn on the fan. These separate commands may be displayed in the script as separate items.
To create a script, the user may select “Scripting” from the functional area pane 16. In the Servers pane 24, the user may click the name of the server that contains the configuration that he or she wants to add a script, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that he or she wants to add a script to. In the Navigation pane 14, the user may select the name of the configuration that he or she wants to add a script to, and select click “New” and “Script Template.” In the Navigation pane 14, the script may be added under the configuration name and the “New Script template” may be displayed in the control pane 22, as shown in
After creating a script, the user may test the script before placing it into operation. This will ensure that the devices are working as expected and the sequence of the commands is correct in the script. To test a script, after selecting “Script” from the functional area pane 16, the user may, in the Servers pane 24, select the name of the server that contains the configuration containing the script to test. The server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration containing the script to test. In the Navigation pane 14, the user may click the plus (+) sign next to the name of the configuration containing the script to test. In the Navigation pane 14, the user may click the name of the script to test, and the script information may be displayed in the Control pane 22. Then, the user may click the “Execute” button in the lower right of the Control pane 22, as shown in
To edit a script, the user may select “Scripting” from the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration containing the script to edit, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration containing the script to edit. In the Navigation pane 14, the user may click the plus (+) sign next to the name of the configuration containing the script to edit. In the Navigation pane 14, the user may click the name of the script to edit, and the script information may be displayed in the Control pane 22. In the Control pane 22, under “Script Name,” the user may highlight the field value and type the new script name. The user may make this script name descriptive and unique for easier administration. The user may need to avoid selecting a different programming language under “Language” to use for the script from the drop-down list. If the user selects a different language, the existing script code may be deleted. Under “Type the Script Body,” the user may make changes to the script in the previously selected programming language. After saving the configuration, the user may schedule the script to run automatically, or run the script manually, depending on the situation.
To delete a script, the user may select “Scripting” from the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration containing the script to delete, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration containing the script to delete. In the Navigation pane 14, the user may click the plus (+) sign next to the name of the configuration containing the script to delete. In the Navigation pane 14, the user may select the name of the script to delete and confirm the deletion.
The user may identify a specific device status and condition as a trigger to automatically execute a “scene” when it occurs. A scene is the operation or script for a particular situation. One trigger may execute multiple scripts. However, only one trigger may be used per script. Possible status and conditions may differ depending on the type of device and include “greater than,” “less than,” “equal to,” and “not equal to.” For example, if a dimmer's load level (i.e., status) is set to “greater than” condition 50%, a scene may be automatically executed. To create a trigger for a script, the user may select “Triggers” from the functional area pane 16, which may open a new trigger template pane in the control pane 22, as shown in
To edit a trigger for a script, the user may select “Triggers” in the functional area pane 16. In
Schedules are time periods in which a script is to run. A schedule may consist of a schedule type (e.g., start time and date, or day) and an action (i.e., script to run). Before creating a schedule, the user may need to add the components and devices to the configuration and create the script that he or she wants to run on the schedule the user is creating. The user may not need to create a schedule for each script immediately after creating the script. The use may add a schedule to any script that he or she creates at any time. The user may have multiple schedules associated with the same script.
Types of schedules include Daily (i.e., Schedule runs every day at the time specified)., Weekly (i.e., Schedule runs one time a week on the specified day and at the time specified, Monthly (i.e., Schedule runs one time a month on the specified date and at the time specified), One Time (i.e., Schedule runs one time only on the specified date and at time specified) and/or the like.
To create a schedule, the user may select “Schedules” in the functional area pane 16. In the Servers pane 24, the user may click the name of the server that contains the configuration containing the script he or she wants to schedule, and the server may be displays in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the script to be scheduled. In the Navigation pane 14, the user may select the name of the configuration containing the script to be scheduled and select “New” and “Schedule.” In the Navigation pane 14, the user may select the name of the schedule he or she just added, and the schedule information may be displayed in the Control pane 22, as shown in
To edit a schedule, the user may select “Scheduling” in the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration containing the schedule to be edited, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the schedule to be edited. In the Navigation pane 14, the user may click the name of the configuration containing the schedule to be edited. In the Navigation pane 14, the user may click the name of the schedule to be edited, and the schedule information may be displayed in the Control pane 22, as shown in
To delete a schedule, in the Servers pane 24, the user may select the name of the server that contains the configuration containing the schedule to delete, and the server many display in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the schedule to delete. In the Navigation pane 14, the use may click the plus (+) sign next to the name of the configuration containing the schedule to delete. Then, the user may select the name of the schedule to delete and select “delete.” Upon confirming a delete verification message, the schedule may be deleted from the configuration. The script may still remain and may not be impacted by the schedule deletion. If the user wants to run the script, he or she may need to either create a new schedule to run the script automatically or run the script manually.
Each device configuration page may contain Stop, Start, and Restart buttons in the Device Control area of the Control pane 22. Using these buttons, the user may stop, start, or restart the device—specific portion of the software that enables control of the device. This may be useful when the user changes a device configuration and needs to restart the service before the new configuration can be used.
To start a service, the user may select “Configuration” from the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration containing the device he or she wants to start, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user many click the plus (+) sign next to the server name containing the configuration that contains the device to start and then click the plus (+) sign next to the configuration. In the Navigation pane 14, the user may click the plus (+) sign next the component containing the device to start. Under the component, the user may select the device to start, and the device settings may be displayed in the Control pane 22, as shown in
To stop a service, the user may select “Configuration” from the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration containing the device to stop, and the server may display in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the device to stop, and then click the plus (+) sign next to the configuration. In the Navigation pane, the user may click the plus (+) sign next the component containing the device to stop. Under the component, the user may select the device to stop, and the device settings may be displayed in the Control pane 22. In the Control pane 22, under Device Control, the user may click “Stop” and “Close” in the Service Control window, which may stop the service.
To restart a service, the user may select “Configuration” from the functional area pane 16. In the Servers pane 24, the user may select the name of the server that contains the configuration containing the device to restart, and the server may be displayed in the Navigation pane 14. In the Navigation pane 14, the user may click the plus (+) sign next to the server name containing the configuration that contains the device to restart, and then click the plus (+) sign next to the configuration. In the Navigation pane 14, the user may click the plus (+) sign next the component containing the device to restart. Under the component, the user may select the device to restart, and the device settings may be displayed in the Control pane 22, as shown in 12(B). In the Control pane 22, under Device Control, the user may select “Restart” and then “Close” in the Service Control window, which may restart the service.
Templates may be used to create device interfaces for non-certified devices, such as, for example, CD player, DVD player, audio receiver, display (e.g., T.V., monitor) and the like. You can use either IR or one-way serial communication to control these devices. CD players may be configured as sources that can be controlled through the CAS and used in the scenes. DVD players, audio receivers and displays may also be used in scripts although they may not be fully controlled individually in the CAS. Once the user establishes the set of commands that the component supports, he or she may send the command directly to the device via the CAS. If no user interface exists for the devices, the user may not be able to add the devices to the menu structure. However, if the CAS can support those devices, the user may be able to add those components to the menu structure. After completing the Template setup, the next step may be to add scripts to access the component via the CAS or add to Menu.
To set up a new template, the user may select “Templates” from the functional area pane 16, then select “Edit,” “New” and “Component Template” from the menu bar 12, a shown in
Using either of the previous methods, the user may create the command catalog, and then define the commands by selecting the expandable tree menu for the individual command as shown in
The user may add the new template component to the configuration. After saving the changes made to the template, the user may select “Configuration,” and select the active configuration. The new template component may need to be added to the configuration by selecting it from the list of components. The component may populate in the list by friendly name. The system may require the definition of fields pertaining to the configuration file name and friendly name for logging purposes, as shown in
The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory, for example the memory of client or device, and executed by a processor, for example a general-purpose processor. Memory may be implemented with the processor or external to the processor. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
While the invention has been described in terms of exemplary embodiments, those skilled in the art will recognize that the invention can be practiced with modifications in the spirit and scope of the appended claims. These examples given above are merely illustrative and are not meant to be an exhaustive list of all possible designs, embodiments, applications or modifications of the invention.
This application claims priority to and the benefit of; Provisional Patent Application No. 60/782,734 filed on Mar. 16, 2006, entitled AUTOMATION CONTROL SYSTEM HAVING A CONFIGURATION TOOL AND TWO-WAY ETHERNET COMMUNICATION FOR WEB SERVICE MESSAGING, DISCOVERY, DESCRIPTIONS, AND EVENTING THAT IS CONTROLLABLE WITH A TOUCH-SCREEN DISPLAY, to Seale MOORER et al.; Provisional Patent Application No. 60/782,596 filed on Mar. 16, 2006, entitled AUTOMATION CONTROL SYSTEM HAVING DIGITAL MEDIA STREAMING, to Seale MOORER et al.; Provisional Patent Application No. 60/782,598 filed on Mar. 16, 2006, entitled AUTOMATION CONTROL SYSTEM HAVING DIGITAL LOGGING, to Seale MOORER et al.; Provisional Patent Application No. 60/782,635 filed on Mar. 16, 2006, entitled AUTOMATION CONTROL SYSTEM HAVING A CONTROL PANEL, to Seale MOORER et al.; Provisional Patent Application No. 60/782,599 filed on Mar. 16, 2006, entitled AUTOMATION CONTROL SYSTEM HAVING A CONFIGURATION TOOL, to Seale MOORER et al.; Provisional Patent Application No. 60/782,600 filed on Mar. 16, 2006, entitled AUTOMATION CONTROL SYSTEM HAVING DEVICE SCRIPTING, to Seale MOORER et al.; Provisional Patent Application No. 60/782,634 filed on Mar. 16, 2006, entitled DEVICE AUTOMATION USING NETWORKED DEVICE CONTROL HAVING A WEB SERVICES FOR DEVICE STACK, to Seale MOORER et al.; Provisional Patent Application No. 60/782,595 filed on Mar. 16, 2006, entitled WIRELESS DIGITAL AMPLIFIER CONFIGURED FOR WALL MOUNTING, SHELF MOUNTING, AND THE LIKE, to Seale MOORER et al.; Provisional Patent Application No. 60/785,275 filed on Mar. 24, 2006, entitled AUTOMATION SYSTEM, to Seale MOORER et al.; Provisional Patent Application No. 60/793,257 filed on Apr. 20, 2006, entitled TOUCH SCREEN FOR USE WITH AUTOMATION SYSTEMS, to Seale MOORER et al.; Provisional Patent Application No. 60/747,726 filed on May 19, 2006, entitled COOLING DEVICE FOR A TOUCH SCREEN AND THE LIKE, to Seale MOORER et al.; Provisional Patent Application No. 60/746,287 filed on May 3, 2006, entitled HOME AUTOMATION SYSTEM AND THE LIKE, to Seale MOORER et al.; Provisional Patent Application No. 60/786,119 filed on Mar. 27, 2006, entitled HOME AUTOMATION PROGRAM CODE FOR SET TOP BOX OR SIMILAR CIRCUIT, to Steve CASHMAN; and Provisional Patent Application No. 60/857,774 filed Nov. 9, 2006, entitled PORTABLE MULTI-FUNCTIONAL MEDIA DEVICE, to Seale MOORER et al., all of which are hereby expressly incorporated by reference for all purposes as if fully set forth herein. Further, this application is related to the following U.S. Patent Applications: U.S. patent application Ser. No. 11/686,826 , entitled NETWORK BASED DIGITAL ACCESS POINT DEVICE, filed Mar. 14, 2007, to Seale Moorer, et al.; U.S. patent application Ser. No. 11/686,836, entitled INTERNET PROTOCOL BASED MEDIA STREAMING SOLUTION, filed Mar. 15, 2007, to Seale Moorer, et al.; U.S. patent application Ser. No. 11/686,896, entitled AUTOMATION CONTROL SYSTEM HAVING A CONFIGURATION TOOL AND TWO-WAY ETHERNET COMMUNICATION FOR WEB SERVICE MESSAGING, DISCOVERY, DESCRIPTION, AND EVENTING THAT IS CONTROLLABLE WITH A TOUCH-SCREEN DISPLAY, filed Mar. 15, 2007 and issued on Mar. 24, 2009 as U.S. Pat. No. 7,509,402, to Seale Moorer, et al.; U.S. patent application Ser. No. 11/686,884 , entitled AUTOMATION CONTROL SYSTEM HAVING DIGITAL LOGGING, filed Mar. 15, 2007 and issued on Feb. 24, 2009 as U.S. Pat. No. 7,496,627, to Seale Moorer, et al.; U.S. patent application Ser. No. 11/686,846, entitled DEVICE AUTOMATION USING NETWORKED DEVICE CONTROL HAVING A WEB SERVICES FOR DEVICES STACK, filed Mar. 15, 2007 and issued on Sep. 8, 2009 as U.S. Pat. No. 7,587,464, to Seale Moorer, et al.; U.S. patent application Ser. No. 11/686,875, entitled AUTOMATION CONTROL SYSTEM HAVING A CONFIGURATION TOOL, filed Mar. 15, 2007, to Seale Moorer, et al.; and U.S. patent application Ser. No. 11/686,889, entitled AUTOMATION CONTROL SYSTEM HAVING DEVICE SCRIPTING, filed Mar. 15, 2007, to Seale Moorer, et al., which are all hereby expressly incorporated by reference for all purposes as if fully set forth herein.
Number | Name | Date | Kind |
---|---|---|---|
4567557 | Burns | Jan 1986 | A |
4808841 | Ito et al. | Feb 1989 | A |
4989081 | Miyagawa | Jan 1991 | A |
5086385 | Launey et al. | Feb 1992 | A |
5105186 | May | Apr 1992 | A |
5218552 | Stirk | Jun 1993 | A |
5237305 | Ishijuro | Aug 1993 | A |
5282028 | Johnson et al. | Jan 1994 | A |
5502618 | Chiou | Mar 1996 | A |
5565894 | Bates et al. | Oct 1996 | A |
5579221 | Mun | Nov 1996 | A |
5598523 | Fujita | Jan 1997 | A |
5621662 | Humphries et al. | Apr 1997 | A |
5623392 | Ma | Apr 1997 | A |
5666172 | Ida et al. | Sep 1997 | A |
5706191 | Bassett et al. | Jan 1998 | A |
5706290 | Shaw et al. | Jan 1998 | A |
5748444 | Honda et al. | May 1998 | A |
5787259 | Haroun | Jul 1998 | A |
5831823 | Hoedl | Nov 1998 | A |
5850340 | York | Dec 1998 | A |
5877957 | Bennett | Mar 1999 | A |
5922047 | Newlin et al. | Jul 1999 | A |
5956025 | Goulden et al. | Sep 1999 | A |
6020881 | Naughton et al. | Feb 2000 | A |
6029092 | Stein | Feb 2000 | A |
6061602 | Meyer | May 2000 | A |
6112127 | Bennett | Aug 2000 | A |
6139177 | Venkatraman et al. | Oct 2000 | A |
6147601 | Sandelman et al. | Nov 2000 | A |
6154681 | Drees et al. | Nov 2000 | A |
6160477 | Sandelman et al. | Dec 2000 | A |
6175872 | Neumann et al. | Jan 2001 | B1 |
6182094 | Humpleman et al. | Jan 2001 | B1 |
6192282 | Smith et al. | Feb 2001 | B1 |
6198479 | Humpleman et al. | Mar 2001 | B1 |
6201523 | Akiyama et al. | Mar 2001 | B1 |
6222729 | Yoshikawa | Apr 2001 | B1 |
6243707 | Humpleman et al. | Jun 2001 | B1 |
6263260 | Bodmer et al. | Jul 2001 | B1 |
6268857 | Fishkin et al. | Jul 2001 | B1 |
6275922 | Bertsch | Aug 2001 | B1 |
6278676 | Anderson et al. | Aug 2001 | B1 |
6288716 | Humpleman et al. | Sep 2001 | B1 |
6313990 | Cheon | Nov 2001 | B1 |
6314326 | Fuchu | Nov 2001 | B1 |
6353853 | Gravlin | Mar 2002 | B1 |
6385495 | Bennett | May 2002 | B1 |
6389331 | Jensen et al. | May 2002 | B1 |
6402109 | Dittmer | Jun 2002 | B1 |
6405103 | Ryan et al. | Jun 2002 | B1 |
6456892 | Dara-Abrams et al. | Sep 2002 | B1 |
6462654 | Sandelman et al. | Oct 2002 | B1 |
6473661 | Wollner | Oct 2002 | B1 |
6496575 | Vasell et al. | Dec 2002 | B1 |
6522346 | Meyer | Feb 2003 | B1 |
6523696 | Saito et al. | Feb 2003 | B1 |
6526581 | Edson | Feb 2003 | B1 |
6546419 | Humpleman | Apr 2003 | B1 |
6580950 | Johnson et al. | Jun 2003 | B1 |
6587739 | Abrams et al. | Jul 2003 | B1 |
6609038 | Croswell et al. | Aug 2003 | B1 |
6615088 | Myer et al. | Sep 2003 | B1 |
6633781 | Lee et al. | Oct 2003 | B1 |
6640141 | Bennett | Oct 2003 | B2 |
6663781 | Huling | Dec 2003 | B1 |
6690411 | Naidoo et al. | Feb 2004 | B2 |
6690979 | Smith | Feb 2004 | B1 |
6735619 | Sawada | May 2004 | B1 |
6756998 | Bilger | Jun 2004 | B1 |
6763040 | Hite et al. | Jul 2004 | B1 |
6778868 | Imamura et al. | Aug 2004 | B2 |
6782294 | Reich et al. | Aug 2004 | B2 |
6792319 | Bilger | Sep 2004 | B1 |
6792323 | Krzyzanowski et al. | Sep 2004 | B2 |
6792480 | Chaiken et al. | Sep 2004 | B2 |
6823223 | Gonzales et al. | Nov 2004 | B2 |
6834208 | Gonzales et al. | Dec 2004 | B2 |
6838978 | Aizu et al. | Jan 2005 | B2 |
6845275 | Gasiorek et al. | Jan 2005 | B2 |
6850149 | Park | Feb 2005 | B2 |
6859669 | An | Feb 2005 | B2 |
6865428 | Gonzales et al. | Mar 2005 | B2 |
6868292 | Ficco | Mar 2005 | B2 |
6868293 | Schurr et al. | Mar 2005 | B1 |
6870555 | Sekiguchi | Mar 2005 | B2 |
6891838 | Petite | May 2005 | B1 |
6909921 | Bilger | Jun 2005 | B1 |
6912429 | Bilger | Jun 2005 | B1 |
6924727 | Nagaoka et al. | Aug 2005 | B2 |
6928576 | Sekiguchi | Aug 2005 | B2 |
6930599 | Naidoo et al. | Aug 2005 | B2 |
6957110 | Wewalaarachchi et al. | Oct 2005 | B2 |
6957275 | Sekiguchi | Oct 2005 | B1 |
6961763 | Wang et al. | Nov 2005 | B1 |
6965935 | Diong | Nov 2005 | B2 |
6967565 | Lingermann | Nov 2005 | B2 |
6980868 | Huang et al. | Dec 2005 | B2 |
6990379 | Gonzales et al. | Jan 2006 | B2 |
7047092 | Wimsatt | May 2006 | B2 |
7130719 | Ehlers et al. | Oct 2006 | B2 |
7136709 | Arling | Nov 2006 | B2 |
7170422 | Nelson et al. | Jan 2007 | B2 |
7174385 | Li | Feb 2007 | B2 |
7200683 | Wang et al. | Apr 2007 | B1 |
7201356 | Huang | Apr 2007 | B2 |
7203486 | Patel | Apr 2007 | B2 |
7225037 | Shani | May 2007 | B2 |
7260604 | Kuki | Aug 2007 | B2 |
7370280 | Ho et al. | May 2008 | B2 |
7380250 | Schechter et al. | May 2008 | B2 |
7453685 | Lube | Nov 2008 | B2 |
7505889 | Salmonsen | Mar 2009 | B2 |
20010034754 | Elwahab et al. | Oct 2001 | A1 |
20010036192 | Chiles et al. | Nov 2001 | A1 |
20010039460 | Aisa | Nov 2001 | A1 |
20020000092 | Sharood et al. | Jan 2002 | A1 |
20020016639 | Smith et al. | Feb 2002 | A1 |
20020029085 | Park | Mar 2002 | A1 |
20020031120 | Rakib | Mar 2002 | A1 |
20020033760 | Kobayashi | Mar 2002 | A1 |
20020035404 | Ficco et al. | Mar 2002 | A1 |
20020044042 | Christensen | Apr 2002 | A1 |
20020047774 | Christensen | Apr 2002 | A1 |
20020111698 | Graziano et al. | Aug 2002 | A1 |
20020126443 | Zodnik | Sep 2002 | A1 |
20020152311 | Veltman et al. | Oct 2002 | A1 |
20020165953 | Diong | Nov 2002 | A1 |
20020174178 | Stawikowski | Nov 2002 | A1 |
20020180579 | Nagaoka et al. | Dec 2002 | A1 |
20020194328 | Hallenbeck | Dec 2002 | A1 |
20020196158 | Lee | Dec 2002 | A1 |
20030009515 | Lee et al. | Jan 2003 | A1 |
20030009537 | Wang | Jan 2003 | A1 |
20030028270 | Peterson et al. | Feb 2003 | A1 |
20030033028 | Bennett | Feb 2003 | A1 |
20030034898 | Shamoon et al. | Feb 2003 | A1 |
20030037166 | Ueno et al. | Feb 2003 | A1 |
20030040812 | Gonzales et al. | Feb 2003 | A1 |
20030040813 | Gonzales et al. | Feb 2003 | A1 |
20030040819 | Gonzales | Feb 2003 | A1 |
20030065407 | Johnson et al. | Apr 2003 | A1 |
20030069887 | Lucovsky et al. | Apr 2003 | A1 |
20030074088 | Gonzales | Apr 2003 | A1 |
20030083758 | Williamson | May 2003 | A1 |
20030101304 | King et al. | May 2003 | A1 |
20030103088 | Dresti et al. | Jun 2003 | A1 |
20030198938 | Murray | Oct 2003 | A1 |
20030200009 | von Kannewurff | Oct 2003 | A1 |
20030233432 | Davis et al. | Dec 2003 | A1 |
20040003051 | Krzyzanowski et al. | Jan 2004 | A1 |
20040004810 | Kim | Jan 2004 | A1 |
20040010327 | Terashima et al. | Jan 2004 | A1 |
20040010561 | Kim | Jan 2004 | A1 |
20040039459 | Daugherty et al. | Feb 2004 | A1 |
20040092282 | Kim et al. | May 2004 | A1 |
20040133314 | Ehlers | Jul 2004 | A1 |
20040138768 | Murray | Jul 2004 | A1 |
20040143629 | Bodin et al. | Jul 2004 | A1 |
20040176877 | Hesse | Sep 2004 | A1 |
20040213384 | Alles | Oct 2004 | A1 |
20040215694 | Podolsky | Oct 2004 | A1 |
20040215778 | Hesse et al. | Oct 2004 | A1 |
20040215816 | Hayes et al. | Oct 2004 | A1 |
20040237107 | Staples | Nov 2004 | A1 |
20040243257 | Theimer | Dec 2004 | A1 |
20040249922 | Hackman | Dec 2004 | A1 |
20040260407 | Wimsatt | Dec 2004 | A1 |
20040260427 | Wimsatt | Dec 2004 | A1 |
20040266439 | Lynch et al. | Dec 2004 | A1 |
20040267385 | Lingemann | Dec 2004 | A1 |
20040267876 | Kakivaya et al. | Dec 2004 | A1 |
20040267909 | Autret | Dec 2004 | A1 |
20050009498 | Ho | Jan 2005 | A1 |
20050021805 | De Petris et al. | Jan 2005 | A1 |
20050035717 | Adamson | Feb 2005 | A1 |
20050038708 | Wu | Feb 2005 | A1 |
20050055108 | Gonzales | Mar 2005 | A1 |
20050071419 | Lewontin | Mar 2005 | A1 |
20050080879 | Kim et al. | Apr 2005 | A1 |
20050085930 | Gonzales | Apr 2005 | A1 |
20050090915 | Geiwitz | Apr 2005 | A1 |
20050096753 | Arling et al. | May 2005 | A1 |
20050107897 | Callaghan | May 2005 | A1 |
20050108091 | Sotak | May 2005 | A1 |
20050113021 | Gosieski, Jr. et al. | May 2005 | A1 |
20050113943 | Nian | May 2005 | A1 |
20050119767 | Kiwimagi et al. | Jun 2005 | A1 |
20050119793 | Amundson et al. | Jun 2005 | A1 |
20050125083 | Kiko | Jun 2005 | A1 |
20050131551 | Ruutu | Jun 2005 | A1 |
20050131553 | Yoon et al. | Jun 2005 | A1 |
20050131558 | Braithwaite | Jun 2005 | A1 |
20050132405 | AbiEzzi | Jun 2005 | A1 |
20050149758 | Park | Jul 2005 | A1 |
20050159823 | Hayes et al. | Jul 2005 | A1 |
20050198063 | Thomas et al. | Sep 2005 | A1 |
20050198188 | Hickman | Sep 2005 | A1 |
20050198304 | Oliver et al. | Sep 2005 | A1 |
20050232583 | Kubota | Oct 2005 | A1 |
20050262227 | Heller et al. | Nov 2005 | A1 |
20050267605 | Lee et al. | Dec 2005 | A1 |
20050271355 | Gilor | Dec 2005 | A1 |
20060004920 | Hallenbeck | Jan 2006 | A1 |
20060009861 | Bonasia et al. | Jan 2006 | A1 |
20060020353 | Gonzales et al. | Jan 2006 | A1 |
20060053234 | Kumar et al. | Mar 2006 | A1 |
20060058900 | Johanson et al. | Mar 2006 | A1 |
20060069934 | Esch et al. | Mar 2006 | A1 |
20060106933 | Huang et al. | May 2006 | A1 |
20060118694 | Lee et al. | Jun 2006 | A1 |
20060126646 | Bedingfield, Sr. | Jun 2006 | A1 |
20060155802 | He et al. | Jul 2006 | A1 |
20070053376 | Oshima et al. | Mar 2007 | A1 |
20070073419 | Sesay | Mar 2007 | A1 |
20070083679 | Kikuchi | Apr 2007 | A1 |
20070104332 | Clemens et al. | May 2007 | A1 |
20070153459 | Wohlford et al. | Jul 2007 | A1 |
20070162567 | Ding | Jul 2007 | A1 |
20070247800 | Smith et al. | Oct 2007 | A1 |
20080108439 | Cole | May 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20070241945 A1 | Oct 2007 | US |
Number | Date | Country | |
---|---|---|---|
60782734 | Mar 2006 | US | |
60782598 | Mar 2006 | US | |
60782635 | Mar 2006 | US | |
60782596 | Mar 2006 | US | |
60782599 | Mar 2006 | US | |
60782600 | Mar 2006 | US | |
60782634 | Mar 2006 | US | |
60782595 | Mar 2006 | US | |
60785275 | Mar 2006 | US | |
60793257 | Apr 2006 | US | |
60747726 | May 2006 | US | |
60746287 | May 2006 | US | |
60786119 | Mar 2006 | US | |
60857774 | Nov 2006 | US |