US20100157989A1 - Application store and intelligence system for networked telephony and digital media services devices - Google Patents
Application store and intelligence system for networked telephony and digital media services devices Download PDFInfo
- Publication number
- US20100157989A1 US20100157989A1 US12/639,165 US63916509A US2010157989A1 US 20100157989 A1 US20100157989 A1 US 20100157989A1 US 63916509 A US63916509 A US 63916509A US 2010157989 A1 US2010157989 A1 US 2010157989A1
- Authority
- US
- United States
- Prior art keywords
- application
- interface
- devices
- applications
- button
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D11/00—Component parts of measuring arrangements not specially adapted for a specific variable
- G01D11/24—Housings ; Casings for instruments
- G01D11/245—Housings for sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/0001—Technical content checked by a classifier
- H01L2924/0002—Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T29/00—Metal working
- Y10T29/49—Method of mechanical manufacture
- Y10T29/49826—Assembling or joining
Definitions
- the present invention relates to systems, methods, and apparatuses that facilitate access to telephony and digital media services.
- IP Internet Protocol
- Traditional home/office telephones also do not provide access to a variety of Internet Protocol (IP) network-based applications and services, advanced media applications and graphics, or standard computer-based functions such as a contacts database, directory, instant messaging, calendar, news and weather.
- IP Internet Protocol
- telephony and digital media services may be provided to a plurality of locations, such as to a plurality of homes and offices, though the deployment of telephony and digital media services devices to the locations, wherein each device is configured to function as a voice, data and media information center.
- a system in accordance with one embodiment of the present invention includes an application store and an application intelligence subsystem implemented on one or more computers. Each of the application store and the application intelligence subsystem is communicatively connected via a network to a plurality of such telephony and digital media services devices.
- the application store is operable to provide applications via the network for installation and execution on each of the plurality of devices.
- the application intelligence subsystem is operable to obtain and report information about applications installed and executed on each of the plurality of devices.
- FIG. 1 depicts elements of a system for providing telephony and digital media services to a location, such as a home or office, in accordance with an embodiment of the invention.
- FIG. 2 is a back perspective view of a telephony and digital media services device in accordance with an embodiment of the invention.
- FIG. 3 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the invention.
- FIG. 4 is a block diagram of an alternative system for providing telephony and digital media services in accordance with an embodiment of the invention.
- FIG. 5 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the invention that supports multiple devices and handsets via an adapter unit in an environment in which a telecommunication carrier provides Voice over Internet Protocol (VoIP) service.
- VoIP Voice over Internet Protocol
- FIG. 6 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the invention that supports multiple devices and handsets via an adapter unit in an environment in which a telecommunications carrier provides POT service.
- FIG. 7 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the present invention that supports multiple devices and handsets via an adapter unit in an environment in which a telecommunications carrier provides VoIP service.
- FIG. 8 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the invention that supports multiple devices and handsets via an adapter unit in an environment in which a telecommunications carrier provides POT service.
- FIG. 9 depicts an embodiment of the invention in which an adapter unit within a system for providing telephony and digital media service provides PBX-like features to a user of a computer connected to the adapter unit.
- FIG. 10 is a hardware block diagram of a telephony and digital media services device in accordance with an embodiment of the invention.
- FIG. 11 is a hardware block diagram of a telephony and digital media services device designed for office environments in accordance with an alternate embodiment of the present invention.
- FIG. 12 is a block diagram of a software architecture of a telephony and digital media services device in accordance with an embodiment of the invention.
- FIG. 13 is a block diagram that depicts systems software elements of a telephony and digital media services device in accordance with an embodiment of the invention.
- FIG. 14 is a block diagram of an application framework that may be implemented by a telephony and digital media services device in accordance with an embodiment of the invention.
- FIG. 15 depicts an example application installation package that may be provided from a remote application server to a telephony and digital media services device in accordance with one embodiment of the present invention.
- FIG. 16 depicts an application manager that comprises two movie applications in accordance with an embodiment of the present invention.
- FIG. 17 depicts a manager movie portion of an application manager in accordance with an embodiment of the present invention.
- FIG. 18 depicts a theme movie portion of an application manager in accordance with an embodiment of the present invention.
- FIG. 19 is a diagram that illustrates a process for handling an asynchronous event associated with an inactive application during execution of an active application in accordance with an embodiment of the present invention.
- FIG. 20 is a diagram depicting the overlaying of a first application movie with a second application movie pursuant to an asynchronous event handling protocol in accordance with an embodiment of the present invention.
- FIG. 21 is a diagram depicting the use of a software watchdog timer to monitor application liveliness in accordance with an embodiment of the present invention.
- FIG. 22 illustrates an application that includes a first movie that comprises the business logic of the application and a second movie that comprises the graphical assets of the application in accordance with an embodiment of the present invention.
- FIG. 23 is a block diagram of system for logging and reviewing application usage information, system configuration information and system health information associated with one or more telephony and digital media services devices in accordance with an embodiment of the present invention.
- FIG. 24 depicts an example interface screen that may be presented by a system for reviewing application usage information associated with one or more telephony and digital media services devices in accordance with an embodiment of the present invention.
- FIG. 25 depicts another example interface screen interface screen that may be presented by a system for reviewing application usage information associated with one or more telephony and digital media services devices in accordance with an embodiment of the present invention.
- FIG. 26 depicts an example interface screen that may be presented by a system for reviewing application usage information, system configuration information and system health information associated with one or more telephony and digital media services devices in accordance with an embodiment of the present invention.
- FIG. 27 is a front perspective view of a handset in accordance with an embodiment of the present invention.
- FIG. 28 is a back view of a handset in accordance with an embodiment of the present invention.
- FIG. 30 is a back perspective view of a handset docking station in accordance with an embodiment of the present invention.
- FIG. 31 depicts an example home graphical user interface (GUI) screen that may be displayed by a telephony and digital media services device in accordance with an embodiment of the present invention.
- GUI home graphical user interface
- FIG. 32 depicts an example GUI screen for a telephony application in accordance with an embodiment of the present invention.
- FIG. 33 depicts an example GUI screen for a call log application in accordance with an embodiment of the present invention.
- FIG. 34 depicts an example GUI screen for a voicemail application in accordance with an embodiment of the present invention.
- FIG. 35 depicts an example GUI screen for a contacts application in accordance with an embodiment of the present invention.
- FIG. 36 depicts an example GUI screen for a weather application in accordance with an embodiment of the present invention.
- FIG. 37 depicts an example GUI screen for a movie showtimes application in accordance with an embodiment of the present invention.
- FIGS. 42 and 43 depict a GUI screen for a video player application in accordance with an embodiment of the present invention.
- FIG. 45 depicts a further GUI screen for a media application in accordance with an embodiment of the present invention in which a podcasts interface is displayed.
- FIG. 46 depicts an example GUI screen for a cameras application in accordance with an embodiment of the present invention.
- FIG. 47 depicts an additional example GUI screen for a cameras application in accordance with an embodiment of the present invention.
- FIG. 48 depicts an example GUI screen for a news application in accordance with an embodiment of the present invention.
- FIG. 49 depicts an additional example GUI screen for a news application in accordance with an embodiment of the present invention.
- FIG. 50 depicts an example GUI screen for a horoscopes application in accordance with an embodiment of the present invention.
- FIG. 51 depicts an additional example GUI screen for a horoscopes application in accordance with an embodiment of the present invention.
- FIG. 52 depicts an example GUI screen for a recipes application in accordance with an embodiment of the present invention.
- FIG. 53 depicts an additional example GUI screen for a recipes application in accordance with an embodiment of the present invention.
- FIG. 55 depicts an additional example GUI screen for a calendar application in accordance with an embodiment of the present invention.
- FIG. 56 depicts an example GUI screen for an Internet radio application in accordance with an embodiment of the present invention.
- FIG. 57 depicts an example GUI screen for a stocks application in accordance with an embodiment of the present invention.
- FIG. 58 depicts an example GUI screen for an Internet video application in accordance with an embodiment of the present invention.
- FIG. 59 depicts an example GUI screen for an Internet-based photo application in accordance with an embodiment of the present invention.
- FIG. 60 depicts an example GUI screen for an alarm application in accordance with an embodiment of the present invention.
- FIG. 62 depicts an example GUI screen for a screensaver application in accordance with an embodiment of the present invention.
- FIG. 63 depicts an example GUI screen for a directory services application in accordance with an embodiment of the present invention.
- FIG. 64 depicts an example GUI screen for a memos application in accordance with an embodiment of the present invention.
- FIG. 65 depicts an example GUI screen for a television (TV) programming guide application in accordance with an embodiment of the present invention.
- FIG. 66 depicts an example GUI screen for a network setup application in accordance with an embodiment of the present invention.
- FIG. 68 depicts an example GUI screen for an advanced network setup application in accordance with an embodiment of the present invention.
- FIG. 69 depicts an example GUI screen for a home control application in accordance with an embodiment of the present invention.
- FIG. 70 depicts an overlay interface for performing home control functions associated with a selected room that may be displayed over the GUI screen of FIG. 69 in accordance with an embodiment of the present invention.
- FIG. 71 depicts a further overlay interface for performing a selected home control function that may be displayed over the GUI screen of FIG. 69 in accordance with an embodiment of the present invention.
- FIG. 72 is a block diagram of a system in accordance with an embodiment of the present invention that includes a services platform for enabling entities to deploy, manage optimize and monitor a network of telephony and multimedia services devices.
- FIG. 73 depicts four main areas of an application store life cycle in accordance with an embodiment of the present invention.
- FIG. 74 depicts an example GUI screen that may be used to provide an interface to application store in accordance with an embodiment of the present invention.
- FIG. 75 is a block diagram that shows how a content aggregation subsystem may be used to aggregate content from multiple content providers in accordance with an embodiment of the present invention.
- FIG. 76 is a block diagram of a system in accordance with an embodiment of the present invention that obtains directory services information from a single IP-based directory for presentation on a telephony and digital media services device.
- FIG. 77 is a block diagram of a system in accordance with an embodiment of the present invention that obtains directory services information from multiple IP-based directories for presentation on a telephony and digital media services device.
- FIG. 78 is a block diagram of a system in accordance with an embodiment of the present invention that obtains premium placement directory services information, standard directory services information and advertisements for presentation on a telephony and digital media services device.
- FIG. 79 is a block diagram of a system in accordance with an embodiment of the present invention that uses click-to-dial reporting to provide community-based popularity information for presentation on a telephony and digital media services device.
- FIG. 80 depicts various components of a directory services application in accordance with an embodiment of the present invention.
- FIG. 1 depicts elements of a system 100 for providing telephony and digital media services to a location, such as a home or office, in accordance with an embodiment of the present invention.
- digital media services broadly refers to any service that is based on the transfer and/or presentation of digital content to a user.
- system 100 includes a telephony and digital media services device (“device”) 110 and associated handsets 120 .
- device 110 includes a display 112 .
- Display 112 is used to provide a graphical user interface (GUI) that enables a user to initiate, manage and experience telephony and digital media services provided by system 100 .
- GUI graphical user interface
- display 112 comprises a color LCD display with a capacitive touch screen panel.
- a user may interact with the GUI by touching display 112 with a finger.
- Handsets 120 are configured to wirelessly communicate with device 110 for the purposes of providing telephony services and to optionally provide other services to a user. In one embodiment, such communications are carried out in accordance with the Digital Enhanced Cordless Telecommunications (DECT) standard published by the European Telecommunications Standards Institute (ETSI). Thus, in one embodiment, device 110 is configured to act as a DECT base station and handsets 120 are configured to act as DECT handsets. Other communication configurations will be discussed elsewhere herein.
- DECT Digital Enhanced Cordless Telecommunications
- ETSI European Telecommunications Standards Institute
- device 110 and handsets 120 may be communicatively connected to a telecommunications carrier and/or Internet Protocol (IP) network.
- IP Internet Protocol
- FIG. 3 depicts connectivity aspects of a first example installation 300 .
- device 110 is communicatively connected to a remote telecommunication carrier switch 302 and is configured to receive Voice over Internet Protocol (VoIP) telephony services therefrom via a VoIP connection.
- VoIP connection may be implemented, for example, over a broadband data service such as Digital Subscriber Line (DSL), Integrated Services Digital Network (IDSN), data over cable, T1/T3, optical carrier, carrier-class Ethernet, satellite or any other suitable data service.
- DSL Digital Subscriber Line
- IDSN Integrated Services Digital Network
- T1/T3 optical carrier
- carrier-class Ethernet satellite or any other suitable data service.
- device 110 connects to the appropriate data service via an Ethernet interface or WiFi interface, although these are only examples.
- the broadband data service may be also used by device 110 to provide other services, such as digital media services, to a user.
- FIG. 4 depicts connectivity aspects of an alternative example installation 400 .
- a carrier switch 402 is configured to perform shared trunking. This allows multiple devices, including device 110 and additional device(s) 410 , to be associated with the same telephone number for the purposes of receiving incoming telephony calls. As shown in FIG. 4 , a separate VoIP connection is maintained between carrier switch 402 and each device. Additionally, each device is associated with one or more handsets (e.g., device 110 is associated with handsets 120 , each of device(s) 410 is associated with corresponding handset(s) 420 ) and communicates wirelessly therewith using DECT.
- a limitation of installation 400 is that the handsets associated with one device cannot communicate with handsets associated with another device through standard DECT intercom mechanisms because each handset is configured to communicate with a different DECT base station.
- FIG. 5 depicts an alternate installation 500 that supports multiple devices 506 and handsets 508 via an adapter unit 504 in an environment in which a telecommunication carrier provides VoIP service.
- devices 506 do not act as DECT base stations but instead are configured to operate as DECT clients in a like manner to handsets 508 .
- Adapter unit 504 is installed on-site along with devices 506 and handsets 508 and is connected to a remote carrier switch 502 .
- Adapter unit 504 includes an Analog Terminal Adapter (ATA) and DECT base station 510 .
- ATA Analog Terminal Adapter
- DECT base station 510 As will be appreciated by persons skilled in the relevant art(s), an ATA comprises an adapter that allows a Plain Old Telephony System (POTS) telephone to interface to a VoIP provider.
- POTS Plain Old Telephony System
- installation 500 devices 506 and handsets 508 perform telephony-related operations by communicating via the DECT protocol with the DECT base station within ATA and DECT base station 510 .
- Installation 500 also advantageously supports the operation of legacy POTS equipment (such as POTS telephones, fax machines and security systems) by allowing such equipment to be connected via a POTS interface to the ATA within ATA and DECT base station 510 .
- legacy POTS equipment such as POTS telephones, fax machines and security systems
- Adapter unit 504 further includes a Wi-Fi access point (i.e., an IEEE 802.11 access point) and/or Ethernet switch 512 .
- This element provides access to the Internet via an IP link.
- the IP link may be supported by the same data service and physical transport media used to support the VoIP connection with carrier switch 502 .
- each of devices 506 is communicatively connected to Wi-Fi access point/Ethernet switch 512 for the purpose of accessing digital media that may be used to provide services to a user.
- Wi-Fi access point/Ethernet switch 512 is not integrated within adapter unit 504 but instead comprises one or more separate stand-alone devices.
- FIG. 6 depicts an installation 600 that supports multiple devices 606 and handsets 608 via an adapter unit 604 in an environment in which a telecommunications carrier provides POTS service.
- devices 606 do not act as DECT base stations but instead are configured to operate as DECT clients in a like manner to handsets 608 .
- Adapter unit 604 which includes a DECT base station 610 and a Wi-Fi access point and/or Ethernet switch 612 , is installed on-site along with devices 606 and handsets 608 .
- DECT base station 610 is connected to a carrier switch 602 via a POTS interface.
- Wi-Fi access point/Ethernet switch 612 provides access to the Internet via an IP link that is not associated with carrier switch 602 . Such IP link may be provided using any known data service/physical transport media combination.
- each of devices 606 is communicatively connected to Wi-Fi access point/Ethernet switch 612 for the purpose of accessing digital media that may be used to provide services to a user.
- Wi-Fi access point/Ethernet switch 612 is not integrated within adapter unit 604 but instead comprises one or more separate stand-alone devices.
- FIG. 7 depicts an alternate installation 700 that supports multiple devices 706 and handsets 708 via an adapter unit 704 in an environment in which a telecommunications carrier provides VoIP service.
- VoIP services are provided directly to devices 706 and handsets 708 .
- adapter unit 704 is installed on-site along with devices 706 and handsets 708 .
- Adapter unit 704 includes an ATA and a Session Initiation Protocol (SIP) proxy 710 that is communicatively connected to a carrier switch 702 via a VoIP connection.
- Adapter unit 704 also includes a Wi-Fi access point and/or Ethernet switch 712 that is communicatively connected to carrier switch 702 via an IP link and to ATA and SIP proxy 710 .
- SIP Session Initiation Protocol
- FXO gateway 810 allows devices 806 to register with it and maintains a local numbering plan.
- FXO gateway 810 essentially operates as a home PBX. Communication between each device 806 and FXO gateway 810 is via Wi-Fi access point/Ethernet switch 812 .
- each handset 808 is also capable of communicating with FXO gateway 810 via Wi-Fi or some other protocol capable of supporting SIP communication.
- FXO gateway in turn communicates with carrier switch 802 via one or more POTS lines.
- the adapter unit may also be configured to allow a user to manage permissions for each connected device or handset.
- permissions may include, for example: time-of-day restrictions on calls (e.g., no calls after 10:00 PM except for 911 calls); dialing restrictions (e.g., no calls to 1-900 numbers or international numbers); call restrictions (e.g., no outgoing calls or no incoming calls); and restrictions on the ability to modify device settings or add/modify/delete contacts.
- time-of-day restrictions on calls e.g., no calls after 10:00 PM except for 911 calls
- dialing restrictions e.g., no calls to 1-900 numbers or international numbers
- call restrictions e.g., no outgoing calls or no incoming calls
- restrictions e.g., no outgoing calls or no incoming calls
- the adapter unit may also be configured to present a user with status information associated with each device/handset.
- status information may include, and is not limited to, whether a device is in use, whether a device is still functioning (i.e., whether the device is “alive” or “dead”), and other properties associated with a device.
- FIG. 10 is a block diagram of an example hardware architecture 1000 of device 110 .
- This hardware architecture is described by way of example only and is not intended to limit the present invention. Persons skilled in the relevant art(s) will readily appreciate that other hardware architectures may be used to implement device 110 that are within the scope and spirit of the present invention.
- hardware architecture 1000 includes an embedded processor and system controller hub 1002 that is connected to a plurality of peripheral devices or chips.
- the embedded processor is preferably one that has been designed for use in portable and low-power applications, such as Mobile Internet Devices (MIDs).
- the system controller hub comprises a chipset that handles peripheral input/output (I/O) and performs memory and power management functions for the embedded processor.
- the embedded processor comprises a 1.1 Gigahertz (GHz) Intel® AtomTM processor designed and sold by Intel Corporation of Santa Clara, Calif.
- the system controller hub comprises the Intel® System Controller Hub US15W Chipset, also designed and sold by Intel Corporation of Santa Clara, Calif., although this is only one example.
- hardware architecture 1000 includes volatile system memory in the form of SDRAM (Synchronous Dynamic Random Access Memory) 1004 .
- the embedded processor supports an integral 64-bit-wide 4-Gigabits (Gbits) of DDR2 (Double Data Rate 2) SDRAM clocked at 533 Megahertz (MHz).
- SDRAM 1004 may comprise four 512 Megabit (Mbit) DDR2 SDRAM 667 MHz integrated circuits (ICs) directly mounted onto a motherboard along with embedded processor and system controller hub 1002 .
- the capacity may be increased from 512 Megabytes (MB) to 1 gigabyte (GB) by populating the board with four 1 Gbit ICs instead.
- MB Megabytes
- GB gigabyte
- Hardware architecture 1000 also includes non-volatile memory in the form of a managed NAND flash memory 1006 , although other forms of non-volatile memory may be used.
- managed NAND flash memory 1006 comprises a 512 MB or 1 GB MMC NAND flash memory that is mounted on a motherboard along with embedded processor and system controller hub 1002 .
- MMC NAND flash memory avoids the inclusion in device 110 of spinning media storage devices, such as hard disk drives or optical drives.
- the use of an MMC NAND flash memory also means that it is not necessary to employ wear-leveling and error correction when using a file system such as YAFFS2 and that an EXT3 file system can be used instead.
- Hardware architecture 1000 further includes a chip 1008 for storing the system BIOS.
- chip 1008 comprises an 8 Mbit NOR flash memory that is connected to the system controller hub via a Low Pin Count (LPC) bus, although this is only an example.
- LPC Low Pin Count
- Hardware architecture 1000 also includes a DECT processor 1012 .
- DECT processor 1012 comprises a DECT base station processor that supports up to five handsets.
- a GPIO connection from the embedded processor may be used to reset the device by turning its power supply off and then on again.
- a Universal Serial Bus (USB) is used to transfer audio (e.g., up to four channels of audio) in each direction between DECT processor 1012 and the system controller hub.
- DECT processor 1012 may be configured to act as the bus master and drive the USB bus. In an implementation in which the maximum speed of the USB bus is 4.096 MHz, DECT processor 1012 may drive the USB bus with a bit clock rate of 2.048 MHz.
- a main application running on the embedded processor sends a request message to DECT processor 1012 or to one of handsets 120 via DECT processor 1012 .
- the message recipient performs the requested actions and returns a response.
- a spontaneous action such as a handset going off-hook or propagating a name or address book update can generate an event message to be sent from DECT processor 1012 to the embedded processor.
- DECT processor 1012 is configured to execute acoustic echo cancellation (AEC) software.
- AEC acoustic echo cancellation
- a microphone and speakers 1024 internal to device 110 are connected directly to DECT processor 1012 whenever speakerphone functionality of device 110 is in use.
- speaker and microphone 1024 are connected to an audio codec 1022 .
- hardware architecture 1000 includes an internal microphone and speakers 1024 .
- the microphone may comprise a mono microphone and the speakers may comprise stereo speakers with an associated stereo amplifier.
- the speakers may be driven by an audio codec 1022 .
- audio codec 1022 comprises a 2-channel audio codec such as the Intel® High Definition Audio (HDA) system designed and sold by Intel Corporation of Santa Clara, Calif.
- HDA High Definition Audio
- audio codec 1022 connects to embedded processor and system controller hub 1002 via an HDA bus.
- a stereo jack may be provided on device 110 for connecting headphones or an external amplifier and speakers to audio codec 1022 .
- the internal speakers are automatically disconnected and their amplifier is powered down.
- the state of this jack may be determined by software.
- LCD display 1016 may be used in both a transmissive mode and a reflective mode.
- a color display may be used when in the transmissive mode and a very low-power monochrome display may be used when in the reflective mode.
- the LCD backlight for the transmissive mode may be provided by white light emitting diodes (LEDs).
- LEDs white light emitting diodes
- multiple LEDs may be connected in series into three chains in order to equalize their brightness. These chains may then be powered in parallel. LEDs from all three chains may be interleaved to minimize the impact of a single chain burning out.
- up to 60 milliamps (mA) of current at 25.6 Volts (V) is provided to drive the backlight.
- Two signals may be used to control the backlight operation. The first signal enables/disables the backlight and the second signal is pulse-width modulated to generate a voltage that varies the brightness of the backlight.
- a touch panel is integrated with LCD display 1016 to provide a user interface to device 110 .
- the touch panel includes an integrated programmable system on chip (PSOC) controller 1014 that is connected to embedded processor and system controller hub 1002 via a USB bus.
- PSOC system on chip
- Hardware architecture 1000 further includes an internal Wi-Fi controller 1018 for supporting wireless networking.
- Wi-Fi controller 1018 is connected to embedded processor and system controller hub 1002 via a USB interface.
- Wi-Fi controller 1018 comprises an 802.11b/g controller.
- Wi-Fi controller 1018 comprises an 802.11b/g/n controller.
- Wi-Fi controller 1018 may include an integrated internal antenna.
- Hardware architecture 1000 may further include an external USB 2.0 port (not shown in FIG. 10 ) that connects to embedded processor and system controller hub 1002 via a USB bus. Also not shown in FIG. 10 is a power supply that is connected to hardware architecture 1000 and supplies power thereto. In one embodiment the power supply comprises a 5V, 4A AC power supply.
- Hardware architecture 1100 does include some additional elements as compared to hardware architecture 1000 . These include a Bluetooth® adapter 1126 , an Ethernet switch 1130 , and a Power over Ethernet (PoE) connector.
- Bluetooth® adapter 1126 allows an end user to invoke the telephony features of device 110 using a Bluetooth® cordless headset or like device.
- Bluetooth® adapter 1126 may be connected to embedded processor and system controller hub 1102 via a USB bus.
- hardware architecture 1100 may also include an integrated charger that allows an end user to charge the battery or batteries of a Bluetooth® cordless headset or like device by plugging the device into a USB port, mini-USB port, or other suitable port of device 110 .
- Ethernet switch 1130 comprises a multi-port (e.g., two-port) Ethernet switch with an additional port host interface via PCIe.
- Ethernet switch 1130 provides a convenient Internet pass-through for other network-capable devices (e.g., personal computers, laptops, printers, storage devices, or the like) that might be used in an office environment. Because it is a switch, Ethernet switch 1130 allows multiple Ethernet devices to be connected to a single Ethernet connection in a non-interfering manner.
- PoE connector 1130 comprises a connector that allows power to be delivered to device 110 via an Ethernet connection.
- PoE connector 1130 comprises an eight-pin RJ-45 connector that uses two pairs for power (two for + and two for ⁇ ) as well as the normal two pairs for data (1-2, 3-6).
- a switching regulator with good isolation (transformer and opto-coupler).
- hardware architecture 1100 may further include a fingerprint scanner that allows device 110 to be placed in a locked/unlocked state by only authorized user(s). Such protection may be deemed desirable in an office environment.
- the configuration of device 110 e.g., owner, phone number, contacts, etc.
- the configuration of device 110 may be determined based on the fingerprint used to unlock device 110 .
- FIG. 11 The other components shown in FIG. 11 (embedded processor and system controller hub 1102 , SDRAM 1104 , managed NAND 1106 , BIOS 1108 , power management 1110 , touch panel controller 1114 , LCD display 1116 , audio codec 1122 and microphone/speakers 1124 ) are generally similar to like-named elements of hardware architecture 1000 , although certain implementation details may vary. These components will not be described herein for the sake of brevity.
- operating system 1204 that provides a context for the execution of system and application processes that will be described in more detail herein.
- operating system 1204 comprises a Linux-based operating system, such as an Ubuntu® MID Edition operating system based on Linux kernel release 2.6.24, although this is only an example.
- operating system 1204 is optimized through custom configuration for a small size and rapid startup.
- software architecture 1200 includes a plurality of device drivers 1210 , each of which provides an abstraction layer between a hardware peripheral and the system and/or application processes that use it.
- device drivers 1210 include a device driver 1212 for facilitating interaction with a display, a device driver 1214 for facilitating interaction with a touch panel associated with the display, a device driver 1216 for facilitating interaction with a Universal Serial Bus (USB) device or port, a device driver 1218 for facilitating interaction with a power management device, and a device driver 1220 for facilitating interaction with a managed NAND flash memory.
- USB Universal Serial Bus
- software architecture 1200 also includes a plurality of shared system libraries 1220 that contain code and data that may be used to provide services to independent programs running in the context of operating system 1204 .
- System libraries 1220 include codecs 1222 , cryptographic functions 1224 , home device management services 1226 , and other system libraries 1228 .
- Codecs 1222 are utilized for performing compression and decompression of multimedia content such as images, audio content and video content.
- Codecs 1222 may include, for example, codecs for compressing/decompressing images in accordance with one or more of the JPEG, TIFF, PNG, GIF and BMP image compression formats, codecs for compressing/decompressing audio content in accordance with one or more of the MP3, WAV, WMA and RealAudio audio compression formats, and codecs for compressing/decompressing video content in accordance with one or more of the MPEG-2, MPEG-4 part 2, MPEG-4 part 10 (H.264), WMV 9, DivX, VC1 and FLV compression formats.
- these are only examples and other types of codecs may be used.
- Cryptographic functions 1224 comprises a library of cryptographic algorithms and tools that may be utilized for encrypting and decrypting data.
- End-user device management services 1226 include functions necessary to implement protocols for remotely managing end-user devices, such as protocols in accordance with the DSL Forum Technical Specifications TR-069/TR-111.
- software architecture 1200 also includes an operating system (OS) abstraction layer 1206 that runs atop operating system 1204 .
- OS abstraction layer 1206 serves to insulate any component running above it (e.g. application player 1208 and applications 1240 ) from any idiosyncrasies of operating system 1204 . This serves to localize the efforts of porting applications to a single component.
- Software architecture 1200 further includes a plurality of class modules 1230 .
- Class modules 1230 comprise libraries, such as C and/or C++ libraries, that may be used by certain applications to perform certain functions.
- class modules 1230 define function calls that can be made available to one or more applications running in the context of application player 1208 .
- class modules 1230 may define ActionScript function calls that can be made available to one or more Shockwave Flash (SWF) applications that are executed by application player 1208 .
- SWF Shockwave Flash
- class modules 1230 may be downloaded to telephony and digital media services device 110 along with applications that they support.
- Class modules 1230 include an application (app) manager/loader 1232 which provides functionality for an application (app) manager application 1244 , a media player 1234 that provides functionality for applications that play back digital media, and a VoIP module 1236 that provides functionality for a VoIP telephony application 1246 .
- VoIP module 1236 may provide, for example, access to SIP functionality, audio engine functionality and DECT functionality used in performing VoIP telephony operations.
- Class modules 1230 also include additional class modules 1238 as well. Additional class modules 1238 may include, for example, APIs for sending requests to Web services made available over a Wide Area Network (WAN) such as the Internet and receiving content responsive to the requests.
- WAN Wide Area Network
- these applications may include a status/monitoring application 1242 , an application (app) manager 1244 , a VoIP telephone 1246 , a local or network calendar 1248 , a YouTubeTM application 1250 , a traffic monitoring application 1252 , a news application 1254 , an alarm clock 1256 , and other applications 1258 .
- Other applications 1258 may include for example, a calculator, a local or network address book, a media player, an Internet radio/video application, a weather application, a comics application, a to-do list application, a world clocks application, a countdown timer (e.g., days until Christmas), a games application (e.g., solitaire, Soduko, Tetris, etc.), a Web browser, an e-mail application, a city guide application, a wireless cameras application, a home monitoring application, a home control application (e.g.
- Flash® applications to implement the various GUI screens of device 110 provides distinct advantages over using more traditional programming languages such as C or C++. For example, development of GUI screens using Flash® is simpler and easier as compared to programming bit maps in C code. Furthermore, because Flash® files are small, a complex GUI screen may be rendered smoothly and at very high speeds. Also the use of Flash® applications provides a distinct separation between the implementation of a GUI screen and the underlying functionality, such that the GUI screen may be constructed, revised or upgraded without affecting underlying programs.
- FIG. 13 is a block diagram that depicts systems software elements 1300 of the software architecture of device 110 in accordance with an embodiment of the present invention.
- systems software elements 1300 include a BIOS 1302 , a boot loader 1304 , an operating system 1306 , a file system 1308 , and system files 1310 . Each of these elements will now be described.
- BIOS 1302 defines a software interface between the operating system and the platform firmware and hardware of device 110 .
- BIOS 1302 is stored in non-volatile memory that is connected to a system controller hub within device 110 and is executed automatically at system startup.
- BIOS 1302 is stored in an 8 Mbit NOR flash memory that is connected to the system controller hub via an LPC bus.
- BIOS 1302 comprises a software interface defined in accordance with the Extensible Firmware Interface (EFI) specification.
- EFI Extensible Firmware Interface
- BIOS 1302 comprises a software interface defined in accordance with the Extensible Firmware Interface (EFI) specification.
- EFI comprises an improved replacement of the legacy BIOS used by all IBM PC-compatible computers.
- EFI has a modular structure that provides a set of modular interfaces that replace the traditional BIOS interfaces. EFI dramatically shortens boot times and improves the reliability of the boot architecture while providing full legacy support.
- Boot loader 1304 comprises a program that is launched by BIOS 1302 during system startup and that is configured to load operating system 1306 of device 110 .
- operating system 1306 comprises a Linux-based operating system, such as an Ubuntu® MID Edition operating system based on Linux kernel release 2.6.24, that has been optimized through custom configuration for a small size and rapid startup.
- file system 1308 comprises two distinct file systems: a Virtual File Allocation Table (VFAT) file system that is used to store boot loader 1304 and an EXT3 file system that is used to store operating system files and application files.
- VFAT Virtual File Allocation Table
- a VFAT file system may be required for storing boot loader 1304 in an implementation in which BIOS 1302 comprises an EFI BIOS that can only read files from a VFAT file system.
- boot loader 1304 selects the fail-safe kernel instead of the updateable kernel image based on a flag stored in non-volatile storage, which as noted above may comprise a managed NAND flash memory.
- This flag may be set to select the fail-safe kernel by a process monitor daemon when the process monitor daemon determines that the operating system has been in an unresponsive state for a period of time that equals or exceeds a predetermined period of time.
- the flag may also be set to select the fail-safe kernel when the system first boots and may be reset to select the updateable kernel upon successful startup of the operating system and process monitor daemon. If the system fails to boot, then a subsequent attempt to boot will force the fail-safe kernel image to boot.
- the non-volatile memory comprises a managed NAND flash memory
- certain features may be implemented to ensure that the EXT3 file system is written to as seldom as possible in order to extend the useful life of the managed NAND flash memory.
- These features may include, for example, configuring applications that access the EXT3 file system to ensure that such applications do not frequently write files to the file system and configuring the length of a journaling interval of the EXT3 file system so that the lifetime of the managed NAND flash memory will extend beyond the expected lifetime of device 110 .
- Another feature that may be used to extend the life of the managed NAND flash memory comprises turning off a feature of the EXT3 file system that records the last access time of a file.
- FIG. 14 is a block diagram of an application framework 1400 that may be implemented by device 110 .
- application framework 1400 includes an application player 1402 that is analogous to application player 1208 described above in reference to FIG. 12 .
- Application player 1402 provides native support for a plurality of ActionScript function calls.
- application player 1402 may be enhanced by adding custom software libraries, such as custom C/C++ libraries, that define additional ActionScript function calls.
- Such libraries are denoted class modules 1406 in FIG. 14 and are analogous to class modules 1230 described above in reference to FIG. 12 .
- a class module 1406 may be introduced in conjunction with a new application. Also, several class modules 1406 may be provided as part of an initial deployment to assist applications with common functionality such as usage monitoring and language translations.
- install.sh is the name of an install shell script
- uninstall.sh is the name of an uninstall shell script
- icon_appl.swf is the name of the icon movie used to represent the application on the GUI
- app_appl.swf is the name of the application movie
- language.XML is an XML file that includes representations of text elements to be displayed by the application in one or more languages.
- Manager movie 1602 consists of three layers as illustrated in FIG. 17 : a watermark layer 1702 , a theme layer 1704 and a splash screen layer 1706 .
- Watermark layer 1702 is optional and is reserved for a branding statement that is viewable via transparent application layers.
- theme layer 1704 serves as a container in which theme movie 1604 is loaded.
- Splash screen layer 1706 is visible during initialization time. Once theme movie 1604 has been loaded, splash screen layer 1706 becomes transparent. Splash screen layer 1706 may contain minimal graphical assets.
- theme movie 1604 One purpose of theme movie 1604 is to provide a vehicle by which a service provider deploying device 110 can customize the look and feel of the GUI of device 110 .
- Theme movie 1604 consists of four layers as illustrated in FIG. 18 : an icon layer 1802 , an application layer 1804 , a status bar layer 1806 and a screen saver layer 1808 .
- Icon layer 1802 is used to present small graphic representations of the various applications that are available on device 110 . Each icon presented within icon layer 1802 itself comprises a movie.
- Application layer 1804 is reserved for the application movies that are executed by application player 1402 . Within this layer, multiple applications can be stacked. When a user selects an icon, the corresponding application is launched by pushing it onto the application layer stack, hiding icon layer 1802 .
- the foregoing application framework further provides common components for alerts, keyboards, a movie player, options, and a photo viewer. Applications may interact with these components via ActionScript listener objects.
- an embodiment of the invention espouses a solution that allows a class module 1406 to surface an asynchronous event during a period when its corresponding application movie is not active.
- each icon movie associated with an application is required to register an event listener with its corresponding class module.
- the corresponding icon movie is notified directly.
- the icon movie requests that application manager 1404 launch the application represented by the icon movie—for example, the icon movie may request that application manager 1404 launch a specified application URL.
- phone icon movie 1904 requests that application manager 1404 launch the appropriate application for handling the event, which in this case is an incoming call application 1908 .
- Requesting that application manager 1404 launch incoming call application 1908 may comprise requesting that application manager 1404 launch a specified URL associated with incoming call application 1908 .
- application manager 1404 Prior to launching incoming call application 1908 , application manager 1404 places a function call to a currently-active YouTubeTM application 1906 as shown at step 1916 .
- This function call is denoted “onFocusOut” in FIG. 19 .
- Placement of this function call allows YouTubeTM application 1906 to take some action in advance of launching of incoming call application 1908 . This action may comprise, for example, pausing playback of a movie or some other action.
- step 1924 after incoming call application 1908 has been dismissed, application manager 1404 places a function call to currently inactive YouTubeTM application 1906 as shown at step 1924 .
- This function call is denoted “on FocusIn” in FIG. 19 . Placement of this function call allows YouTubeTM application 1906 to take some action responsive to the dismissal of incoming call application 1908 . This action may comprise, for example, resuming playback of a movie or some other action.
- FIG. 21 provides a diagram illustrating such an approach.
- application process 2102 sends a registration message 2112 to register itself with a process monitor daemon 2104 .
- application process 2102 periodically sends messages 2114 to process monitor daemon 2104 to prove that it is still operating.
- process monitor daemon 2104 resets a watchdog timer. If process monitor daemon 2104 fails to receive a message from application process 2102 after a period of time that is greater than or equal to the maximum value of the watchdog timer, denoted silent period 2116 in FIG. 21 , process monitor daemon 2104 assumes that application process 2102 is unresponsive, terminates application process 2102 , and then restarts it as denoted by reference numeral 2118 in FIG. 21 .
- Process monitor daemon 2104 may also be configured to monitor the operating condition of the operating system of device 110 using a watchdog timer in a like manner to that described above in reference to FIG. 21 . If the watchdog timer expires before the operating system sends a reporting message to process monitor daemon 2104 , then process monitor daemon 2104 forces a reboot of the operating system.
- each service provider may want the application to reflect its own graphical theme.
- an embodiment of the invention implements each application as two movies. An example of this is depicted in FIG. 22 , which shows an application 2200 that comprises a first movie 2202 that comprises the business logic of the application and a second movie 2204 that comprises the graphical assets of the application. This approach advantageously allows an application to be ported by simply replacing theme movie 2204 , removing most of the risks of regression.
- multiple language support is achieved by enabling applications to query application manager 1404 for text translation.
- the active language can be defined on a user or device basis.
- application manager 1404 launches an application, it will pass a unique application identifier, which may be referred to as a global unique identifier (GUID), to the application using an application programming interface (API).
- GUID global unique identifier
- API application programming interface
- the launched application passes the GUID, an identifier of the text to be translated, and optionally the language to translate to.
- application manager 1404 uses a system default language (e.g., English).
- Application manager 1404 returns the corresponding text in the selected language from a language XML file associated with the application.
- the functions for querying for and obtaining text translation may be included within internationalization class module 1412 in FIG. 14 .
- An embodiment of the present invention provides the ability to log application usage, system configuration and system health to a remote server.
- each application notifies status/monitoring class module 1414 of page transitions and other events, such as placing a phone call, clicking a button, or entering a search term. The amount of detail reported may vary from application to application.
- Application manager 1404 also contacts status/monitoring class module 1414 to report application launch and exit events. In an embodiment, application launch occurs when a user activates an application icon and application exit occurs when a user returns back to the icon screen.
- status/monitoring class module 1414 accumulates the reported event information in event logs and periodically sends the logs to a configured remote logging server 2302 .
- status/monitoring class module 1414 will attempt to send this data every five minutes by default. If logging server 2302 is not reachable, status/monitoring class module 1414 will append new events to the log and then will attempt to send the data again.
- the number of events that may be added to a log may be limited to some predefined number. Events may be marked with timestamps indicative of the time at which each event occurred.
- the timestamps are stored as relative offsets so as not to rely on the time of day setting on each specific device 110 . In accordance with such an embodiment, the offsets may be converted to a time-of-day timestamp at logging server 2302 .
- Logging server 2302 is configured to receive a sequence of logs from a plurality of deployed devices 110 and to add each log record to a database 2304 , which is shown in FIG. 23 .
- a front end such as a Web front end, executing on a computer 2306 may then be used to provide a human-friendly interface for viewing the data.
- the Web pages may comprise PHP programs that perform Structured Query Language (SQL) queries on the data and allow a user to examine aspects such as the top applications used by a specific group of users or the amount of time customers spend in different applications. Understanding which applications are most popular is valuable to service providers deploying applications via devices 110 . Such information can be used, for example, to perform trend spotting and to drive new application development.
- SQL Structured Query Language
- FIG. 24 depicts an example interface screen 2400 that may be presented by computer 2306 in accordance with an embodiment of the present invention.
- interface screen 2400 presents a bar chart 2402 showing an execution frequency 2404 of a plurality of applications 2406 that comprise a plurality of most used applications.
- Each application 2406 is represented by a different colored bar, as shown by a legend 2408 .
- FIG. 25 depicts another example interface screen 2500 that may be presented by computer 2306 in accordance with an embodiment of the present invention.
- interface screen 2500 presents a pie chart 2502 showing a frequency of use of a plurality of applications as a percentage of a total frequency of use over a given time period. Each application is represented by a different colored sector of the pie chart, as shown by legend 2504 .
- Periodic updates received by logging server 2302 may also serve as a device heartbeat, allowing logging server 2302 to present a status of active or dead devices.
- the front end presented by computer 2306 may include a Web interface that shows a list of devices 110 associated with a particular customer and a visual indicator of the last heartbeat status of each such device 110 .
- An example of such an interface 2600 is shown in FIG. 26 . As shown in that figure, interface 2600 includes a column 2612 that displays a last heartbeat date and time for a plurality of devices associated with a customer.
- each handset 120 includes a user interface that comprises both a display 122 and a keypad 124 .
- display 122 comprises a 2 in. (5.1 mm) 18-bit color TFT LCD display having an active viewing area of 31.68 mm ⁇ 39.6 mm, a pixel format of 176 ⁇ 220 pixels, a pixel size of 0.18 mm ⁇ 0.18 mm, LED backlighting, and a maximum brightness of 350 cd/m 2 .
- Keypad 124 comprises a standard telephone keypad including 10 numbers, “*” and “#” keys.
- each key is implemented using a pressure membrane switch that is responsive to 180 grams of pressure.
- handset 120 further comprises user interface navigation controls in the form of a 4-way scroll pad 2714 and a selection/activation button 2716 (also referred to as an “OK” button).
- user interface navigation controls in the form of a 4-way scroll pad 2714 and a selection/activation button 2716 (also referred to as an “OK” button).
- a device 110 in accordance with an embodiment of the present invention includes a display 112 that is used to provide a GUI by which a user may initiate, manage and experience telephony and digital media services.
- Example GUI screens by which the user may perform such functions will now be described.
- the example GUI screens described in this section are particularly suitable for use with an embodiment of device 110 in which display 112 comprises a color LCD display and integrated capacitive touch screen panel.
- a user may interact with the GUI by touching display 112 with a finger. For example, a user may touch a portion of display 112 corresponding to a graphic element in order to activate or select that element.
- the GUI screens described in this section are not limited to such an implementation and other forms of interaction may be used.
- FIG. 31 depicts an example home GUI screen 3100 in accordance with an embodiment of the present invention.
- example home GUI screen 3100 comprises a plurality of icons 3104 , each of which is representative of a different application that may be executed on device 110 .
- an application is launched when a user activates an icon associated with the application.
- An exception to this is icon 3120 which, when activated, will display addition application icons.
- activation of an icon may comprise touching the icon on display 112 , although other forms of activation may be used depending upon the implementation.
- Home GUI screen 3100 also includes a status bar 3102 .
- Status bar 3102 includes an icon 3112 representative of home GUI screen 3100 , a name 3114 (“Home”) associated with home GUI screen 3100 , and an indication of the current date 3116 and time 3118 .
- each icon on home screen 3100 may comprise a Shockwave Flash movie that is executed within an icon layer of a theme movie displayed on display 112 .
- status bar 3102 may comprise a Shockwave Flash movie that is executed within a status bar layer of the theme movie.
- GUI screens described below also include a status bar that may be implemented in a like manner.
- FIG. 32 depicts an example GUI screen 3200 for a telephony application in accordance with an embodiment of the present invention.
- example GUI screen 3200 includes a status bar 3202 and a telephony application interface 3204 .
- Telephony application interface may comprise a Shockwave Flash movie that is executed within an application layer of a theme movie displayed on display 112 .
- Various example GUI screens described below also include application interfaces that may be implemented in a like manner.
- Status bar 3202 includes an icon 3212 representative of the telephony application, a name 3214 (“Phone”) associated with the telephony application, an indication of the current date 3216 and time 3218 and a “home” button 3220 .
- “home” button 3220 When a user activates “home” button 3220 , the user will be returned to home GUI screen 3100 .
- Telephony application interface 3204 includes a keypad 3230 that can be used to enter a telephone number 3262 which appears in a display window 3254 . Any numbers entered in this fashion can be deleted using a delete button 3256 .
- Display window 3254 also includes an indication of a call status 3260 . In the example GUI depicted in FIG. 32 , the call status is “connected.”
- Telephony application interface 3204 also includes a “contacts” button 3232 that when activated causes a contacts application to be launched, a “call logs” button 3234 that when activated causes a call logs application to be launched, a “messages” button 3236 that when activated causes a voicemail application to be launched, and a “handsets” button 3238 .
- FIG. 33 depicts an example GUI screen 3300 for a call log application in accordance with an embodiment of the present invention.
- example GUI screen 3300 includes a status bar 3302 and a call log application interface 3304 .
- Call log application interface 3304 displays all or a portion of a log 3330 of previously-placed outgoing and incoming telephone calls.
- a “page up” button 3332 may be activated and to page down a “page down” button 3334 may be activated.
- a page indicator 3336 indicates which of one or more pages of log 3330 is currently being displayed.
- an “incoming” tab 3338 may be activated, to see outgoing calls only an “outgoing” tab 3340 may be activated, and to return to a list of all incoming and outgoing calls an “all” tab 3342 may be activated.
- Call log application interface 3304 further includes a “remove” button 3352 that can be used to remove a selected entry from log 3330 and a “remove all” button 3354 that can be used to remove all incoming and/or outgoing entries from log 3330 .
- FIG. 34 depicts an example GUI screen 3400 for a voicemail application in accordance with an embodiment of the present invention.
- example GUI screen 3400 includes a status bar 3402 and a voicemail application interface 3404 .
- Status bar 3402 includes an icon 3412 representative of the voicemail application, a name 3414 (“Voicemail”) associated with the voicemail application, an indication of the current date 3416 and time 3418 , a “phone” button 3420 and a “home” button 3422 .
- “phone” button 3420 GUI screen 3200 for a telephony application will be displayed.
- “home” button 3422 the user will be returned to home GUI screen 3100 .
- Voicemail application interface 3404 further includes a “play” button 3444 for playing a selected voicemail message, a “rewind” button 3446 for rewinding the content of a selected voicemail message, and a “fast forward” button 3448 for fast forwarding the content of a selected voicemail message.
- a button 3450 is provided for increasing the volume at which the content of a voicemail message will be heard and a button 3452 is provided for decreasing the volume.
- a volume indicator 3454 provides a graphical indication of the current volume level.
- a “mute” button 3456 is also provided for turning off the audio output associated with a voicemail message.
- FIG. 35 depicts an example GUI screen 3500 for a contacts application in accordance with an embodiment of the present invention.
- example GUI screen 3500 includes a status bar 3502 and a contacts application interface 3504 .
- Status bar 3502 includes an icon 3512 representative of the contacts application, a name 3514 (“Contacts”) associated with the contacts application, an indication of the current date 3516 and time 3518 , a “phone” button 3520 and a “home” button 3522 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 3522 the user will be returned to home GUI screen 3100 .
- Contacts application interface 3504 displays all or a portion of a list 3530 of user contacts. To page up through list 3530 a “page up” button 3532 may be activated and to page down a “page down” button 3534 may be activated. A page indicator 3536 indicates which of one or more pages of list 3530 is currently being displayed. To view contacts starting with a particular letter of the alphabet, one a series of buttons 3538 corresponding to each letter of the alphabet may be activated. For each contact in list 3530 , the following information is displayed: a name of the contact 3540 , a first phone number 3542 associated with the contact, and a second phone number 3544 associated with the contact. To select a contact from among those in list 3530 , the horizontal bar that provides information about the contact may be activated.
- Contacts application interface 3504 further includes an “add name” button 3546 that when activated launches a dialog for adding a person to list 3530 and an “add group” button 3548 that when activated launches a dialog for adding a group of people to list 3530 .
- FIG. 36 depicts an example GUI screen 3600 for a weather application in accordance with an embodiment of the present invention.
- example GUI screen 3600 includes a status bar 3602 and a weather application interface 3604 .
- Weather application interface 3604 includes a display area 3630 that provides weather information for a particular location 3632 .
- the particular location is “Phoenix, Ariz.”
- the particular location may be one of a series of predefined locations for which weather information is available.
- To view weather information for a preceding location in the series a “page up” button 3634 is provided.
- To view weather information for a subsequent location in the series a “page down” button 3636 is provided.
- An “add” button 3638 is provided that, when activated, launches a dialog by which a location may be added to the series of locations.
- a “remove” button 3640 is also provided that, when activated, launches a dialog by which a location may be removed from the series of locations.
- a button 3642 allows a user to select whether temperatures should be displayed in degrees Fahrenheit (° F.) or degrees Celsius (° C.).
- a “video” button 3644 is provided that allows a user to watch weather-related video content such as a video feed from a weather camera or the like.
- FIG. 37 depicts an example GUI screen 3700 for a movie showtimes application in accordance with an embodiment of the present invention.
- example GUI screen 3700 includes a status bar 3702 and a movie showtimes application interface 3704 .
- Movie showtimes application interface 3704 includes a first display area that displays all or a portion of a list of movie theaters 3730 associated with a particular location 3732 .
- the particular location is “Boca Raton Fla.”
- a “page up” button 3734 may be activated and to page down a “page down” button 3736 may be activated.
- a page indicator 3738 indicates which of one or more pages of list 3730 is currently being displayed.
- the horizontal bar that provides information about the movie theater may be activated.
- Movie showtimes application interface 3704 also includes a second display area that displays all or a portion of a list of movies and associated showtimes 3740 associated with a movie theater selected in the first display area.
- a “page up” button 3742 may be activated and to page down a “page down” button 3744 may be activated.
- a page indicator 3746 indicates which of one or more pages of list 3740 is currently being displayed.
- Status bar 3802 includes an icon 3812 representative of the media application, a name 3814 (“Media”) associated with the media application, an indication of the current date 3816 and time 3818 , a “phone” button 3820 and a “home” button 3822 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 3822 the user will be returned to home GUI screen 3100 .
- FIG. 41 depicts a GUI screen 4100 for the aforementioned media application in which the videos interface is displayed.
- the videos interface includes a display area that displays all or a portion of a collection of movies 4102 .
- a “page up” button 4104 may be activated and to page down a “page down” button 4106 may be activated.
- a page indicator 4108 indicates which of one or more pages of collection 4102 is currently being displayed. For each movie in collection 4108 the following information is provided: a graphic icon representative of the movie and the name of the movie. A movie in collection 4102 may be selected by activating the icon associated with the movie.
- the videos interface allows movies to be displayed in two formats.
- a list format in which information about each movie is provided in a horizontal bar may be obtained by activating a first display format button 4110 .
- the icon format shown in FIG. 41 may be obtained by activating a second display format button 4112 .
- FIG. 44 depicts a GUI screen 4400 for the aforementioned media application in which the podcasts interface is displayed.
- the podcasts interface includes a display area that displays all or a portion of a list of podcast providers 4402 .
- a “page up” button 4404 may be activated and to page down a “page down” button 4406 may be activated.
- a page indicator 4408 indicates which of one or more pages of list 4402 is currently being displayed.
- a name 4414 is provided for each podcast provider in list 4402 .
- a podcast provider in list 4402 may be selected by activating the horizontal bar upon which the song information is provided.
- Control over the playback and volume of audio content of a podcast is provided using an interface 4416 that includes elements that are substantially similar to elements described above in example GUI screen 4000 of FIG. 40 .
- the podcasts interface allows podcast provider information to be displayed in two formats.
- the list format shown in FIG. 44 in which information about each podcast provider is displayed in a horizontal bar, may be obtained by activating a first display format button 4410 .
- An icon format shown in GUI interface screen 4500 of FIG. 45 may be obtained by activating a second display format button 4412 .
- a display area 4502 is presented that displays an icon associated with each podcast provider. The name of the podcast provider is displayed below each icon.
- FIG. 46 depicts an example GUI screen 4600 for a cameras application in accordance with an embodiment of the present invention.
- example GUI screen 4600 includes a status bar 4602 and a cameras application interface 4604 .
- Status bar 4602 includes an icon 4612 representative of the cameras application, a name 4614 (“Cameras”) associated with the cameras application, an indication of the current date 4616 and time 4618 , a “phone” button 4620 and a “home” button 4622 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 4622 the user will be returned to home GUI screen 3100 .
- Cameras application interface 4604 includes a first display area that displays all or a portion of a list of cameras 4630 that are capable of providing a video feed to device 110 .
- a “page up” button 4632 may be activated and to page down a “page down” button 4634 may be activated.
- a page indicator 4636 indicates which of one or more pages of list 4630 is currently being displayed.
- a name 4638 is provided for each camera identified in list 4630 . To select a camera from among those in list 4630 , the horizontal bar that provides the name of the camera may be activated.
- Cameras application interface 4604 also includes a second display area that displays video content received from a selected camera in a preview window 4640 .
- a “view” button 4642 may be activated to allow a user to view the video content from the selected camera in a further cameras application interface 4702 which is depicted in example GUI screen 4700 of FIG. 47 . As shown in FIG.
- cameras application interface 4702 includes an expanded window 4704 in which video content from the selected camera is displayed as well as a camera control interface that includes a “zoom out” button 4706 , a “zoom in” button 4708 , a “pan left” button 4712 , a “pan right” button 4714 , a “tilt up” button 4716 and a “tilt down” button 4710 .
- these buttons may be used to control pan, tilt and zoom features of cameras that support such functionality.
- FIG. 48 depicts an example GUI screen 4800 for a news application in accordance with an embodiment of the present invention.
- example GUI screen 4800 includes a status bar 4802 and a news application interface 4804 .
- interface 4902 includes a display area 4904 that presents content associated with a news article.
- content may include for example a title of the news article 4912 , a graphic or video associated with the news article 4912 , and text associated with the news article which is displayed in a text display area 4916 .
- a user may scroll the text displayed within text display area 4916 up and down by activating a “scroll up” button 4918 and a “scroll down” button 4920 respectively.
- Additional news articles from the same news source may be available on one or more preceding or subsequent pages viewable within display area 4904 .
- a “page backward” button 4906 or a “page forward” button 4908 may be activated.
- a page indicator 4910 indicates which of one or more pages of news articles is currently being displayed.
- a “back” button may be activated to return to GUI screen 4800 of FIG. 48 .
- Status bar 5002 includes an icon 5012 representative of the horoscopes application, a name 5014 (“Horoscopes”) associated with the horoscopes application, an indication of the current date 5016 and time 5018 , a “phone” button 5020 and a “home” button 5022 .
- “phone” button 5020 GUI screen 3200 for a telephony application will be displayed.
- “home” button 5022 the user will be returned to home GUI screen 3100 .
- Horoscopes application interface 5004 includes a display area that displays a graphic icon representing each sign of the zodiac (such as icon 5030 ) and an associated name (such as name 5032 ). To obtain a current horoscope for a zodiac sign identified in horoscopes application interface 5004 , the icon representing the zodiac sign may be activated.
- FIG. 52 depicts an example GUI screen 5200 for a recipes application in accordance with an embodiment of the present invention.
- example GUI screen 5200 includes a status bar 5202 and a recipes application interface 5204 .
- Status bar 5202 includes an icon 5212 representative of the recipes application, a name 5214 (“Recipes”) associated with the recipes application, an indication of the current date 5216 and time 5218 , a “phone” button 5220 and a “home” button 5222 .
- “phone” button 5220 GUI screen 3200 for a telephony application will be displayed.
- “home” button 5222 the user will be returned to home GUI screen 3100 .
- Recipes application interface 5204 includes a display area 5230 that displays all or a portion of a collection of recipes.
- a “page backward” button 5236 may be activated and to page forward a “page forward” button 5238 may be activated.
- a page indicator 5240 indicates which of one or more pages of the collection is currently being displayed.
- a graphic icon such as icon 5232
- a name of the recipe such as name 5234
- the icon representing the recipe may be activated.
- FIG. 54 depicts an example GUI screen 5400 for a calendar application in accordance with an embodiment of the present invention.
- example GUI screen 5400 includes a status bar 5402 and a calendar application interface 5404 .
- Status bar 5402 includes an icon 5412 representative of the news application, a name 5414 (“News”) associated with the news application, an indication of the current date 5416 and time 5418 , a “phone” button 5420 and a “home” button 5422 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 5422 the user will be returned to home GUI screen 3100 .
- Calendar application interface 5404 comprises two different interfaces, only one of which may be shown at any given time: a monthly calendar interface that may be selected by activating a “month” tab 5436 and a daily calendar interface that may be selected by activating a “day” tab 5438 .
- the monthly calendar interface is currently being displayed.
- the monthly calendar interface includes a display area 5430 within which a monthly calendar is displayed. Activating a particular date within the monthly calendar will cause the daily calendar interface to be displayed for that date.
- An “up arrow” button 5432 allows a user to display a previous month within display area 5430 and a “down arrow” button 5434 allows a user to display a subsequent month within display area 5430 .
- FIG. 55 depicts a GUI screen 5500 for the aforementioned calendar application in which the daily calendar interface is displayed.
- the daily calendar interface includes a temporally-ordered list of scheduled daily activities or appointments 5504 corresponding to a particular date which is displayed in a window 5502 .
- a “page up” button 5506 may be activated and to page down a “page down” button 5508 may be activated.
- a page indicator 5510 indicates which of one or more pages of list 5504 is currently being displayed. For each scheduled appointment or activity scheduled in list 5504 an appointment/activity time 5520 and descriptor 5522 is displayed.
- An “add” button 5512 may be activated to launch a dialog by which a new appointment or activity may be added to list 5504 .
- a “remove” button 5514 may be activated to remove a selected appointment or activity from list 5504 .
- a “backward arrow” button 5516 may be activated and to change the date to a subsequent date a “forward arrow” 5518 button may be activated.
- FIG. 56 depicts an example GUI screen 5600 for an Internet radio application in accordance with an embodiment of the present invention.
- the Internet radio application comprises an application premised on SIRIUS® Internet radio service offered by SIRIUS XM Radio of New York, N.Y.
- example GUI screen 5600 includes a status bar 5602 and a calendar application interface 5604 .
- Status bar 5602 includes an icon 5612 representative of the Internet radio application, a name 5614 (“Sirius”) associated with the Internet radio application, an indication of the current date 5616 and time 5618 , a “phone” button 5620 and a “home” button 5622 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 5622 the user will be returned to home GUI screen 3100 .
- Internet radio application interface 5604 comprises two different interfaces, only one of which may be shown at any given time: a categories interface that may be selected by activating a “categories” tab 5652 and a controls interface that may be selected by activating a “controls” tab 5654 .
- the categories interface is currently being displayed.
- the categories interface includes a first display area that displays all or a portion of a list of radio categories 5630 .
- a “page up” button 5632 may be activated and to page down a “page down” button 5634 may be activated.
- a page indicator 5636 indicates which of one or more pages of category list 5630 is currently being displayed.
- a name 5638 is provided for each category in list 5630 .
- a category in list 5630 may be selected by activating the horizontal bar upon which the category name is provided.
- the categories interface further includes a second display area that displays all or a portion of a collection of radio channels 5640 corresponding to a selected radio category in list 5630 .
- a “page up” button 5642 may be activated and to page down a “page down” button 5644 may be activated.
- a page indicator 5646 indicates which of one or more pages of collection 5640 is currently being displayed.
- a graphic icon 5648 representing the channel and a name 5650 of the channel is displayed.
- a channel in collection 5640 may be selected for listening by activating the icon associated with the channel.
- FIG. 57 depicts an example GUI screen 5700 for a stocks application in accordance with an embodiment of the present invention.
- example GUI screen 5700 includes a status bar 5702 and a stocks application interface 5704 .
- Status bar 5702 includes an icon 5712 representative of the stocks application, a name 5714 (“Stocks”) associated with the stocks application, an indication of the current date 5716 and time 5718 , a “phone” button 5720 and a “home” button 5722 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 5722 the user will be returned to home GUI screen 3100 .
- Stocks application interface 5704 includes a first display area that displays all or a portion of a list of stocks 5730 .
- a “page up” button 5732 may be activated and to page down a “page down” button 5734 may be activated.
- a page indicator 5736 indicates which of one or more pages of list 5730 is currently being displayed.
- a stock symbol 5738 the following information is provided: a stock symbol 5738 , a current share price 5740 , a visual indicator 5742 of whether the current share price is up or down for the day, and an amount 5744 by which the current share price is up or down for the day.
- a stock in list 5730 may be selected by activating the horizontal bar upon which the stock symbol is provided.
- a user may activate an “add” button 5746 to launch a dialog by which a stock may be added to list 5730 .
- a user may also activate a “remove” button 5748 to remove a selected stock from list 5730 .
- Stock application interface 5704 also includes a dynamically-updated stock ticker 5756 which displays stock symbols and associated share prices for a variety of stocks in a scrolling fashion.
- FIG. 58 depicts an example GUI screen 5800 for an Internet video application in accordance with an embodiment of the present invention.
- the Internet video application comprises an application premised on a YouTubeTM Web service offered by YouTube LLC of San Bruno, California.
- example GUI screen 5800 includes a status bar 5802 and an Internet video application interface 5804 .
- Status bar 5802 includes an icon 5812 representative of the Internet video application, a name 5814 (“You Tube”) associated with the Internet video application, an indication of the current date 5816 and time 5818 , a “phone” button 5820 and a “home” button 5822 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 5822 the user will be returned to home GUI screen 3100 .
- Internet video application interface 5804 comprises four different interfaces, only one of which may be shown at any given time: a video search interface that may be selected by activating a “search” button 5842 , a featured videos interface that may be selected by activating a “featured” button 5844 , a top-rated videos interface that may be selected by activating a “top rated” button 5846 and a popular videos interface that may be selected by activating a “popular” button 5848 .
- the top-rated videos interface is currently being displayed. As shown in that figure, the top-rated videos interface includes a display area 5830 that displays all or a portion of a collection of top-rated videos 5830 .
- a “page up” button 5832 may be activated and to page down a “page down” button 5834 may be activated.
- a page indicator 5836 indicates which of one or more pages of the collection is currently being displayed. For each video identified in the collection, an icon 5838 and a name 5840 is displayed. A video in collection 5830 may be selected for playback by activating the icon associated with the video.
- FIG. 59 depicts an example GUI screen 5900 for an Internet-based photo application in accordance with an embodiment of the present invention.
- the Internet-based photo application comprises an application premised on a FlickrTM Web service offered by Yahoo! Inc. of Sunnyvale, Calif.
- example GUI screen 5900 includes a status bar 5902 and an Internet-based photo application interface 5904 .
- Status bar 5902 includes an icon 5912 representative of the Internet-based photo application, a name 5914 (“Flickr”) associated with the Internet-based photo application, an indication of the current date 5916 and time 5918 , a “phone” button 5920 and a “home” button 5922 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 5922 the user will be returned to home GUI screen 3100 .
- Internet-based photo application interface 5904 comprises two different interfaces, only one of which may be shown at any given time: a personal photos interface that may be selected by activating a “my photos” button 5938 and a search interface that may be selected by activating a “search” button 5940 .
- the search interface is currently being displayed.
- the results from a search premised on the query terms “Andy Warhol” has returned a collection of photos 5930 .
- a page indicator 5936 indicates which of one or more pages of the collection is currently being displayed.
- a photo in collection 5930 may be selected for viewing in a larger window by activating the photo.
- FIG. 60 depicts an example GUI screen 6000 for an alarm application in accordance with an embodiment of the present invention.
- example GUI screen 6000 includes a status bar 6002 and an alarm application interface 6004 .
- Status bar 6002 includes an icon 6012 representative of the alarm application, a name 6014 (“Alarm”) associated with the alarm application, an indication of the current date 6016 and time 6018 , a “phone” button 6020 and a “home” button 6022 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 6022 the user will be returned to home GUI screen 3100 .
- Alarm application interface 6004 includes an alarm on/off button 6036 that a user may activate to turn on or off an alarm.
- a window 6030 displays a time at which the alarm will sound.
- a “backward arrow” button may be activated to select a previous time while a “forward arrow” button may be activated to select a subsequent time.
- Alarm application interface 6004 further includes all or a portion of a list 6040 of audio files that may be used as an alarm.
- a “page backward” button 6042 may be activated and to page forward a “page forward” button 6044 may be activated.
- a page indicator 6044 indicates which of one or more pages of list 6040 is currently being displayed.
- an audio source 6048 and a descriptor associated with the audio file 6050 is displayed.
- System-provided alarms as well as digital music files may be used as the alarm.
- the audio source is listed as “alarm” and the descriptor of the audio file denotes the alarm type.
- the audio source is the performer of the digital music and the descriptor provides a name of the song.
- the horizontal bar that provides information about the audio file may be activated.
- Alarm application interface 6004 allows audio file information to be displayed in two formats.
- the list format shown in FIG. 60 may be obtained by activating a first display format button 6052 .
- An icon format shown in GUI interface screen 6100 of FIG. 61 may be obtained by activating a second display format button 6054 .
- a display area 6102 is presented that displays an icon 6104 associated with each audio file.
- a playback button 6106 , a title 6108 and performer 6110 may be displayed below each icon.
- FIG. 62 depicts an example GUI screen 6200 for a screensaver application in accordance with an embodiment of the present invention.
- example GUI screen 6200 includes a status bar 6202 and a screensaver application interface 6204 .
- Status bar 6202 includes an icon 6212 representative of the screensaver application, a name 6214 (“Screensaver”) associated with the screensaver application, an indication of the current date 6216 and time 6218 , a “phone” button 6220 and a “home” button 6222 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 6222 the user will be returned to home GUI screen 3100 .
- Screensaver application interface 6204 includes all or a portion of a list screensavers 6230 that may be activated by a user for display after a predetermined period of device inactivity.
- a “page up” button 6232 may be activated and to page down a “page down” button 6234 may be activated.
- a page indicator 6236 indicates which of one or more pages of list 6230 is currently being displayed.
- a user may activate one of the screensavers displayed in list 6230 .
- Screensaver application interface 6204 further includes a window 6240 that displays the current amount of delay (i.e., time of device inactivity) that must occur before a selected screensaver will be displayed.
- the amount of delay may be decreased by activating a “left arrow” button 6242 or increased by activating a “right arrow” button 6244 .
- a window 6246 displays a preview of a currently selected screensaver.
- a screensaver configuration may be saved by activating a “save” button 6238 .
- a “back” button 6248 is also provided on screensaver application interface 6204 that, when activated, causes a previously-displayed GUI screen to be displayed.
- FIG. 63 depicts an example GUI screen 6300 for a directory services application in accordance with an embodiment of the present invention.
- example GUI screen 6300 includes a status bar 6302 and a directory services application interface 6304 .
- Status bar 6302 includes an icon 6312 representative of the directory services application, a name 6314 (“Find A . . . ”) associated with the directory services application, an indication of the current date 6316 and time 6318 , a “phone” button 6320 and a “home” button 6322 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 6322 the user will be returned to home GUI screen 3100 .
- Directory services application interface 6304 includes a first display area that displays all or a portion of a list of business categories 6330 .
- a “page up” button 6334 may be activated and to page down a “page down” button 6336 may be activated.
- a page indicator 6338 indicates which of one or more pages of list 6330 is currently being displayed.
- the horizontal bar that provides information about the business category may be activated.
- Directory services application interface 6304 further includes a second display area that displays all or a portion of a list of businesses 6340 of the type currently selected in list 6330 .
- the businesses are selected based on proximity to a particular location 6332 .
- the particular location is “Boca Raton Fla.”
- a “page up” button 6342 may be activated and to page down a “page down” button 6344 may be activated.
- a page indicator 6346 indicates which of one or more pages of list 6340 is currently being displayed.
- a name, address and phone number is provided for each business identified in list 6340 .
- a “telephone” button 6350 associated with each business may be activated to place a telephone call to the business via device 110 .
- a “change location” button 6348 is provided that, when activated, launches a dialog by which a user can select a different location for which to obtain directory services information.
- FIG. 64 depicts an example GUI screen 6400 for a memos application in accordance with an embodiment of the present invention.
- example GUI screen 6400 includes a status bar 6402 and a memos application interface 6404 .
- Status bar 6402 includes an icon 6412 representative of the memos application, a name 6414 (“Memos”) associated with the memos application, an indication of the current date 6416 and time 6418 , a “phone” button 6420 and a “home” button 6422 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 6422 the user will be returned to home GUI screen 3100 .
- Memos application interface 6404 includes a first display area that displays all or a portion of a list of memos 6430 .
- Each memo may comprise a task, appointment or reminder that a user might wish to make note of.
- a “page up” button 6432 may be activated and to page down a “page down” button 6434 may be activated.
- a page indicator 6436 indicates which of one or more pages of list 6430 is currently being displayed.
- a text descriptor 6450 of the subject matter of the memo and a date 6452 and time 6454 associated with the memo (such as the date and time the memo was created).
- List 6430 may be temporally-ordered.
- a memo in list 6430 may be selected for viewing by activating the horizontal bar upon which the memo information is provided.
- a user may activate an “add” button 6446 to launch a dialog by which a memo may be added to list 6430 .
- a user may also activate a “remove” button 6448 to remove a selected memo from list 6430 .
- Memos application interface 6404 further includes a window 6438 that displays the text content of a memo selected from list 6430 .
- a user may scroll the text displayed within window 6438 up and down by activating a “scroll up” button 6440 and a “scroll down” button 6442 respectively.
- FIG. 65 depicts an example GUI screen 6500 for a television (TV) programming guide application in accordance with an embodiment of the present invention.
- example GUI screen 6500 includes a status bar 6502 and a TV programming guide application interface 6504 .
- Status bar 6502 includes an icon 6512 representative of the TV programming guide application, a name 6514 (“TV Programs”) associated with the TV programming guide application, an indication of the current date 6516 and time 6518 , a “phone” button 6520 and a “home” button 6522 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 6522 the user will be returned to home GUI screen 3100 .
- TV programming guide application interface 6504 includes a display area 6530 that provides TV programming information for a plurality of TV channels across a plurality of time slots. To view information about other channels than those currently shown in display area 6530 a user may activate either a “page up” button 6532 or a “page down” button 6534 . A page indicator 6536 indicates which of one or more pages of channel information is currently being displayed. To view programming information for previous time slots a user may activate a “backward” button 6538 and to view programming information for subsequent time slots a user may activate a “forward” button 6540 .
- FIG. 66 depicts an example GUI screen 6600 for a network setup application in accordance with an embodiment of the present invention.
- example GUI screen 6600 includes a status bar 6602 and a network setup application interface 6604 .
- Status bar 6602 includes an icon 6612 representative of the network setup application, a name 6614 (“Network Setup”) associated with the network setup application, an indication of the current date 6616 and time 6618 , a “phone” button 6620 and a “home” button 6622 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 6622 the user will be returned to home GUI screen 3100 .
- network setup application interface 6604 is overlaid by a network selection interface 6630 that allows a user to select a wireless network to which device 110 may attempt to connect.
- network selection interface 6630 displays all or a portion of a list 6632 of detected wireless networks.
- a “page up” button 6634 may be activated and to page down a “page down” button 6636 may be activated.
- a page indicator 6638 indicates which of one or more pages of list 6632 is currently being displayed.
- a visual indicator 6642 of the strength of the wireless signal and a name 6644 of the wireless network is provided.
- a visual indicator 6646 of whether the network is encrypted and a connection status 6648 may also be provided.
- a “back” button 6640 is also provided in network selection interface 6630 to allow a user to return to network setup application interface 6604 .
- FIG. 67 depicts an additional example GUI screen 6700 for a network setup application in accordance with an embodiment of the present invention.
- example GUI screen 6700 includes a status bar 6702 and a network setup application interface.
- the network setup application interface is overlaid by an encrypted network interface 6704 that allows a user to enter an encryption key for setting up or logging into an encrypted wireless network.
- encrypted network setup interface 6704 displays a keyboard 6730 that may be used to type an encryption key that appears in a window 6732 .
- the user may save the key by activating a “save” button 6734 .
- a “back” button 6740 is also provided to allow a user to return to the normal network setup application interface.
- Status bar 6802 includes an icon 6812 representative of the advanced network setup application, a name 6814 (“Network Setup”) associated with the advanced network setup application, an indication of the current date 6816 and time 6818 , a “phone” button 6820 and a “home” button 6822 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 6822 the user will be returned to home GUI screen 3100 .
- Advanced network setup application interface 6804 displays all or a portion of a list 6830 of network-related information and parameters, some of which may be configurable.
- a “page up” button 6832 may be activated and to page down a “page down” button 6834 may be activated.
- a page indicator 6836 indicates which of one or more pages of list 6830 is currently being displayed.
- information/parameters provided within list 6830 include a connection status, a network type, a network name, a security protocol type, an encryption key, whether Dynamic Host Configuration Protocol (DHCP) is used and whether proxy is used.
- DHCP Dynamic Host Configuration Protocol
- a “back” button 6838 is provided to allow a user to return to the normal network setup application interface.
- FIG. 69 depicts an example GUI screen 6900 for a home control application in accordance with an embodiment of the present invention.
- example GUI screen 6900 includes a status bar 6902 and a home control application interface 6904 .
- Status bar 6902 includes an icon 6912 representative of the home control application, a name 6914 (“Home Control”) associated with the home control application, an indication of the current date 6916 and time 6918 , a “phone” button 6920 and a “home” button 6922 .
- GUI screen 3200 for a telephony application will be displayed.
- “home” button 6922 the user will be returned to home GUI screen 3100 .
- Home control application interface 6904 displays all or a portion of a list 6930 of rooms for which home control functionality may be provided.
- a “page up” button 6932 may be activated and to page down a “page down” button 6934 may be activated.
- a page indicator 6936 indicates which of one or more pages of list 6930 is currently being displayed.
- such rooms may include, for example, a living room, a family room, a home theater, a main office, a master bedroom and a dining room.
- a room may be selected by activating the horizontal bar upon which the room name is displayed.
- Example GUI screen 7100 of FIG. 71 shows such an overlay interface which is configured to control a TV.
- overlay interface 7102 includes a channel selection interface 7104 , a function navigation interface 7106 and an audio/video control interface 7108 for a TV.
- An on/off button 7110 is provided for powering the TV on and off and a “back” button 7112 is provided to return to the previous overlay interface.
- System 7200 further includes a computer 7230 that provides a Web-based user interface for easy access to the functionality provided by services platform 7202 .
- a Web-based user interface may include, for example, a control panel for user access assignment and administration.
- FIG. 72 Only a single computer 7230 is shown in FIG. 72 , any number of such computers may be provided to access services platform 7202 .
- services platform 7202 may include less than all of subsystems 7212 , 7214 , 7216 , 7218 and 7220 .
- an integrated user interface may be provided for accessing all of the included subsystems or, alternatively, separate user interfaces may be provided for each subsystem.
- Device management subsystem 7212 is responsible for reliably communicating updated firmware and device configuration to deployed devices. These types of operations may be focused on a single device, various sub-sets of devices, or applied to all devices on network 7204 . For example, a firmware update may be applied to a small community of devices as a test prior to updating the entire network 7204 of devices. This is critical to prevent a network of end users from having a negative experience.
- An embodiment of the present invention provides a “faceless” Web service that enables customers to populate a device configuration database. Device management subsystem 7212 then communicates those parameters to devices in network 7204 .
- An embodiment of the invention also provides a provisioning application to administrators so as to support provisioning of small trials as a sales tool.
- the deployment of new applications is scheduled by a telecommunications carrier or other entity that administers network 7204 and pushed. Such applications may be communicated to end users via proactive promotion, and deployment may include post-delivery notification.
- Software version updates may be dependent upon expansion of a feature set or technology progression (e.g., a new version of a video codec). Such updates may not be urgent in nature any may not produce a visible difference to an end user.
- such updates are communicated from device management subsystem 7212 to a device using a non-intrusive awareness notification, such as a simple update in a settings screen of the device.
- Fixes may be required as determined via support teams. Fixes may be global or individual in nature. Depending upon the severity and impact to the user, it may be desirable for the implementation of such fixes to be as “invisible” to an end user as possible. Different types of fixes include scheduled global fixes, immediate global fixes and individual fixes
- Scheduled global fixes may be planned and pushed from device management subsystem 7212 to devices on network 7204 .
- Such fixes may be non-interruptive in nature.
- device management subsystem 7212 may cause a device to display an interruptive, non-dismissable dialog box with messaging that an important download is in progress and apologizing for any inconvenience.
- Support representatives may be required to update an individual device to implement a fix. This may occur, for example, when a support representative is troubleshooting with an end user.
- device management subsystem 7212 is configured to allow a release to be pushed to a device on demand.
- devices may be configured to automatically check for the latest firmware upon re-boot. In this case, a support representative may request that an end user reboot his/her device.
- Devices may also provide an automatic update tool as part of a device settings application and may be directed to utilize the tool by a support representative to pull the latest update.
- device management subsystem 7212 is configured to minimize device interruption and required end-user activity while keeping end users appropriately notified.
- device management subsystem 7212 may be configured to perform one or more of the following functions: (1) confirm prior to download that a target device is currently inactive; (2) not disrupt any customer-initiated activity in progress; (3) wait for a target device to return to an idle state before deployment; (4) display to the user a notification message such as “update in progress, please wait”; (5) cause a device “version number” to be updated on a settings screen of a device when all updates have been deployed; (6) after delivery of a new application update, deliver a notification message to the user (such as “Congratulations, you have new features to enjoy from . . . ”) that can be deleted or saved by the user.
- Device management subsystem 7212 may also be configured to obtain necessary end user permissions prior to delivery of new applications or firmware updates. For example, a global permission may be obtained via a general notification during new device initial start-up. Alternatively or additionally, individual permissions may be obtained for each download. For example, device management subsystem 7212 may be configured to display a message on a device requesting permission to deliver a firmware update and provide an interface by which an end user can provide a yes or no decision. Device management system 7212 will take the appropriate action based on the end user decision.
- Device management subsystem 7212 may deploy a firmware update automatically in certain instances. For example, this may occur at new device initial start-up as mentioned above.
- logic that automatically checks for the most recent software version is embedded in a set-up wizard that is executed by a device during initial start-up. This ensures that each new end user has the latest approved software and application set in the event devices have been shelved for periods of time prior to purchase/deployment.
- a firmware update may also be automatically triggered in the event that a periodic check function implemented by device monitoring subsystem 7214 (described below) determines that a device does not have the latest firmware code.
- An automatic firmware update may also be triggered upon device re-boot in an embodiment in which devices are configured to automatically check for the latest firmware upon re-boot.
- every application is responsible for implementing its own provisioning solution.
- an embodiment of the invention implements this support as part of the solution.
- a provision database exposes a Web service that enables a customer's existing telephony infrastructure to populate a device's telephony parameters.
- a change in configuration triggers notification of the device.
- the device will in turn retrieve the latest configurations via Hypertext Transfer Protocol (HTTP). This does not suggest that a physical file needs to be created on the file system of the provisioning server.
- HTTP Hypertext Transfer Protocol
- device monitoring subsystem 7214 allows administrators as well as customer support representatives to determine what firmware a device is executing, the health of that device, as well as the frequency and the manner in which the device is used. Such information may be used for individual device insight and action as well as to monitor and report on devices on an aggregated basis.
- device monitoring subsystem 7214 is configured to report the following information about a device: connection state, if in active or fail-safe mode, current firmware version, information on when historical updates were applied and frequency of usage (daily, weekly, etc.). This information may be made available to customer support representatives so that they can take appropriate action in the event of a customer issue.
- the Web-based user interface to device monitoring subsystem 7214 provides administrative functions necessary for device monitoring. It may implement a set of access levels such as was previously described in reference to device management subsystem 7212 . However, it may expand functionality to allow authorization to specified tiers to run subset or global reports.
- the Web-based interface to device monitoring subsystem 7214 is configured to take into consideration scalability by providing easy search functionality to locate an individual device, or subsets of devices, among many thousands. Such device searching may permit devices to be searched for based on MAC ID, customer name, billing telephone number, zip code, etc. Additionally, the Web-based interface to device monitoring subsystem 7214 may provide the capability to generate predetermined queries and to display query results in various manners (text or visual).
- FIG. 26 described above in reference to the application framework of device 110 provides an example of a Web-based user interface screen for interacting with device management subsystem 7212 /device monitoring subsystem 7214 .
- Application store 7216 comprises a portal that promotes application development in a managed subscription-based model. New applications are developed by authorized developers, verified by a regional organization, and subsequently released to the public via this platform. Revenue sharing is supported.
- application store 7216 comprises a repository of Flash applications that device 110 and like devices can subscribe to, which may be offered for free, or at a nominal fee to an end user.
- FIG. 73 depicts four main areas of the application store life cycle 7300 .
- the life cycle begins with the development 7302 of the applications.
- Applications may be developed by any number of entities including a developer of device 110 , service providers that provide services via device 110 , and independent developers. Such applications are tested 7304 and uploaded to a services database. Once applications have been validated, they can then be distributed 7306 to selected (or global) devices by an administrator. At this point, the selected devices in the field would now be capable of browsing 7308 and subscribing to the new application.
- a developer before a developer is eligible to submit applications, they must first register. This may involve creating a profile consisting of contact information, technical experience and account information for revenue sharing purposes. Once registered, a developer may become a Beta tester of his/her own applications. In addition, necessary terms and conditions may be required for developers to view and accept.
- application development involves working within predefined guidelines. By conforming to such guidelines, a developer may ensure that the application will behave correctly on all devices 110 .
- a Web-based developers program may be made available under an appropriate license.
- the Web-based developers program may comprise a Software Development Kit (SDK) and additional tools and resources.
- SDK Software Development Kit
- the Web-based developers program includes but is not limited to: (1) an introduction and overview; (2) a getting started guide for development on a personal computer (PC) and installing the SDK; (3) a programming guide for a Flash player used by device 110 ; (4) a description of how applications work within the application framework of device 110 ; (5) a “Hello World” program; (6) additional sample code via simple program examples; (7) user interface and design information, including guidelines and Actionscript code for common design elements and components; (8) an emulator that allows the application to be developed and tested on a PC prior to migrating the application to device 110 ; (9) go-to-market insight, including information about target audiences, most popular categories and the like; (10) application lifecycle information, including information about managing updates and changes; and (11) frequently asked questions.
- the resource pool for developers may also include an Internet-based developers' blog or community forum.
- Developers may be provided with development devices and software that allow them to test and optimize their applications prior to submission. Some means of support for questions and assistance may further be provided.
- a service provider may require that an approved ITL (Independent Test Lab) certify an application at the developer's expense before it will be accepted for publishing.
- ITL Independent Test Lab
- the developer may be required to package up several resources to satisfy deployment requirements. For example, the developer may be required to supply an application store icon and information movie. These two movies can then be utilized by application store 7216 when a user is browsing for applications to install. Once an application has been selected to be installed, the runtime requirements may require an icon movie and application movie. Optionally, a supporting native library and language file may also be provided. There may be instances when an application requires additional files. In addition, pricing requirements may need to be specified and included with the submitted package.
- the developer can test the application through application store 7216 and seek any necessary approvals from a developer of device 110 or a service provider based upon agreed upon terms and conditions. For example, if a service provider positions device 110 as a family device, a term and condition may state that explicit content is not permitted.
- the application package may be uploaded and published as generally available, or to a certain device platform, and possibly vendor. Global or specified users would now have access to the application.
- Application store 7216 may enable independent developers, developers of device 110 , or service providers (as appropriate) to post updated versions of an application, as well as the ability to delete.
- update and delete capabilities may apply to applications available on application store 7216 , applications already deployed to devices, or both.
- a published application may be revoked. Such revocation may result in a notification being sent to all subscribed devices and an automatic uninstall of the application.
- a developer may elect to allow existing users to keep the current application and simply decide to remove the offering from further availability.
- Application store 7216 may also be configured to provide developers with a summary of customer reviews on a per-application basis to promote improvements in future releases.
- Application store 7216 is an application storefront that is executed on the display/touch panel of device 110 . Its purpose is to present a list of authorized applications from which the user can optionally install, wherein the list of authorized applications may be a subset of all the applications stored in an application repository. Whether an application is authorized for a particular user may depend upon the identity of the user, upon which vendor is offering the application, and/or upon other alternative or additional factors. Depending upon the implementation, access to application store may be via devices 110 only or also via an Internet-based customer portal accessible to any browser-enabled system or device.
- Certain applications may have associated costs to the end user. When these applications are purchased, a charge is processed to the appropriate subscriber account. To facilitate this, application store 7216 may be integrated with a billing system administered by a service provider.
- device 110 may be accessible to various family members in a home, it may be configured to distinguish between individual users. A device so configured may present a list of applications to all users and then allow for presentation of a particular application within a single active user's profile.
- FIG. 85 is a block diagram of an exemplary application store 8500 in accordance with one embodiment of the present invention.
- application store 8500 includes a repository of applications 8502 that are suitable for downloading to and installation and execution upon one or more networked telephony and digital media devices such as those described elsewhere herein.
- Each application stored in repository 8502 may comprise an application package such as was described elsewhere herein that includes: (1) an application movie that is executable by an application player installed on each of the network devices; (2) an install script that, when executed by a networked device, installs the application movie on the device; (3) an uninstall script that, when executed by a networked device, uninstalls the application movie from the device, and (4) an icon movie that, when executed by an application player installed on a networked device, presents a graphical representation of the application movie to a GUI of the device and that is operable to invoke the application movie after installation thereof on the device.
- application store 8500 further includes at least a first vendor interface 8504 and a second vendor interface 8506 .
- First vendor interface 8504 is associated with a first vendor (e.g., a telecommunications company, multi system operator, Internet Service Provider, or the like) and is operable to provide access to a first subset of the applications stored in application repository 8502 for downloading to and installation and execution upon a first plurality of networked devices.
- the first plurality of networked devices are associated with one or more customers or subscribers of the first vendor, denoted first vendor users 1 - n in FIG. 85 .
- Second vendor interface 8506 is associated with a second vendor that is different than the first vendor and is operable to provide access to a second subset of the applications stored in application repository 8502 for downloading to and installation and execution upon a second plurality of networked devices.
- the second plurality of networked devices are associated with one or more customers or subscribers of the second vendor, denoted second vendor users 1 - n in FIG. 85 .
- vendor interfaces 8504 and 8506 are shown in FIG. 85 , it is to be understood that any number of vendor interfaces may be used in accordance with an embodiment of the present invention.
- First and second vendor interfaces 8504 and 8506 may each comprise an application storefront that is executed on a display/touch panel of device 110 .
- the storefront may comprise, for example, a GUI such as that described above in reference to FIG. 74 .
- application store 8500 includes a different interface for each vendor, each vendor may advantageously customize the “look and feel” of its associated interface.
- each vendor may include vendor-specific branding or other user-viewable content within its associated interface.
- each vendor may include vendor-specific functionality or features within its associated interface.
- the subset of applications made available via first vendor interface 8504 may be entirely different from that made available via second vendor interface 8506 .
- the subsets of applications made available via each vendor interface may be overlapping or even identical.
- the system shown in FIG. 85 advantageously enables each vendor to selectively determine which applications will be made available to its customers and/or subscribers. Applications may also be customized to include functionality or user-viewable information uniquely associated with a particular vendor.
- a user interface to application store 7216 may be designed for convenience and simplicity while planning for expansion in navigation and caring for complexities.
- categorization of applications may be used to assist a user in searching for applications.
- Example categories include genre, paid vs. free, most popular, highest rated, or newest.
- device 110 may comprise a device that is accessible to an entire family, it may be configured to require a password before providing access to application store 7216 . This feature may be used, for example, by parents to prevent unauthorized application purchases by their children.
- FIG. 74 depicts one example GUI screen 7400 that may be used to provide an interface to application store 7216 in accordance with an embodiment of the present invention.
- example GUI screen 7400 includes a status bar 7402 and an application store interface 7404 .
- Application store interface 7404 includes a first display area that displays all or a portion of a list of application categories 7410 .
- a “page up” button 7412 may be activated and to page down a “page down” button 7414 may be activated.
- the horizontal bar that displays the title of the application category may be activated.
- Application store interface 7404 further includes a second display area that displays all or a portion of a collection of applications 7416 that fall within the category currently selected in list 7410 .
- a “page up” button 7418 may be activated and to page down a “page down” button 7420 may be activated.
- a page indicator 7422 indicates which of one or more pages of collection 7416 is currently being displayed.
- an icon 7424 For each application identified in collection 7416 , an icon 7424 , a name 7426 and a rating 7428 (which may be based on end user feedback and/or some other source) is provided.
- the icon associated with the application may be activated.
- a “checkout” button 7430 may be activated to launch a dialog by which a selected application may be purchased for download and installation to a device 110 .
- Beta device may be able to install newly uploaded applications for early review. The goal is to protect the public from any rough applications that introduce a negative experience.
- the network administrator may manage the various users on the platform including subscribers, developers, managers, and customer support representatives.
- the network administrator may be able to provision groups of devices. These groups can be assigned various rights that determine their role on the network. To be subjected to early application access, the Beta permission would be granted.
- a Web-based interface for the developers program and application store 7216 provides a face of the platform and may facilitate its successful implementation.
- the Web-based interface includes four areas that correspond to the four stages of the application store life cycle—namely, develop, test, deploy and browse.
- Such a Web-base interface may be simple in design and easy to navigate.
- Application intelligence subsystem 7218 is configured to provide application usage analysis by tracking specific application metrics. Such functionality advantageously enables valuable trend spotting for end-user-driven, new application development.
- Application intelligence subsystem 7218 may be configured to deliver vital usage analysis by tracking specific application metrics. Such metrics may be of value to marketing teams, product management teams, customer retention teams and developers. In one embodiment, application intelligence subsystem 7218 enables a user to view a ranking of most frequently used/least used applications for all end users in the aggregate or for some subset of end users. Application intelligence subsystem 7218 may also provide statistics on day of week/time of day usage behavior.
- the data may be extended to end users. For example, end users may be notified which applications are the most popular applications.
- Application intelligence subsystem 7218 may also be configured to permit end users to rate applications and to share such ratings information in the aggregate with other end users.
- a system administrator may have the ability to grant or deny entities the ability to generate and view application intelligence reports. Given customer proprietary information policies, the usage behavior of individual devices is securely protected.
- a Web-based interface to application intelligence subsystem 7218 is visual in nature, and has the capability to produce executive level reports. Such reports may be transferable to standard Microsoft® PowerPoint® (developed and sold by Microsoft Corporation of Redmond, Wash.) presentations.
- FIGS. 24 and 25 depict example Web-based interface screens that may be used to report application intelligence information in accordance with various implementations.
- Content aggregation subsystem 7220 is configured to remove the burden on service providers of individually having to manage delivery of content to devices within network 7204 from multiple content providers.
- Content aggregation subsystem 7220 provides a pre-packaged content solution with personalization, recurring revenue, ad insertion and aggregated billing opportunities.
- content aggregation subsystem 7220 can optimize the performance of a device within network 7204 by alleviating the content processing needs of the device.
- FIG. 75 is a block diagram 7500 that shows how content aggregation subsystem 7220 may be used to aggregate content from multiple content providers in accordance with an embodiment of the present invention.
- a plurality of content providers namely, content providers 7502 a , 7502 b and 7502 c , are configured to provide content for delivery to device 110 .
- Such content may include for example video content, audio content, graphic content, text content, or any other form of content that can be delivered over a network.
- Device 110 uses such content to a plurality of content-based applications—namely content-based applications 7504 a , 7504 b , 7504 c and 7504 d.
- Content provided to device 110 by content provider 7502 a is processed entirely by device 110 .
- processing may include content processing via ActionScript functionality of a Flash player executing on device 110 , via a dedicated C/C++ class module which is a part of a software architecture of device 110 , or via various codecs for audio, video and images that also form a part of the software architecture of device 110 .
- content provided to device 110 by content providers 7502 b and 7502 c is first received and processed by content aggregation subsystem 7220 .
- Such processing may include, for example, audio or video transcoding.
- Content aggregation subsystem 7220 may also cache content so that it need not be retrieved by subsystem 7220 each time it is requested by a device. Any of a variety of caching protocols may be used.
- Content aggregation subsystem 7220 may also filter or modify content based on user preferences. Processed content is then provided from content aggregation subsystem 7220 to device 110 for use in supporting content-based applications 7504 a - 7504 d . Since a certain amount of content processing has already been performed by content aggregation subsystem 7220 , the amount of processing that must be performed by device 110 is reduced. This helps improve performance by device 110 .
- Content aggregation subsystem 7220 may perform additional functions such as the insertion of ads into content prior to delivery to device 110 .
- Content aggregation subsystem 7220 can advantageously provide a source of recurring revenue to an administrator of the subsystem.
- the subsystem can also aggregate services provided by multiple content providers to a single bill.
- device 110 may include a directory services application that allows a user to search for businesses within various service categories. Businesses may be selected based on geographic proximity to a particular location. Once a business has been found, the user can activate a telephone button icon associated with the business to place a telephone call directly from the directory services application interface (also referred to herein as “click-to-call”).
- the directory services application also supports text messaging to a business in accordance with a Short Message Service (SMS) protocol.
- SMS Short Message Service
- a directory services application 7602 executing on device 110 may obtain directory services information in real-time from a single IP-based directory 7604 .
- directory services application 7602 sends a query via the Internet to IP-based directory 7604 .
- the query may specify, for example, a name of a business, a category of businesses, or one or more search keywords.
- the query may also include geographic information, such as city, state or zip code in order to obtain location-specific results.
- the IP-based directory will return one or more results in the form of business names, addresses and telephone numbers.
- IP-based directory 7604 may comprise a directory provided by any of a wide variety of IP-based directory service providers.
- a directory services application 7702 executing on device 110 may also obtain directory services information in real-time from multiple IP-based directories, such as directories 7706 a , 7706 b and 7706 c .
- directory services application 7702 sends a query to an aggregator 7704 that is configured to distribute the query to each of the multiple directories.
- the query may be formulated in the manner described above in regard to FIG. 76 .
- Aggregator 7704 then receives query results A, query results B and query results C from IP-based directories 7706 a , 7706 b and 7706 c , respectively, and aggregates the results for delivery to directory services application 7702 .
- IP-based directories may also provide certain types of information that other IP-based directories don't.
- a second IP-based directory may also be used as a fallback directory in case the first IP-based directory is not capable of delivering adequate results.
- query results may be ordered for presentation to an end user.
- results may be ordered by the IP-based directory, the aggregator, and/or the directory services application executing on device 110 .
- Such results may be ordered, for example, alphabetically or by geographic proximity to a specified location.
- results are ordered in accordance with a “premium placement” scheme in which businesses can pay to have their information appear at the top of the query results or highlighted in some other fashion intended to garner the attention of an end user.
- highlighting techniques may include, for example, providing a larger listing or using bold text, background highlighting, animations or the like.
- an aggregator 7804 may be configured to obtain such “premium placement” results from a premium placement directory 7806 based on a query received from a directory services application 7802 , while also obtaining standard directory results from at least one IP-based directory 7808 .
- the query information may also be used to obtain ads from an ads database 7810 for display within the directory services application interface on device 110 . This provides yet another revenue opportunity for a proprietor of aggregator 7804 .
- Premium placement directory information, standard directory information and ads may all be returned from aggregator 7804 to directory services application 7802 .
- Payment for “premium placement” may be based on the display of the premium placement directory information by directory services application 7802 and/or upon the use of directory services application 7802 to place a telephone call to a premium placement business. For example, a payment may be due each time premium placement directory information is displayed or each time a phone call is placed that is attributable to a premium placement entry. The latter payment method is easily implemented because directory services application 7802 is capable of attributing the placement of a call to a particular business entry and can be configured to instantaneously report such information.
- a directory services application in accordance with an embodiment of the present invention may also permit a user to click on or otherwise activate a directory entry to access additional information or functionality associated with a particular business.
- Additional information may be in the form of graphic, audio (e.g., voice) and/or video content that is displayed or played back by device 110 .
- Additional functionality may be in the form of an application interface that allows an end user to place an order or otherwise acquire products or services from the business (e.g., an interface that allows a user to place an order for pizza from a restaurant).
- a business may pay a fee in order to have such information or functionality associated with its entry and/or may pay a separate fee each time such information or functionality is accessed or used.
- Information aggregated from multiple devices 110 can be used to generate valuable reports regarding what types of products and services end users are looking for and which businesses have actually been contacted using the click-to-dial feature.
- a directory services application or other application operating on device 110 may also solicit ratings or rankings information from end users about businesses that they have called via device 110 . Such information may advantageously be used to answer community-based queries such as “What electrician do most people in my neighborhood call?” or “What is the favorite pizza place in my area?”
- a directory services application 7902 executing on device 110 provides click-to-dial reporting information to a dialed calls database 7908 each time an end user uses the click-to-dial feature of application 7902 .
- Database 7908 acquires such information from multiple devices 110 to generate accumulated information regarding which businesses have been dialed using the click-to-dial feature and how many times such businesses have been dialed.
- Dialed calls database 7908 may maintain such information for each of a plurality of geographic locations.
- the popularity of a business is determined based on reported click-to-call volume alone.
- end user feedback such as end user rating or ranking information may additionally or alternatively be solicited via device 110 and used to determine the popularity of a business.
- Directory services application 7902 may also be configured to display end user comments about particular businesses.
- Preferences logic 8002 allows an end user to “tag” an entry for a business that is listed in the application interface of directory services application 8000 .
- the method by which an entry is tagged may vary depending upon the implementation. Once an entry has been tagged it will subsequently be presented at the top of the list for the relevant business category. Thus, for example, if an end user tags a particular movie theater, that movie theater will appear at the top of the list the next time the movie theater category is selected. If multiple businesses within the same category have been tagged, a sorting algorithm may be used to determine the order in which the tagged businesses appear. For example, a most-recently-used sorting algorithm may be used. Preferences logic 8002 thus allows a user to easily access directory information for a preferred business without having to actually create, maintain or find contact information for the business.
- Contacts integration logic 8004 is configured to allow an end user to add contact information associated with a business identified in the application interface of directory services application 8000 to an address book maintained by a contacts application resident on device 110 .
- Ratings logic 8006 is configured to permit a user to submit ratings information about a particular business identified in the application interface of directory service application 8000 . Such ratings information can then be aggregated by a service provider and used by directory services application 8000 to display community-based ratings for businesses, or to sort business entries by ratings.
- Favorites integration logic 8008 is configured to enable a user to add a business identified in the application interface of directory services application 8000 to a favorites list that may be maintained by directory services application 8000 or a separate application resident on device 110 . Activating an entry in the favorites list will invoke a speed-dial feature that will cause the business to be called.
- GUI screen 8100 associated with a directory services application to an end user.
- GUI screen 8100 includes a list of business categories 8102 and a plurality of entries 8104 corresponding to a selected category within category list 8102 .
- category list 8102 represents a sub-category within a hierarchical list of business categories.
- category list 8102 may represent the category of “pizza restaurants” which itself is a sub-category of the category “restaurants”.
- the directory services application associated with GUI screen 8100 allows a user to navigate among a hierarchical list of business categories and sub-categories in order to find a desired list of businesses.
- category list 8102 represents a “quick access” list of categories that are deemed most useful to a user.
- the quick access list may be automatically compiled based on historical information relating to which categories are most often accessed by an end user. Alternatively or additionally, the quick access list may be manually compiled based on express designation of categories by the end user. The use of a quick access list helps ensure that end users are not presented with categories that they do not often use.
- Category list 8102 may also represent categories that have most recently been accessed by an end user.
- category list 8102 may be sorted alphabetically, by frequency of use, or based on some other sorting algorithm. For manageability, category list 8102 may be limited to some maximum number of entries. End users may be given the option to delete a category from category list 8102 .
- category list 8102 may represent the results of a category search executed by an end user via another GUI screen of the directory services application.
- GUI screen 8200 depicted in FIG. 82 provides additional information 8202 about the selected business. Such information may include an image 8204 , audio and/or video content 8206 , and text 8208 . Such information also includes a telephone number 8210 .
- GUI screen 8200 may be provided from the business itself or from some third party information provider, such as a third party IP-based directory service.
- the information may be provided in a very simple format or may be provided in an elaborate format, using animation, streaming audio/video content, or the like.
- GUI screen 8300 depicted in FIG. 83 Upon activation of telephone number 8210 by an end user, a GUI screen 8300 depicted in FIG. 83 will be displayed. As shown in FIG. 83 , GUI screen 8300 includes a dial button 8302 , a contacts button 8304 , a favorites button 8306 , a bookmark button 8308 , a comment button 8310 and a cancel button 8312 .
- the click-to-dial functionality of the directory services application will be invoked and a telephone call will be placed from device 110 to the selected business.
- the placement of the call via this interface may be reported to an external entity for tracking business popularity or other statistics.
- contacts button 8304 When an end user activates contacts button 8304 , information about the selected business will be imported into an address book maintained by a contacts application resident on device 110 . Depending upon the implementation, this process may involve launching an interactive dialog in which the end user must engage.
- favorites button 8306 When an end user activates favorites button 8306 , the selected business will be tagged such that it will subsequently be presented at the top of the list for the relevant business category. Thus, for example, if an end user activates favorites button 8306 for a particular movie theater, that movie theater will appear at the top of the list the next time the movie theater category is selected. If multiple businesses within the same category have been selected as favorites, a sorting algorithm may be used to determine the order in which the businesses appear.
- bookmark button 8308 When an end user activates bookmark button 8308 , the selected business will be saved to a “bookmarked” business category for easy access during subsequent use of the directory services application.
- comment button 8310 When an end user activates comment button 8310 , the user is presented with an interface by which the end user can submit feedback about the selected business.
- feedback may be submitted in the form of a rating (e.g., a certain number of stars out of 5 stars, a “thumbs up” or “thumbs down”, etc.) and/or as text comments.
- a rating e.g., a certain number of stars out of 5 stars, a “thumbs up” or “thumbs down”, etc.
- Such feedback can then be aggregated by a service provider and then used by the directory services application to display community-based ratings or comments for businesses or to sort business entries by ratings.
- cancel button 8312 When an end user activates cancel button 8312 , the end user terminates the transaction and may be returned, for example, to GUI screen 8100 .
- GUI screens 8200 and 8300 need not be used. For example, activating an entry within GUI screen 8100 may automatically place a phone call to the selected business. Also, activating phone number 8210 within GUI screen 8200 may automatically place a phone call to the selected business.
- Click-to-call records generated by a directory services application in accordance with an embodiment of the present invention may be used to generate a variety of valuable business reports. Such reports may provide a volume of calls per time period, busy hours, a number of entries viewed without calls/skips, a number of hang-ups or unanswered calls or a number of favorite registrations for a particular business.
- Embodiments of the present invention described herein, including systems, methods/processes, and/or apparatuses, may be implemented using one or more processor-based computer systems, such as computer system 8400 shown in FIG. 84 .
- computer system 8400 includes a processing unit 8404 that includes one or more processors or processor cores.
- Processor unit 8404 is connected to a communication infrastructure 8402 , which may comprise, for example, a bus or a network.
- Computer system 8400 also includes a main memory 8406 , preferably random access memory (RAM), and may also include a secondary memory 8408 .
- Secondary memory 8408 may include, for example, a hard disk drive 8422 and/or a removable storage drive 8424 .
- Removable storage drive 8424 may comprise a floppy disk drive, a magnetic tape drive, an optical disk drive, a tape backup, or the like.
- Removable storage drive 8424 reads from and/or writes to a removable storage unit 8432 in a well-known manner.
- Removable storage unit 8432 may comprise a floppy disk, magnetic tape, optical disk, or the like, which is read by and written to by removable storage drive 8424 .
- removable storage unit 8432 includes a computer-readable storage medium having stored therein computer software and/or data.
- secondary memory 8408 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 8400 .
- Such means may include, for example, a removable storage unit 8434 and an interface 8426 .
- Examples of such means may include a memory stick and an industry standard interface (such as a universal serial bus (USB) interface) suitable for interfacing with the memory stick, a memory card and associated card reader, a removable memory chip (such as an EPROM or PROM) and associated socket, a program cartridge and cartridge interface (such as that found in video game devices), and other removable storage units 8434 and interfaces 8426 that allow software and data to be transferred from removable storage unit 8434 to computer system 8400 .
- USB universal serial bus
- Computer system 8400 may further include a display 8410 for presenting user-viewable content rendered by processing unit 8404 and/or optional display interface hardware (not shown in FIG. 84 ) as well as one or more input/output (I/O) devices 8412 for receiving input from or producing output to a user.
- exemplary input devices include a keyboard, mouse, keypad, touch screen, or the like.
- Exemplary output devices include audio devices such as speakers.
- Display 8410 may also be considered an output device.
- Computer system 8400 may also include a communication interface 8414 .
- Communication interface 8414 allows software and data to be transferred between computer system 8400 and external devices. Examples of communication interface 8414 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or the like.
- Software and data transferred via communication interface 8414 are in the form of signals which may be electronic, electromagnetic, optical, or other signals capable of being received by communication interface 8414 . These signals are provided to communication interface 8414 via a communication path 8442 .
- Communications path 8442 carries signals and may be implemented using wired communication media such as a phone line, coaxial cable or fiber optic cable, as well as wireless communication media such as radio frequency (RF) or infrared communication channels.
- RF radio frequency
- computer program medium and “computer readable medium” are used to generally refer to media such as removable storage unit 8432 , removable storage unit 8434 and a hard disk installed in hard disk drive 8422 .
- Computer program medium and computer readable medium can also refer to memories, such as main memory 8406 and secondary memory 8408 , which can be semiconductor devices (e.g., DRAMs, etc.). These computer program products are means for providing software to computer system 8400 .
- Computer programs are stored in main memory 8406 and/or secondary memory 8408 . Computer programs may also be received via communication interface 8414 . Such computer programs, when executed, enable computer system 8400 to implement features of the present invention as discussed herein. Accordingly, such computer programs represent controllers of the computer system 8400 . Where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 8400 using removable storage drive 8424 , interface 8426 , or communication interface 8414 .
- the invention is also directed to computer program products comprising software stored on any computer readable medium.
- Such software when executed in one or more data processing devices, causes a data processing device(s) to operate as described herein.
- Embodiments of the present invention employ any computer readable medium, known now or in the future. Examples of computer readable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory) and secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, zip disks, tapes, magnetic storage devices, optical storage devices, MEMs, nanotechnology-based storage device, etc.).
- primary storage devices e.g., any type of random access memory
- secondary storage devices e.g., hard drives, floppy disks, CD ROMS, zip disks, tapes, magnetic storage devices, optical storage devices, MEMs, nanotechnology-based storage device, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Telephonic Communication Services (AREA)
- Telephone Set Structure (AREA)
- Telephone Function (AREA)
- Information Transfer Between Computers (AREA)
- Cooling Or The Like Of Semiconductors Or Solid State Devices (AREA)
- Selective Calling Equipment (AREA)
- Stored Programmes (AREA)
Abstract
Description
- This application claims priority to U.S. Provisional Patent Application No. 61/139,090, filed Dec. 19, 2008, the entirety of which is incorporated by reference herein.
- 1. Field of the Invention
- The present invention relates to systems, methods, and apparatuses that facilitate access to telephony and digital media services.
- 2. Background
- The traditional home or office telephone typically provides a very limited set of functions related almost entirely related to telephony. Users wishing to perform functions that extend beyond the basic feature set of a home/office telephone are required to utilize one or more other devices or platforms. For example, users of traditional home/office telephones typically have to use a printed phonebook or a separate computer to access directory services information. Traditional home/office telephones also do not provide access to a variety of Internet Protocol (IP) network-based applications and services, advanced media applications and graphics, or standard computer-based functions such as a contacts database, directory, instant messaging, calendar, news and weather.
- As described herein, telephony and digital media services may be provided to a plurality of locations, such as to a plurality of homes and offices, though the deployment of telephony and digital media services devices to the locations, wherein each device is configured to function as a voice, data and media information center. A system in accordance with one embodiment of the present invention includes an application store and an application intelligence subsystem implemented on one or more computers. Each of the application store and the application intelligence subsystem is communicatively connected via a network to a plurality of such telephony and digital media services devices. The application store is operable to provide applications via the network for installation and execution on each of the plurality of devices. The application intelligence subsystem is operable to obtain and report information about applications installed and executed on each of the plurality of devices.
- Further features and advantages of the invention, as well as the structure and operation of various embodiments of the invention, are described in detail below with reference to the accompanying drawings. It is noted that the invention is not limited to the specific embodiments described herein. Such embodiments are presented herein for illustrative purposes only. Additional embodiments will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein.
- The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the relevant art(s) to make and use the invention.
-
FIG. 1 depicts elements of a system for providing telephony and digital media services to a location, such as a home or office, in accordance with an embodiment of the invention. -
FIG. 2 is a back perspective view of a telephony and digital media services device in accordance with an embodiment of the invention. -
FIG. 3 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the invention. -
FIG. 4 is a block diagram of an alternative system for providing telephony and digital media services in accordance with an embodiment of the invention. -
FIG. 5 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the invention that supports multiple devices and handsets via an adapter unit in an environment in which a telecommunication carrier provides Voice over Internet Protocol (VoIP) service. -
FIG. 6 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the invention that supports multiple devices and handsets via an adapter unit in an environment in which a telecommunications carrier provides POT service. -
FIG. 7 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the present invention that supports multiple devices and handsets via an adapter unit in an environment in which a telecommunications carrier provides VoIP service. -
FIG. 8 is a block diagram of a system for providing telephony and digital media services in accordance with an embodiment of the invention that supports multiple devices and handsets via an adapter unit in an environment in which a telecommunications carrier provides POT service. -
FIG. 9 depicts an embodiment of the invention in which an adapter unit within a system for providing telephony and digital media service provides PBX-like features to a user of a computer connected to the adapter unit. -
FIG. 10 is a hardware block diagram of a telephony and digital media services device in accordance with an embodiment of the invention. -
FIG. 11 is a hardware block diagram of a telephony and digital media services device designed for office environments in accordance with an alternate embodiment of the present invention. -
FIG. 12 is a block diagram of a software architecture of a telephony and digital media services device in accordance with an embodiment of the invention. -
FIG. 13 is a block diagram that depicts systems software elements of a telephony and digital media services device in accordance with an embodiment of the invention. -
FIG. 14 is a block diagram of an application framework that may be implemented by a telephony and digital media services device in accordance with an embodiment of the invention. -
FIG. 15 depicts an example application installation package that may be provided from a remote application server to a telephony and digital media services device in accordance with one embodiment of the present invention. -
FIG. 16 depicts an application manager that comprises two movie applications in accordance with an embodiment of the present invention. -
FIG. 17 depicts a manager movie portion of an application manager in accordance with an embodiment of the present invention. -
FIG. 18 depicts a theme movie portion of an application manager in accordance with an embodiment of the present invention. -
FIG. 19 is a diagram that illustrates a process for handling an asynchronous event associated with an inactive application during execution of an active application in accordance with an embodiment of the present invention. -
FIG. 20 is a diagram depicting the overlaying of a first application movie with a second application movie pursuant to an asynchronous event handling protocol in accordance with an embodiment of the present invention. -
FIG. 21 is a diagram depicting the use of a software watchdog timer to monitor application liveliness in accordance with an embodiment of the present invention. -
FIG. 22 illustrates an application that includes a first movie that comprises the business logic of the application and a second movie that comprises the graphical assets of the application in accordance with an embodiment of the present invention. -
FIG. 23 is a block diagram of system for logging and reviewing application usage information, system configuration information and system health information associated with one or more telephony and digital media services devices in accordance with an embodiment of the present invention. -
FIG. 24 depicts an example interface screen that may be presented by a system for reviewing application usage information associated with one or more telephony and digital media services devices in accordance with an embodiment of the present invention. -
FIG. 25 depicts another example interface screen interface screen that may be presented by a system for reviewing application usage information associated with one or more telephony and digital media services devices in accordance with an embodiment of the present invention. -
FIG. 26 depicts an example interface screen that may be presented by a system for reviewing application usage information, system configuration information and system health information associated with one or more telephony and digital media services devices in accordance with an embodiment of the present invention. -
FIG. 27 is a front perspective view of a handset in accordance with an embodiment of the present invention. -
FIG. 28 is a back view of a handset in accordance with an embodiment of the present invention. -
FIG. 29 is a front perspective view of a handset docking station in accordance with an embodiment of the present invention. -
FIG. 30 is a back perspective view of a handset docking station in accordance with an embodiment of the present invention. -
FIG. 31 depicts an example home graphical user interface (GUI) screen that may be displayed by a telephony and digital media services device in accordance with an embodiment of the present invention. -
FIG. 32 depicts an example GUI screen for a telephony application in accordance with an embodiment of the present invention. -
FIG. 33 depicts an example GUI screen for a call log application in accordance with an embodiment of the present invention. -
FIG. 34 depicts an example GUI screen for a voicemail application in accordance with an embodiment of the present invention. -
FIG. 35 depicts an example GUI screen for a contacts application in accordance with an embodiment of the present invention. -
FIG. 36 depicts an example GUI screen for a weather application in accordance with an embodiment of the present invention. -
FIG. 37 depicts an example GUI screen for a movie showtimes application in accordance with an embodiment of the present invention. -
FIG. 38 depicts an example GUI screen for a media application in accordance with an embodiment of the present invention in which a photos interface is displayed. -
FIG. 39 depicts a GUI screen for a media application in accordance with an embodiment of the present invention in which a music interface is displayed. -
FIG. 40 depicts a further GUI screen for a media application in accordance with an embodiment of the present invention in which a music interface is displayed. -
FIG. 41 depicts an example GUI screen for a media application in accordance with an embodiment of the present invention in which a videos interface is displayed. -
FIGS. 42 and 43 depict a GUI screen for a video player application in accordance with an embodiment of the present invention. -
FIG. 44 depicts a GUI screen for a media application in accordance with an embodiment of the present invention in which a podcasts interface is displayed. -
FIG. 45 depicts a further GUI screen for a media application in accordance with an embodiment of the present invention in which a podcasts interface is displayed. -
FIG. 46 depicts an example GUI screen for a cameras application in accordance with an embodiment of the present invention. -
FIG. 47 depicts an additional example GUI screen for a cameras application in accordance with an embodiment of the present invention. -
FIG. 48 depicts an example GUI screen for a news application in accordance with an embodiment of the present invention. -
FIG. 49 depicts an additional example GUI screen for a news application in accordance with an embodiment of the present invention. -
FIG. 50 depicts an example GUI screen for a horoscopes application in accordance with an embodiment of the present invention. -
FIG. 51 depicts an additional example GUI screen for a horoscopes application in accordance with an embodiment of the present invention. -
FIG. 52 depicts an example GUI screen for a recipes application in accordance with an embodiment of the present invention. -
FIG. 53 depicts an additional example GUI screen for a recipes application in accordance with an embodiment of the present invention. -
FIG. 54 depicts an example GUI screen for a calendar application in accordance with an embodiment of the present invention. -
FIG. 55 depicts an additional example GUI screen for a calendar application in accordance with an embodiment of the present invention. -
FIG. 56 depicts an example GUI screen for an Internet radio application in accordance with an embodiment of the present invention. -
FIG. 57 depicts an example GUI screen for a stocks application in accordance with an embodiment of the present invention. -
FIG. 58 depicts an example GUI screen for an Internet video application in accordance with an embodiment of the present invention. -
FIG. 59 depicts an example GUI screen for an Internet-based photo application in accordance with an embodiment of the present invention. -
FIG. 60 depicts an example GUI screen for an alarm application in accordance with an embodiment of the present invention. -
FIG. 61 depicts an additional example GUI screen for an alarm application in accordance with an embodiment of the present invention. -
FIG. 62 depicts an example GUI screen for a screensaver application in accordance with an embodiment of the present invention. -
FIG. 63 depicts an example GUI screen for a directory services application in accordance with an embodiment of the present invention. -
FIG. 64 depicts an example GUI screen for a memos application in accordance with an embodiment of the present invention. -
FIG. 65 depicts an example GUI screen for a television (TV) programming guide application in accordance with an embodiment of the present invention. -
FIG. 66 depicts an example GUI screen for a network setup application in accordance with an embodiment of the present invention. -
FIG. 67 depicts an additional example GUI screen for a network setup application in accordance with an embodiment of the present invention. -
FIG. 68 depicts an example GUI screen for an advanced network setup application in accordance with an embodiment of the present invention. -
FIG. 69 depicts an example GUI screen for a home control application in accordance with an embodiment of the present invention. -
FIG. 70 depicts an overlay interface for performing home control functions associated with a selected room that may be displayed over the GUI screen ofFIG. 69 in accordance with an embodiment of the present invention. -
FIG. 71 depicts a further overlay interface for performing a selected home control function that may be displayed over the GUI screen ofFIG. 69 in accordance with an embodiment of the present invention. -
FIG. 72 is a block diagram of a system in accordance with an embodiment of the present invention that includes a services platform for enabling entities to deploy, manage optimize and monitor a network of telephony and multimedia services devices. -
FIG. 73 depicts four main areas of an application store life cycle in accordance with an embodiment of the present invention. -
FIG. 74 depicts an example GUI screen that may be used to provide an interface to application store in accordance with an embodiment of the present invention. -
FIG. 75 is a block diagram that shows how a content aggregation subsystem may be used to aggregate content from multiple content providers in accordance with an embodiment of the present invention. -
FIG. 76 is a block diagram of a system in accordance with an embodiment of the present invention that obtains directory services information from a single IP-based directory for presentation on a telephony and digital media services device. -
FIG. 77 is a block diagram of a system in accordance with an embodiment of the present invention that obtains directory services information from multiple IP-based directories for presentation on a telephony and digital media services device. -
FIG. 78 is a block diagram of a system in accordance with an embodiment of the present invention that obtains premium placement directory services information, standard directory services information and advertisements for presentation on a telephony and digital media services device. -
FIG. 79 is a block diagram of a system in accordance with an embodiment of the present invention that uses click-to-dial reporting to provide community-based popularity information for presentation on a telephony and digital media services device. -
FIG. 80 depicts various components of a directory services application in accordance with an embodiment of the present invention. -
FIGS. 81-83 depict example GUI screens of a directory services application in accordance with an embodiment of the present invention. -
FIG. 84 depicts an example computer system that may be used to implement various features of the present invention. -
FIG. 85 is a block diagram of an example application store in accordance with an embodiment of the present invention. - Applicants expressly disclaim any rights to any third-party trademarks or copyrighted images included in the figures. Such marks and images have been included for illustrative purposes only and constitute the sole property of their respective owners.
- The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings, in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.
- The following detailed description refers to the accompanying drawings that illustrate exemplary embodiments of the present invention. However, the scope of the present invention is not limited to these embodiments, but is instead defined by the appended claims. Thus, embodiments beyond those shown in the accompanying drawings, such as modified versions of the illustrated embodiments, may nevertheless be encompassed by the present invention.
- References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” or the like, indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
-
FIG. 1 depicts elements of asystem 100 for providing telephony and digital media services to a location, such as a home or office, in accordance with an embodiment of the present invention. As used herein, the term “digital media services” broadly refers to any service that is based on the transfer and/or presentation of digital content to a user. As shown, inFIG. 1 ,system 100 includes a telephony and digital media services device (“device”) 110 and associatedhandsets 120. - As shown in
FIG. 1 ,device 110 includes adisplay 112.Display 112 is used to provide a graphical user interface (GUI) that enables a user to initiate, manage and experience telephony and digital media services provided bysystem 100. In one embodiment,display 112 comprises a color LCD display with a capacitive touch screen panel. In such an embodiment, a user may interact with the GUI by touchingdisplay 112 with a finger. -
Handsets 120 provide a means for extending the telephony services, and optionally other services, ofdevice 110 to other areas within a given location, such as to other areas within a home or office. As shown inFIG. 1 , eachhandset 120 includes a user interface that comprises both adisplay 122, such as a color LCD display, and akeypad 124. Eachhandset 120 may be placed in acorresponding docking station 126.Docking station 126 provides an interface by which a battery internal to a handset may be recharged and also provides a means for supporting a handset when it is not in use. -
Handsets 120 are configured to wirelessly communicate withdevice 110 for the purposes of providing telephony services and to optionally provide other services to a user. In one embodiment, such communications are carried out in accordance with the Digital Enhanced Cordless Telecommunications (DECT) standard published by the European Telecommunications Standards Institute (ETSI). Thus, in one embodiment,device 110 is configured to act as a DECT base station andhandsets 120 are configured to act as DECT handsets. Other communication configurations will be discussed elsewhere herein. -
FIG. 2 is a back perspective view ofdevice 110. As shown inFIG. 2 ,device 110 includes aninterface 202 for connecting to a power supply, such as an AC adapter as well as aninterface 204 for connecting to a network, such as a local area network or wide area network. In one embodiment,interface 204 comprises an Ethernet interface, such as a 10/100/1000 megabit per second (Mbps) Ethernet interface.Device 110 may also include an internal wireless network adapter, such as an 802.11 wireless network adapter, for providing network connectivity. As will be described in more detail herein, such network connectivity may be utilized bydevice 110 for providing telephony services and/or certain digital media services to a user. - The foregoing provides by way of introduction only a brief description of certain implementations of
device 110 andhandsets 120 that comprise a portion of telephony and digital mediaservice delivery system 100. Additional details concerning such implementations, as well as various alternative implementations, will be described in detail herein. - In order to provide telephony services and certain digital media services,
device 110 andhandsets 120 may be communicatively connected to a telecommunications carrier and/or Internet Protocol (IP) network. Various manners of implementing such connectivity will now be described with reference toFIGS. 3-8 . -
FIG. 3 depicts connectivity aspects of afirst example installation 300. Ininstallation 300,device 110 is communicatively connected to a remotetelecommunication carrier switch 302 and is configured to receive Voice over Internet Protocol (VoIP) telephony services therefrom via a VoIP connection. The VoIP connection may be implemented, for example, over a broadband data service such as Digital Subscriber Line (DSL), Integrated Services Digital Network (IDSN), data over cable, T1/T3, optical carrier, carrier-class Ethernet, satellite or any other suitable data service. The various physical transport media used for implementing such data services are well known. In one embodiment,device 110 connects to the appropriate data service via an Ethernet interface or WiFi interface, although these are only examples. The broadband data service may be also used bydevice 110 to provide other services, such as digital media services, to a user. - In one embodiment of
installation 300,carrier switch 302 acts as a Session Initiation Protocol (SIP) server anddevice 110 acts as a SIP client for the purposes of conducting VoIP telephony services.Handsets 120 are wirelessly connected todevice 110 using the well-known DECT protocol, which is used to extend telephony services to each handset. - A limitation of
installation 300 is that the installation is limited to onedevice 110, which is configured to act as a DECT base station. -
FIG. 4 depicts connectivity aspects of an alternative example installation 400. In installation 400, acarrier switch 402 is configured to perform shared trunking. This allows multiple devices, includingdevice 110 and additional device(s) 410, to be associated with the same telephone number for the purposes of receiving incoming telephony calls. As shown inFIG. 4 , a separate VoIP connection is maintained betweencarrier switch 402 and each device. Additionally, each device is associated with one or more handsets (e.g.,device 110 is associated withhandsets 120, each of device(s) 410 is associated with corresponding handset(s) 420) and communicates wirelessly therewith using DECT. A limitation of installation 400 is that the handsets associated with one device cannot communicate with handsets associated with another device through standard DECT intercom mechanisms because each handset is configured to communicate with a different DECT base station. -
FIG. 5 depicts an alternate installation 500 that supportsmultiple devices 506 andhandsets 508 via anadapter unit 504 in an environment in which a telecommunication carrier provides VoIP service. In installation 500,devices 506 do not act as DECT base stations but instead are configured to operate as DECT clients in a like manner tohandsets 508.Adapter unit 504 is installed on-site along withdevices 506 andhandsets 508 and is connected to aremote carrier switch 502.Adapter unit 504 includes an Analog Terminal Adapter (ATA) andDECT base station 510. As will be appreciated by persons skilled in the relevant art(s), an ATA comprises an adapter that allows a Plain Old Telephony System (POTS) telephone to interface to a VoIP provider. - In installation 500,
devices 506 andhandsets 508 perform telephony-related operations by communicating via the DECT protocol with the DECT base station within ATA andDECT base station 510. Installation 500 also advantageously supports the operation of legacy POTS equipment (such as POTS telephones, fax machines and security systems) by allowing such equipment to be connected via a POTS interface to the ATA within ATA andDECT base station 510. -
Adapter unit 504 further includes a Wi-Fi access point (i.e., an IEEE 802.11 access point) and/orEthernet switch 512. This element provides access to the Internet via an IP link. As shown inFIG. 5 , the IP link may be supported by the same data service and physical transport media used to support the VoIP connection withcarrier switch 502. In an embodiment, each ofdevices 506 is communicatively connected to Wi-Fi access point/Ethernet switch 512 for the purpose of accessing digital media that may be used to provide services to a user. In an alternate implementation, Wi-Fi access point/Ethernet switch 512 is not integrated withinadapter unit 504 but instead comprises one or more separate stand-alone devices. -
FIG. 6 depicts an installation 600 that supportsmultiple devices 606 andhandsets 608 via anadapter unit 604 in an environment in which a telecommunications carrier provides POTS service. In installation 600,devices 606 do not act as DECT base stations but instead are configured to operate as DECT clients in a like manner tohandsets 608.Adapter unit 604, which includes aDECT base station 610 and a Wi-Fi access point and/orEthernet switch 612, is installed on-site along withdevices 606 andhandsets 608.DECT base station 610 is connected to acarrier switch 602 via a POTS interface. -
Devices 606 andhandsets 608 perform telephony-related operations by communicating via the DECT protocol withDECT base station 610. Legacy POTS equipment may be connected to a POTS interface to receive POTS service directly fromcarrier switch 602. - Wi-Fi access point/
Ethernet switch 612 provides access to the Internet via an IP link that is not associated withcarrier switch 602. Such IP link may be provided using any known data service/physical transport media combination. In an embodiment, each ofdevices 606 is communicatively connected to Wi-Fi access point/Ethernet switch 612 for the purpose of accessing digital media that may be used to provide services to a user. In an alternate implementation, Wi-Fi access point/Ethernet switch 612 is not integrated withinadapter unit 604 but instead comprises one or more separate stand-alone devices. -
FIG. 7 depicts an alternate installation 700 that supportsmultiple devices 706 andhandsets 708 via anadapter unit 704 in an environment in which a telecommunications carrier provides VoIP service. In installation 700, VoIP services are provided directly todevices 706 andhandsets 708. To achieve this,adapter unit 704 is installed on-site along withdevices 706 andhandsets 708.Adapter unit 704 includes an ATA and a Session Initiation Protocol (SIP)proxy 710 that is communicatively connected to acarrier switch 702 via a VoIP connection.Adapter unit 704 also includes a Wi-Fi access point and/orEthernet switch 712 that is communicatively connected tocarrier switch 702 via an IP link and to ATA andSIP proxy 710. - The SIP proxy within ATA and
SIP proxy 710 allowsdevices 706 to register with it and maintains a local numbering plan. Thus, SIP proxy essentially operates as a home private branch exchange (PBX). The SIP proxy in turn registers withcarrier switch 702. Communication between eachdevice 706 and the SIP proxy is via Wi-FI access point/Ethernet switch 712. Preferably, eachhandset 708 is also capable of communicating with the SIP proxy via Wi-Fi or some other protocol capable of supporting SIP communication. - In installation 700, the ATA within ATA and
SIP proxy 710 can provide a POTS interface for providing telephony service to legacy POTS equipment. Wi-Fi access point/Ethernet switch 712 can be used bydevices 706 to access digital media for providing services to a user. Wi-Fi access point/Ethernet switch 712 may either be integrated withinadapter unit 704 or comprise one or more separate stand-alone devices. -
FIG. 8 depicts an alternate installation 800 that supportsmultiple devices 806 andhandsets 808 via anadapter unit 804 in an environment in which a telecommunications carrier provides POTS service. In installation 800, VoIP services are provided directly todevices 806 andhandsets 808. To achieve this,adapter unit 804 is installed on-site along withdevices 806 andhandsets 808.Adapter unit 804 includes a Foreign Exchange Office (FXO) gateway (SIP server) 810 that is connected via a POTS interface to acarrier switch 802.Adapter unit 804 further includes a Wi-Fi access point and/orEthernet switch 812 that provides access to the Internet via an IP link and that is connected toFXO gateway 810. -
FXO gateway 810 allowsdevices 806 to register with it and maintains a local numbering plan. Thus,FXO gateway 810 essentially operates as a home PBX. Communication between eachdevice 806 andFXO gateway 810 is via Wi-Fi access point/Ethernet switch 812. Preferably, eachhandset 808 is also capable of communicating withFXO gateway 810 via Wi-Fi or some other protocol capable of supporting SIP communication. FXO gateway in turn communicates withcarrier switch 802 via one or more POTS lines. - In installation 800, legacy POTS equipment may be connected to a POTS interface to receive POTS service directly from
carrier switch 802. Wi-Fi access point/Ethernet switch 812 can be used bydevices 806 to access digital media or other information for providing services to a user. Wi-Fi access point/Ethernet switch 812 may either be integrated withinadapter unit 804 or comprise one or more separate stand-alone devices. - Depending upon the implementation, the adapter unit described above in reference to
FIG. 7 orFIG. 8 may be configured to function as a “mini-PBX,” offering a variety of features to a user acting as administrator. For example, the adapter unit may be configured to present a Web page, Adobe® Flash® movie, or some other interface that provides programmatic control to a user of a computer that is connected to the adapter unit. The computer may be connected to the adapter unit via a wired interface, such as an Ethernet or Universal Serial Bus interface, or via a wireless interface, such as an 802.11 interface. Such a configuration is depicted inFIG. 9 , which shows acomputer 902 connected to anadapter unit 904 having PBX functionality (which may represent, for example,adapter unit 706 ofFIG. 7 oradapter unit 806 ofFIG. 8 ) for the purpose of providing a user with programmatic control over certain features implemented byadapter unit 904. - The adapter unit may be configured to discover new devices or handsets in a location such as a home. The discovery protocol may be implemented, for example, using an IP protocol or via DECT.
- The adapter unit may also be configured to present a list of newly-discovered devices and handsets to the user. The adapter unit may permit a user to assign names, locations and/or extension numbers to the devices/handsets. In an implementation in which the devices and handsets are VoIP devices, the adapter unit may allow a user to define a numbering plan (e.g., 4-digit extensions) and assign numbers to the devices. If DECT is used for communication with the devices, then single-digit identifiers may instead be used due to limitations associated with that protocol. The adapter unit may also be configured to allow a user to assign an owner to a device, wherein the association of an owner with a device may cause other items of information to be associated with the device. Thus, for example, if a particular owner is associated with a device, then the device may be configured with a contact list associated with the particular owner.
- The adapter unit may also be configured to allow a user to manage permissions for each connected device or handset. Such permissions may include, for example: time-of-day restrictions on calls (e.g., no calls after 10:00 PM except for 911 calls); dialing restrictions (e.g., no calls to 1-900 numbers or international numbers); call restrictions (e.g., no outgoing calls or no incoming calls); and restrictions on the ability to modify device settings or add/modify/delete contacts. This list of examples is by no means exhaustive and other types of permissions may be managed as will be appreciated by persons skilled in the relevant art(s).
- The adapter unit may also be configured to present a user with status information associated with each device/handset. Such status information may include, and is not limited to, whether a device is in use, whether a device is still functioning (i.e., whether the device is “alive” or “dead”), and other properties associated with a device.
-
FIG. 10 is a block diagram of anexample hardware architecture 1000 ofdevice 110. This hardware architecture is described by way of example only and is not intended to limit the present invention. Persons skilled in the relevant art(s) will readily appreciate that other hardware architectures may be used to implementdevice 110 that are within the scope and spirit of the present invention. - As shown in
FIG. 10 ,hardware architecture 1000 includes an embedded processor andsystem controller hub 1002 that is connected to a plurality of peripheral devices or chips. The embedded processor is preferably one that has been designed for use in portable and low-power applications, such as Mobile Internet Devices (MIDs). The system controller hub comprises a chipset that handles peripheral input/output (I/O) and performs memory and power management functions for the embedded processor. In one embodiment, the embedded processor comprises a 1.1 Gigahertz (GHz) Intel® Atom™ processor designed and sold by Intel Corporation of Santa Clara, Calif., and the system controller hub comprises the Intel® System Controller Hub US15W Chipset, also designed and sold by Intel Corporation of Santa Clara, Calif., although this is only one example. - As shown in
FIG. 10 ,hardware architecture 1000 includes volatile system memory in the form of SDRAM (Synchronous Dynamic Random Access Memory) 1004. In one embodiment, the embedded processor supports an integral 64-bit-wide 4-Gigabits (Gbits) of DDR2 (Double Data Rate 2) SDRAM clocked at 533 Megahertz (MHz). In such an embodiment,SDRAM 1004 may comprise four 512 Megabit (Mbit) DDR2 SDRAM 667 MHz integrated circuits (ICs) directly mounted onto a motherboard along with embedded processor andsystem controller hub 1002. The capacity may be increased from 512 Megabytes (MB) to 1 gigabyte (GB) by populating the board with four 1 Gbit ICs instead. However, these are only examples, and other DDR2 SDRAM configurations, other types of SDRAM, or other types of volatile memory may be used. -
Hardware architecture 1000 also includes non-volatile memory in the form of a managedNAND flash memory 1006, although other forms of non-volatile memory may be used. In one embodiment, managedNAND flash memory 1006 comprises a 512 MB or 1 GB MMC NAND flash memory that is mounted on a motherboard along with embedded processor andsystem controller hub 1002. The use of an MMC NAND flash memory avoids the inclusion indevice 110 of spinning media storage devices, such as hard disk drives or optical drives. The use of an MMC NAND flash memory also means that it is not necessary to employ wear-leveling and error correction when using a file system such as YAFFS2 and that an EXT3 file system can be used instead. -
Hardware architecture 1000 further includes achip 1008 for storing the system BIOS. In one embodiment,chip 1008 comprises an 8 Mbit NOR flash memory that is connected to the system controller hub via a Low Pin Count (LPC) bus, although this is only an example. - Power management functions are performed in
hardware architecture 1000 by apower management chip 1010. In one embodiment,power management chip 1010 comprises an Intel® Mobile Voltage Positioning chip designed and sold by Intel Corporation of Santa Clara, Calif. that is connected to embedded processor andsystem controller hub 1002 via an Inter-Integrated Circuit (I2C) bus.Power management chip 1010 is used to sequence power to embedded processor andsystem controller hub 1002. As a secondary function, a subset of a plurality of general purpose input/output (GPIO) connections ofpower management chip 1010 are used to connect to a Joint Test Action Group (JTAG) interface of a DECT processor 1012 (to be described below). This enables updating of the firmware ofDECT processor 1012 in a manner that minimizes the likelihood that the firmware will be left in an unrecoverable state. -
Hardware architecture 1000 also includes aDECT processor 1012. In one embodiment,DECT processor 1012 comprises a DECT base station processor that supports up to five handsets. In an implementation in whichDECT processor 1012 has no explicit hardware reset input, a GPIO connection from the embedded processor may be used to reset the device by turning its power supply off and then on again. - A Universal Serial Bus (USB) is used to transfer audio (e.g., up to four channels of audio) in each direction between
DECT processor 1012 and the system controller hub.DECT processor 1012 may be configured to act as the bus master and drive the USB bus. In an implementation in which the maximum speed of the USB bus is 4.096 MHz,DECT processor 1012 may drive the USB bus with a bit clock rate of 2.048 MHz. - In one embodiment, universal asynchronous receivers/transmitters (UARTS) on the system controller hub and
DECT processor 1012 implement a 115200 baud channel that is used to transfer control and data packets between the two. Packets on this link are encapsulated using Serial Line IP (SLIP) (as documented in Request for Comments: 1055, published by the Internet Engineering Task Force, June 1988). Layered on top of this is a cordless telephone application programming interface (CTAPI) protocol. The CTAPI protocol comprises request, response and event message types. These message types all have a common header and, optionally, some data. Responses and events are asynchronous; each request is tagged with a sufficiently unique identifier that is copied into a header of the corresponding response. The identifier is used to match responses with their originating requests. - To perform an API operation (e.g., obtain firmware version number, go off-hook, update handset name, etc.), a main application running on the embedded processor sends a request message to
DECT processor 1012 or to one ofhandsets 120 viaDECT processor 1012. The message recipient performs the requested actions and returns a response. Additionally, a spontaneous action such as a handset going off-hook or propagating a name or address book update can generate an event message to be sent fromDECT processor 1012 to the embedded processor. - In one embodiment,
DECT processor 1012 is configured to execute acoustic echo cancellation (AEC) software. In accordance with such an embodiment, a microphone andspeakers 1024 internal todevice 110 are connected directly toDECT processor 1012 whenever speakerphone functionality ofdevice 110 is in use. During high-fidelity audio playback, however, speaker andmicrophone 1024 are connected to anaudio codec 1022. - As noted above,
hardware architecture 1000 includes an internal microphone andspeakers 1024. The microphone may comprise a mono microphone and the speakers may comprise stereo speakers with an associated stereo amplifier. The speakers may be driven by anaudio codec 1022. In one embodiment,audio codec 1022 comprises a 2-channel audio codec such as the Intel® High Definition Audio (HDA) system designed and sold by Intel Corporation of Santa Clara, Calif. In such an embodiment,audio codec 1022 connects to embedded processor andsystem controller hub 1002 via an HDA bus. - A stereo jack may be provided on
device 110 for connecting headphones or an external amplifier and speakers toaudio codec 1022. In one embodiment, when a plug is inserted into this jack, the internal speakers are automatically disconnected and their amplifier is powered down. The state of this jack may be determined by software. - As described above in reference to
FIG. 1 ,device 110 includes anLCD display 1016. As shown inFIG. 10 ,LCD display 1016 connects to embedded processor andsystem controller hub 1002 via a low-voltage differential signaling (LVDS) connection over twisted pair copper cables. In one example implementation,LCD display 1016 comprises a thin film transistor (TFT) LCD display that has a 7 inch (17.8 centimeter (cm)) wide screen and supports 24-bit color.LCD display 1016 may provide an active viewing area of 152.4 millimeters (mm)×91.4 mm, support a pixel format of 800×480 pixels, and have a pixel pitch of 0.1805 (H)×01.905 (V).LCD display 1016 may further provide a 15:9 aspect ratio, a display mode that is normally white, LED backlighting, and a brightness of approximately 350 candelas per square meter (cd/m2). - In an embodiment,
LCD display 1016 may be used in both a transmissive mode and a reflective mode. In accordance with such an embodiment, a color display may be used when in the transmissive mode and a very low-power monochrome display may be used when in the reflective mode. In further accordance with such an embodiment, the LCD backlight for the transmissive mode may be provided by white light emitting diodes (LEDs). In particular, multiple LEDs may be connected in series into three chains in order to equalize their brightness. These chains may then be powered in parallel. LEDs from all three chains may be interleaved to minimize the impact of a single chain burning out. In one implementation, up to 60 milliamps (mA) of current at 25.6 Volts (V) is provided to drive the backlight. Two signals may be used to control the backlight operation. The first signal enables/disables the backlight and the second signal is pulse-width modulated to generate a voltage that varies the brightness of the backlight. - As also described above in reference to
FIG. 1 , a touch panel is integrated withLCD display 1016 to provide a user interface todevice 110. The touch panel includes an integrated programmable system on chip (PSOC)controller 1014 that is connected to embedded processor andsystem controller hub 1002 via a USB bus. - In one embodiment, the touch panel comprises a 7 inch capacitive touch panel having a glass surface. As will be appreciated by persons skilled in the relevant art(s), capacitive touch panels are highly responsive to the touch of a finger, but do not respond to other types of touches. Consequently, the use of such a panel reduces the chance of false touches from jewelry, clothing or other contaminants. Furthermore, it is expected that such a glass capacitive touch panel will be more durable and last longer than other types of touch panels such as resistive touch panels. A glass capacitive touch panel will also have less of an impact on screen brightness as compared to resistive touch panels.
-
Hardware architecture 1000 further includes an internal Wi-Fi controller 1018 for supporting wireless networking. Wi-Fi controller 1018 is connected to embedded processor andsystem controller hub 1002 via a USB interface. In one embodiment, Wi-Fi controller 1018 comprises an 802.11b/g controller. In an alternative embodiment Wi-Fi controller 1018 comprises an 802.11b/g/n controller. Wi-Fi controller 1018 may include an integrated internal antenna. -
Hardware architecture 1000 also includes anEthernet chip 1020 that supports wired networking in accordance with the Ethernet protocol. In one embodiment,Ethernet chip 1020 comprises a 10/100/1000 Mbps Ethernet chip. As shown inFIG. 10 ,Ethernet chip 1020 is connected to embedded processor andsystem controller hub 1002 via a PCI Express (PCIe) bus. An external RJ45 jack is provided ondevice 110 to facilitate connection toEthernet chip 1020. -
Hardware architecture 1000 may further include an external USB 2.0 port (not shown inFIG. 10 ) that connects to embedded processor andsystem controller hub 1002 via a USB bus. Also not shown inFIG. 10 is a power supply that is connected tohardware architecture 1000 and supplies power thereto. In one embodiment the power supply comprises a 5V, 4A AC power supply. -
FIG. 11 depicts analternate hardware architecture 1100 for adevice 110 that has been designed specifically for office environments.Hardware architecture 1100 may be thought of as a modified version ofhardware architecture 1000 ofFIG. 10 , or vice versa. As shown inFIG. 11 ,hardware architecture 1100 does not include a DECT processor for wireless handset support or a Wi-FI controller for 802.11 wireless networking. These features may be deemed less useful or not useful in an office environment. -
Hardware architecture 1100, however, does include some additional elements as compared tohardware architecture 1000. These include aBluetooth® adapter 1126, anEthernet switch 1130, and a Power over Ethernet (PoE) connector. -
Bluetooth® adapter 1126 allows an end user to invoke the telephony features ofdevice 110 using a Bluetooth® cordless headset or like device.Bluetooth® adapter 1126 may be connected to embedded processor andsystem controller hub 1102 via a USB bus. In a further embodiment,hardware architecture 1100 may also include an integrated charger that allows an end user to charge the battery or batteries of a Bluetooth® cordless headset or like device by plugging the device into a USB port, mini-USB port, or other suitable port ofdevice 110. -
Ethernet switch 1130 comprises a multi-port (e.g., two-port) Ethernet switch with an additional port host interface via PCIe.Ethernet switch 1130 provides a convenient Internet pass-through for other network-capable devices (e.g., personal computers, laptops, printers, storage devices, or the like) that might be used in an office environment. Because it is a switch,Ethernet switch 1130 allows multiple Ethernet devices to be connected to a single Ethernet connection in a non-interfering manner. -
PoE connector 1130 comprises a connector that allows power to be delivered todevice 110 via an Ethernet connection. In one embodiment,PoE connector 1130 comprises an eight-pin RJ-45 connector that uses two pairs for power (two for + and two for −) as well as the normal two pairs for data (1-2, 3-6). A switching regulator with good isolation (transformer and opto-coupler). - Although not shown in
FIG. 11 ,hardware architecture 1100 may further include a fingerprint scanner that allowsdevice 110 to be placed in a locked/unlocked state by only authorized user(s). Such protection may be deemed desirable in an office environment. In a further embodiment, the configuration of device 110 (e.g., owner, phone number, contacts, etc.) may be determined based on the fingerprint used to unlockdevice 110. - The other components shown in
FIG. 11 (embedded processor andsystem controller hub 1102,SDRAM 1104, managedNAND 1106,BIOS 1108,power management 1110,touch panel controller 1114,LCD display 1116,audio codec 1122 and microphone/speakers 1124) are generally similar to like-named elements ofhardware architecture 1000, although certain implementation details may vary. These components will not be described herein for the sake of brevity. -
FIG. 12 is a block diagram of anexample software architecture 1200 ofdevice 110. As shown inFIG. 11 ,software architecture 1200 includes a plurality of software components running atop an embedded processor andperipherals 1202. As noted above, the embedded processor preferably comprises a processor designed for use in portable and low-power applications, such as Mobile Internet Devices (MIDs), and in one embodiment comprises an Intel® Atom™ processor designed and sold by Intel Corporation of Santa Clara, Calif. - The embedded processor executes an
operating system 1204 that provides a context for the execution of system and application processes that will be described in more detail herein. In one embodiment,operating system 1204 comprises a Linux-based operating system, such as an Ubuntu® MID Edition operating system based on Linux kernel release 2.6.24, although this is only an example. In one embodiment,operating system 1204 is optimized through custom configuration for a small size and rapid startup. - Certain system and/or application processes that run in the context of
operating system 1204 are designed to interact with hardware peripherals that are communicatively connected to the embedded microprocessor. To facilitate such interaction,software architecture 1200 includes a plurality ofdevice drivers 1210, each of which provides an abstraction layer between a hardware peripheral and the system and/or application processes that use it. - As shown in
FIG. 12 ,device drivers 1210 include adevice driver 1212 for facilitating interaction with a display, adevice driver 1214 for facilitating interaction with a touch panel associated with the display, adevice driver 1216 for facilitating interaction with a Universal Serial Bus (USB) device or port, adevice driver 1218 for facilitating interaction with a power management device, and adevice driver 1220 for facilitating interaction with a managed NAND flash memory. These are only examples, andother device drivers 1210 may be used depending on the hardware peripherals present in telephony and digitalmedia services device 110. - As further shown in
FIG. 12 ,software architecture 1200 also includes a plurality of sharedsystem libraries 1220 that contain code and data that may be used to provide services to independent programs running in the context ofoperating system 1204.System libraries 1220 includecodecs 1222,cryptographic functions 1224, homedevice management services 1226, andother system libraries 1228. -
Codecs 1222 are utilized for performing compression and decompression of multimedia content such as images, audio content and video content.Codecs 1222 may include, for example, codecs for compressing/decompressing images in accordance with one or more of the JPEG, TIFF, PNG, GIF and BMP image compression formats, codecs for compressing/decompressing audio content in accordance with one or more of the MP3, WAV, WMA and RealAudio audio compression formats, and codecs for compressing/decompressing video content in accordance with one or more of the MPEG-2, MPEG-4part 2, MPEG-4 part 10 (H.264),WMV 9, DivX, VC1 and FLV compression formats. However, these are only examples and other types of codecs may be used. -
Cryptographic functions 1224 comprises a library of cryptographic algorithms and tools that may be utilized for encrypting and decrypting data. End-userdevice management services 1226 include functions necessary to implement protocols for remotely managing end-user devices, such as protocols in accordance with the DSL Forum Technical Specifications TR-069/TR-111. - As shown in
FIG. 12 ,software architecture 1200 also includes an operating system (OS)abstraction layer 1206 that runs atopoperating system 1204.OS abstraction layer 1206 serves to insulate any component running above it (e.g. application player 1208 and applications 1240) from any idiosyncrasies ofoperating system 1204. This serves to localize the efforts of porting applications to a single component. -
Software architecture 1200 further includes a plurality ofclass modules 1230.Class modules 1230 comprise libraries, such as C and/or C++ libraries, that may be used by certain applications to perform certain functions. In one embodiment,class modules 1230 define function calls that can be made available to one or more applications running in the context ofapplication player 1208. For example,class modules 1230 may define ActionScript function calls that can be made available to one or more Shockwave Flash (SWF) applications that are executed byapplication player 1208. As will be described in more detail herein,class modules 1230 may be downloaded to telephony and digitalmedia services device 110 along with applications that they support. -
Class modules 1230 include an application (app) manager/loader 1232 which provides functionality for an application (app)manager application 1244, amedia player 1234 that provides functionality for applications that play back digital media, and aVoIP module 1236 that provides functionality for aVoIP telephony application 1246.VoIP module 1236 may provide, for example, access to SIP functionality, audio engine functionality and DECT functionality used in performing VoIP telephony operations.Class modules 1230 also includeadditional class modules 1238 as well.Additional class modules 1238 may include, for example, APIs for sending requests to Web services made available over a Wide Area Network (WAN) such as the Internet and receiving content responsive to the requests. - Software architecture further includes an
application player 1208. In one embodiment,application player 1208 comprises an Adobe® Flash® Player or an equivalent Flash® player, suitable for executing Shockwave Flash (.swf) files to display vector-based animations, to stream audio and video content, and to allow various forms of user interaction.Application player 1208 may comprise, for example, a Flash®-compatible player that has been optimized for embedded environments. In accordance with such an embodiment,application player 1208 provides support for an embedded scripting language called ActionScript, which is based on ECMAScript.Application player 1208 may provide native support for a plurality of ActionScript function calls. Furthermore, as noted above,class modules 1230 may define additional ActionScript function calls that can be used by one or more applications that are executed byapplication player 1208. -
Software architecture 1200 further includes a plurality ofapplications 1240, each of which may be executed byapplication player 1208.Applications 1240 may comprise Flash® applications.Applications 1240 may be selectively executed by users to invoke telephony or digital media services provided bydevice 110. Where an application provides digital media services, such services may be provided using functionality and/or data stored locally with respect todevice 110 as well as using remotely-located functionality and/or data, such as functionality and/or data obtained over a WAN such as the Internet. For example, provision of a digital media service may entail invoking a Web service via the Internet. - As shown in
FIG. 12 , these applications may include a status/monitoring application 1242, an application (app)manager 1244, aVoIP telephone 1246, a local ornetwork calendar 1248, aYouTube™ application 1250, atraffic monitoring application 1252, anews application 1254, analarm clock 1256, andother applications 1258. -
Other applications 1258 may include for example, a calculator, a local or network address book, a media player, an Internet radio/video application, a weather application, a comics application, a to-do list application, a world clocks application, a countdown timer (e.g., days until Christmas), a games application (e.g., solitaire, Soduko, Tetris, etc.), a Web browser, an e-mail application, a city guide application, a wireless cameras application, a home monitoring application, a home control application (e.g. lights, audio/video (A/V) system, HVAC, UPnP), a Flickr™ photos application, a Google™ talk application, a map application, a directory services/yellow pages application, an EPG (TV Guide) application, a word of the day application, a joke of the day application, a quotations application, a dictionary application, a movie times application, a delivery services application, an RSS reader, a stock ticker, or a social networking application, such as a Ning™ or Facebook™ application. Various features associated with certain ones of these applications will be described in more detail herein. - The use of Flash® applications to implement the various GUI screens of
device 110 provides distinct advantages over using more traditional programming languages such as C or C++. For example, development of GUI screens using Flash® is simpler and easier as compared to programming bit maps in C code. Furthermore, because Flash® files are small, a complex GUI screen may be rendered smoothly and at very high speeds. Also the use of Flash® applications provides a distinct separation between the implementation of a GUI screen and the underlying functionality, such that the GUI screen may be constructed, revised or upgraded without affecting underlying programs. -
FIG. 13 is a block diagram that depictssystems software elements 1300 of the software architecture ofdevice 110 in accordance with an embodiment of the present invention. As shown inFIG. 13 ,systems software elements 1300 include aBIOS 1302, aboot loader 1304, anoperating system 1306, afile system 1308, and system files 1310. Each of these elements will now be described. -
BIOS 1302 defines a software interface between the operating system and the platform firmware and hardware ofdevice 110.BIOS 1302 is stored in non-volatile memory that is connected to a system controller hub withindevice 110 and is executed automatically at system startup. In one embodiment,BIOS 1302 is stored in an 8 Mbit NOR flash memory that is connected to the system controller hub via an LPC bus. - In one implementation,
BIOS 1302 comprises a software interface defined in accordance with the Extensible Firmware Interface (EFI) specification. As will be appreciated by persons skilled in the relevant art(s), EFI comprises an improved replacement of the legacy BIOS used by all IBM PC-compatible computers. EFI has a modular structure that provides a set of modular interfaces that replace the traditional BIOS interfaces. EFI dramatically shortens boot times and improves the reliability of the boot architecture while providing full legacy support. - In an embodiment,
BIOS 1302 may also be thought of as encompassing a video BIOS. The video BIOS provides a set of video-related functions that are used by programs to access video hardware withindevice 110. The video BIOS may comprise for example an Intel® Embedded Graphics Driver (IEGD) video BIOS, developed and sold by Intel Corporation of Santa Clara, Calif., although this is only an example. - In one embodiment of the present invention,
BIOS 1302 outputs a splash screen to the display ofdevice 110 during system startup. In a further embodiment, system hardware allows a video feed to be overlaid upon the splash screen prior to initialization of a graphic sub-system. In such an embodiment, the video feed functionality may be used to overlay a visual progress indicator upon the splash screen during system startup. The visual progress indicator may comprise a status bar, text, or some other visual indicator of the progress of the loading ofBIOS 1302 and booting of the operating system. This visual progress indicator can advantageously be used both by developers during manufacturing and end-users after deployment to monitor device performance. Such a visual progress indicator can be displayed even in an instance where initialization of the graphic sub-system has failed. -
Boot loader 1304 comprises a program that is launched byBIOS 1302 during system startup and that is configured to loadoperating system 1306 ofdevice 110. As noted above, in one embodiment,operating system 1306 comprises a Linux-based operating system, such as an Ubuntu® MID Edition operating system based on Linux kernel release 2.6.24, that has been optimized through custom configuration for a small size and rapid startup. -
Boot loader 1304 and the files that compriseoperating system 1306 are each stored within afile system 1308 implemented using non-volatile storage. In one embodiment, the non-volatile storage comprises a managed NAND flash memory that is connected to a system controller hub withindevice 110. - In one implementation,
file system 1308 comprises two distinct file systems: a Virtual File Allocation Table (VFAT) file system that is used to storeboot loader 1304 and an EXT3 file system that is used to store operating system files and application files. A VFAT file system may be required for storingboot loader 1304 in an implementation in whichBIOS 1302 comprises an EFI BIOS that can only read files from a VFAT file system. - In order to ensure system operability, in a further embodiment, a fail-safe version of the operating system kernel is stored in the VFAT file system while another updateable version of the operating system kernel is stored in the EXT3 file system. The fail-safe version of the operating system and
boot loader 1304 are not updateable (or are only updateable in a highly restricted manner), thereby providing a means for starting up the system even when the updateable version of the operating system kernel is corrupted (e.g., due to a failed update). In such a case, the fail-safe version of the operating system can be booted from the VFAT file system and can load its file system from VFAT into volatile memory (e.g., SDRAM) and run out of the volatile memory. This allows for files in the EXT3 file system to be repaired without fear of overwriting the kernel. This approach also allows for diagnostic testing and the establishment of a network connection to a known server to download the latest stable version of the system firmware (operating system and applications). - In one embodiment,
boot loader 1304 selects the fail-safe kernel instead of the updateable kernel image based on a flag stored in non-volatile storage, which as noted above may comprise a managed NAND flash memory. This flag may be set to select the fail-safe kernel by a process monitor daemon when the process monitor daemon determines that the operating system has been in an unresponsive state for a period of time that equals or exceeds a predetermined period of time. The flag may also be set to select the fail-safe kernel when the system first boots and may be reset to select the updateable kernel upon successful startup of the operating system and process monitor daemon. If the system fails to boot, then a subsequent attempt to boot will force the fail-safe kernel image to boot. - In an embodiment in which the non-volatile memory comprises a managed NAND flash memory, certain features may be implemented to ensure that the EXT3 file system is written to as seldom as possible in order to extend the useful life of the managed NAND flash memory. These features may include, for example, configuring applications that access the EXT3 file system to ensure that such applications do not frequently write files to the file system and configuring the length of a journaling interval of the EXT3 file system so that the lifetime of the managed NAND flash memory will extend beyond the expected lifetime of
device 110. Another feature that may be used to extend the life of the managed NAND flash memory comprises turning off a feature of the EXT3 file system that records the last access time of a file. These features are provided by way of example, and other features not described here may be used to extend the life of the managed NAND flash memory. -
System files 1308 comprise shared libraries that contain code and data that may be used to provide services to independent programs running in the context ofoperating system 1306. In an embodiment, the number of system files 1308 maintained on the system is kept to a minimum to conserve system resources. Such files may be stored in an EXT3 file system as described above and updated or added to as needed to support system and application programs. - In one implementation,
BIOS 1302,boot loader 1304,operating system 1306 andsystem files 1308 are all updateable. As noted above, restrictions may be placed on updatingboot loader 1304 and a fail-safe version ofoperating system 1306 that reside in a VFAT filing system in order to ensure that those software modules do not become corrupted. Safe updates ofBIOS 1302 may be achieved by maintaining separate version ofBIOS 1302 within the same non-volatile memory, such that a first version ofBIOS 1302 can be updated while a second version ofBIOS 1302 may be maintained in case the update of the first version ofBIOS 1302 fails, thereby resulting in the corruption of the first version. - As will be described in more detail in this section, the software architecture of
device 110 provides a framework that supports a variety of applications, including applications that delivery telephony and digital media services to an end user. To ensure thatdevice 110 may be deployed by a variety of different service providers (e.g., telecommunications companies, multi system operators, Internet Service Providers, or the like), the application framework supports multiple GUI themes and languages, proprietary protocols, and incremental deployment of applications. The application framework also provides an infrastructure within which a variety of different applications can operate and co-exist without any preconceived notion of what those applications may be. For example, althoughdevice 110 may support VoIP telephony,device 110 may nevertheless be deployed without a VoIP telephony application. - The application framework also provides a modular approach for deploying applications such that a common set of application can be deployed for different service providers. Application deployment models supported by the framework include subscription models in which a user of
device 110 determines at runtime which applications are to be installed as well as a model in which a static set of applications are deployed that are updated monolithically. Because multiple applications may be deployed, each of which may generate asynchronous events, the application framework also provides a method for synchronizing applications. -
FIG. 14 is a block diagram of anapplication framework 1400 that may be implemented bydevice 110. As shown inFIG. 14 ,application framework 1400 includes anapplication player 1402 that is analogous toapplication player 1208 described above in reference toFIG. 12 .Application player 1402 provides native support for a plurality of ActionScript function calls. In the absence of desired functionality,application player 1402 may be enhanced by adding custom software libraries, such as custom C/C++ libraries, that define additional ActionScript function calls. Such libraries are denotedclass modules 1406 inFIG. 14 and are analogous toclass modules 1230 described above in reference toFIG. 12 . Aclass module 1406 may be introduced in conjunction with a new application. Also,several class modules 1406 may be provided as part of an initial deployment to assist applications with common functionality such as usage monitoring and language translations. - As shown in
FIG. 14 ,class modules 1406 may include an applicationmanager class module 1410, aninternationalization class module 1412, a status/monitoring class module 1414, aVoIP class module 1416, a YouTube™ class module 1418, as well as other class modules. YouTube™ class module 1418 is representative of a class module that provides an API for allowing an application to request and obtain digital content from a Web service such as YouTube™. -
Application framework 1400 further includes anapplication manager 1404, which in an embodiment comprises one or more movie applications.Application manager 1404 may also be thought of as encompassing correspondingclass module 1410, which serves to extend the functionality thereof.Application manager 1404 comprises the launching point for all applications on the system. - In particular,
application manager 1404 is configured to interrogatecorresponding class module 1410 for a list of available applications, which in one embodiment is acquired from a local XML file. In one embodiment, the list contains sets of Uniform Resource Locators (URLs) that identify an icon movie and application movie corresponding to each application.Application manager 1404 can then display each application icon accordingly via the GUI provided by touch-panel display ofdevice 110. When a user selects an icon,application manager 1404 invokes the corresponding application URL. Because the icons are themselves small applications, they can advantageously be configured to include animations, or to include intelligence for presenting dynamically-changing data such as current weather conditions, stock prices, or time of day. - The following provides an example of an XML configuration file that lists two applications:
-
<apps> <app name= “Phone” version=“1.0” GUID=“00df-3434-cccc-3422”> <icon url= “file://apps/phone/icon_phone.swf”/> <app url=file://apps/phone/app_phone.swf/> </app> <app name=“YouTube” version=“1.0” GUID=“00df-3664-aacc-3555”> <icon url=“file://apps/youtube/icon_youtube.swf”/> <app url=file://apps/youtube/app_youtube.swf/> </app> </apps> - As mentioned above, depending on the deployment model, new and updated applications may be distributed as part of a monolithic update, or incrementally on a device or subscriber basis. In one example of an incremental approach,
application manager 1404 is configured to query a remotely-located application server for the latest list of available applications. A user may also optionally be allowed to select certain applications. In response, the application server returns a list that identifies an installation package for each of the various applications. The identification for each installation package may comprise a URL. The following provides an example of such a list: -
<apps> <app name=“App1” install= “http://www.customer.com/app1.tar”/> <app name=“App2” install= “http://www.customer.com/app2.tar”/> </apps> - In the foregoing example, each installation package comprises an archive file.
Application manager 1404 may be configured to retrieve and install the applications by executing a shell script (which may be denoted, for example, “install.sh”) that is contained in each installation package archive. Once the installation process is complete,application manager 1404 updates the local XML file that contains the list of all installed applications. Similarly, if a user wishes to remove an application,application manager 1404 can be invoked to execute an uninstall shell script that was provided as part of the installation package. -
FIG. 15 depicts anexample installation package 1500 that may be provided from a remote application server todevice 110 in accordance with one embodiment of the present invention. As shown inFIG. 15 ,application package 1500 includes an installscript 1502 that may be executed to install an application, anuninstall script 1504 that may be executed to uninstall an application, anicon movie 1506 that may be executed to display an icon representative of the application within a GUI, anapplication movie 1508 that may be executed to deliver the functionality of the application to a user, and alanguage file 1510 that may be used to provide representations of text elements to be displayed by the application in one or more languages. - A sample directory structure of an application installed on
device 110 is as follows: -
/tango /apps /guid /install.sh /uninstall.sh /icon_app1.swf /app_app1.swf /language.xml
In the foregoing, “install.sh” is the name of an install shell script, “uninstall.sh” is the name of an uninstall shell script, “icon_appl.swf” is the name of the icon movie used to represent the application on the GUI, “app_appl.swf” is the name of the application movie, and “language.XML” is an XML file that includes representations of text elements to be displayed by the application in one or more languages. -
FIG. 16 depicts an embodiment of the invention in whichapplication manager 1404 comprises two Flash® movie applications: amanager movie 1602, which may be denoted “manager.swf”, and atheme movie 1604, which may be denoted “theme.swf”. The prefix .swf denotes a Shockwave Flash file. This embodiment will now be described in more detail. -
Manager movie 1602 consists of three layers as illustrated inFIG. 17 : awatermark layer 1702, atheme layer 1704 and asplash screen layer 1706.Watermark layer 1702 is optional and is reserved for a branding statement that is viewable via transparent application layers. Above that,theme layer 1704 serves as a container in whichtheme movie 1604 is loaded.Splash screen layer 1706 is visible during initialization time. Oncetheme movie 1604 has been loaded,splash screen layer 1706 becomes transparent.Splash screen layer 1706 may contain minimal graphical assets. - One purpose of
theme movie 1604 is to provide a vehicle by which a serviceprovider deploying device 110 can customize the look and feel of the GUI ofdevice 110.Theme movie 1604 consists of four layers as illustrated inFIG. 18 : anicon layer 1802, anapplication layer 1804, a status bar layer 1806 and ascreen saver layer 1808.Icon layer 1802 is used to present small graphic representations of the various applications that are available ondevice 110. Each icon presented withinicon layer 1802 itself comprises a movie.Application layer 1804 is reserved for the application movies that are executed byapplication player 1402. Within this layer, multiple applications can be stacked. When a user selects an icon, the corresponding application is launched by pushing it onto the application layer stack, hidingicon layer 1802. When the application stack is emptied,icon layer 1802 becomes visible again. Status bar layer 1806 is used to display common information such as titles, navigational buttons and date/time.Screen saver layer 1808 may optionally be overlaid on the other three layers whendevice 110 has been active for some period of time. The conditions under whichscreen saver layer 1808 is displayed and the content of the layer may be configurable by a user. - The foregoing application framework further provides common components for alerts, keyboards, a movie player, options, and a photo viewer. Applications may interact with these components via ActionScript listener objects.
- With continued reference to
FIG. 18 , when a user launches an application, the application is granted focus and is thus presented inapplication layer 1804 hiding thelower icon layer 1802. Thus, when an application is running, icon movies continue to run inicon layer 1802 although they are hidden. In one implementation ofapplication framework 1400, a user must exit an active application in order to execute another application. This approach may be deemed suitable for a majority of use cases. However, there are certain scenarios that may require a different approach. For example, consider the case in which an asynchronous network event arrives at aclass module 1406, but the Flash® movie corresponding to the class module is not active. - As a specific example, assume that a YouTube™ application is active at the time an incoming telephone call arrives at
VoIP class module 1416. Desired behavior may be that the YouTube™ application would be paused, a VoIP telephone application would be instantiated on the GUI foreground, and a user would be allowed to answer or ignore the telephone call. If the user chose to answer the call, then the telephone application would remain active. However, if the user chose to ignore the call, then the telephone application would be dismissed and the YouTube application would regain focus and automatically resume. - To implement this behavior, an embodiment of the invention espouses a solution that allows a
class module 1406 to surface an asynchronous event during a period when its corresponding application movie is not active. In accordance with this embodiment, each icon movie associated with an application is required to register an event listener with its corresponding class module. When an asynchronous event is raised by the class module, the corresponding icon movie is notified directly. Subsequently, the icon movie requests thatapplication manager 1404 launch the application represented by the icon movie—for example, the icon movie may request thatapplication manager 1404 launch a specified application URL. Prior to executing the URL, a function of the currently-active application is called (which may be denoted “onFocusOut”) to allow the currently-active application to take action (e.g., pausing a movie). Next,application manager 1404 launches the URL and the corresponding application (“the event application”) is displayed in the foreground. During initialization, the trigger event is passed to the event application as a means to communicate context. When the event application is eventually dismissed, a function associated with the underlying inactive application (which may be denoted “on FocusIn”) is called to allow that application to take further action (e.g., resume playback of a movie). - The foregoing process will now be described in reference to a specific example process 1900 illustrated in
FIG. 19 . As shown inFIG. 19 , the process begins at step 1912 when a phone class module 1902 notifies a corresponding phone icon movie 1904 of an asynchronous event—namely, an incoming telephone call. As discussed above, phone icon movie 1904 previously registered an event listener with phone class module 1902 that makes such notification possible. - At step 1914, responsive to being notified of the event, phone icon movie 1904 requests that
application manager 1404 launch the appropriate application for handling the event, which in this case is anincoming call application 1908. Requesting thatapplication manager 1404 launchincoming call application 1908 may comprise requesting thatapplication manager 1404 launch a specified URL associated withincoming call application 1908. - Prior to launching
incoming call application 1908,application manager 1404 places a function call to a currently-activeYouTube™ application 1906 as shown at step 1916. This function call is denoted “onFocusOut” inFIG. 19 . Placement of this function call allowsYouTube™ application 1906 to take some action in advance of launching ofincoming call application 1908. This action may comprise, for example, pausing playback of a movie or some other action. - At step 1918, after placing the onFocusOut function call,
application manager 1404 launches incoming call application 1908 (for example, by launching a specified URL associated with the application) and passes the incoming call event toapplication 1908 for appropriate handling. At this point, the interface forincoming call application 1908 is overlaid on top of YouTube™ application interface inapplication layer 1804 oftheme movie 1604. This is depicted inFIG. 20 , which showsincoming call application 1908 andYouTube™ application 1906 executing at different Z orders withinapplication layer 1804. Thecall application 1908 interface may allow the user to perform a variety of actions, including answering the incoming call or ignoring the incoming call. Answering the call may cause yet another application to be launched to perform necessary functions or the necessary functions may be handled exclusively byincoming call application 1908 depending upon the implementation. - In process 1900, it is assumed that the user chooses to ignore the call through some form of interaction with a GUI of
incoming call application 1908 or through inaction. In this case, the fact that the call was ignored 1920 is reported fromincoming call application 1908 to phone class module 1902 as shown at step 1920. After the call has been ignored,incoming call application 1908 is dismissed either automatically or through some user action. The dismissal of the application is reported toapplication manager 1404 as shown at step 1922 at whichpoint application manager 1404 removesincoming call application 1908 fromapplication layer 1804. - At step 1924, after
incoming call application 1908 has been dismissed,application manager 1404 places a function call to currently inactiveYouTube™ application 1906 as shown at step 1924. This function call is denoted “on FocusIn” inFIG. 19 . Placement of this function call allowsYouTube™ application 1906 to take some action responsive to the dismissal ofincoming call application 1908. This action may comprise, for example, resuming playback of a movie or some other action. - It is noted that an application can leverage multiple class modules. For example, if an address book application required support for click-to-dial, e-mail and SMS, it could leverage VoIP, e-mail and SMS class modules. This example introduces an interesting issue. If a user activated a click-to-dial function from the address book, an out-bound call would be initiated from the VoIP class module. The user would need to operate the phone. Given the event listening feature discussed above, the event associated with placing a call would surface accordingly, resulting in the phone application being launched in the foreground. The address book application need only have knowledge of the APIs exposed by the VoIP module. The application framework implements the rest.
- In one embodiment of the present invention, software watchdog timers are used to monitor application liveliness.
FIG. 21 provides a diagram illustrating such an approach. As shown inFIG. 21 , after anapplication process 2102 has been launched,application process 2102 sends aregistration message 2112 to register itself with aprocess monitor daemon 2104. After registration,application process 2102 periodically sendsmessages 2114 to processmonitor daemon 2104 to prove that it is still operating. Upon receipt of eachmessage 2114,process monitor daemon 2104 resets a watchdog timer. Ifprocess monitor daemon 2104 fails to receive a message fromapplication process 2102 after a period of time that is greater than or equal to the maximum value of the watchdog timer, denotedsilent period 2116 inFIG. 21 ,process monitor daemon 2104 assumes thatapplication process 2102 is unresponsive, terminatesapplication process 2102, and then restarts it as denoted byreference numeral 2118 inFIG. 21 . - Application restart behavior may be configurable on a per-application basis. In one embodiment, one can define the maximum number of restarts per time before an application is considered to be in a state of perennial failure and the action to take in that case. Actions may include uninstalling the application (running an uninstall script that is associated with the application) or rebooting the entire system. The user may be presented with an on-screen dialog in either case. Also, in certain implementations, such actions will not be undertaken while a telephone call is in progress.
-
Process monitor daemon 2104 may also be configured to monitor the operating condition of the operating system ofdevice 110 using a watchdog timer in a like manner to that described above in reference toFIG. 21 . If the watchdog timer expires before the operating system sends a reporting message to processmonitor daemon 2104, then processmonitor daemon 2104 forces a reboot of the operating system. - Different service providers may wish to deploy the same application. However, each service provider may want the application to reflect its own graphical theme. To simplify the porting effort, an embodiment of the invention implements each application as two movies. An example of this is depicted in
FIG. 22 , which shows anapplication 2200 that comprises afirst movie 2202 that comprises the business logic of the application and asecond movie 2204 that comprises the graphical assets of the application. This approach advantageously allows an application to be ported by simply replacingtheme movie 2204, removing most of the risks of regression. - In accordance with an embodiment of the invention, multiple language support is achieved by enabling applications to query
application manager 1404 for text translation. The active language can be defined on a user or device basis. Whenapplication manager 1404 launches an application, it will pass a unique application identifier, which may be referred to as a global unique identifier (GUID), to the application using an application programming interface (API). This API may be denoted the “startApplication” API. Subsequently, the launched application passes the GUID, an identifier of the text to be translated, and optionally the language to translate to. If the language parameter is not provided,application manager 1404 uses a system default language (e.g., English).Application manager 1404 returns the corresponding text in the selected language from a language XML file associated with the application. The functions for querying for and obtaining text translation may be included withininternationalization class module 1412 inFIG. 14 . - An embodiment of the present invention provides the ability to log application usage, system configuration and system health to a remote server. At the application level, each application notifies status/
monitoring class module 1414 of page transitions and other events, such as placing a phone call, clicking a button, or entering a search term. The amount of detail reported may vary from application to application.Application manager 1404 also contacts status/monitoring class module 1414 to report application launch and exit events. In an embodiment, application launch occurs when a user activates an application icon and application exit occurs when a user returns back to the icon screen. - As represented by
FIG. 23 , status/monitoring class module 1414 accumulates the reported event information in event logs and periodically sends the logs to a configuredremote logging server 2302. In one embodiment, status/monitoring class module 1414 will attempt to send this data every five minutes by default. Iflogging server 2302 is not reachable, status/monitoring class module 1414 will append new events to the log and then will attempt to send the data again. The number of events that may be added to a log may be limited to some predefined number. Events may be marked with timestamps indicative of the time at which each event occurred. In one embodiment, the timestamps are stored as relative offsets so as not to rely on the time of day setting on eachspecific device 110. In accordance with such an embodiment, the offsets may be converted to a time-of-day timestamp atlogging server 2302. -
Logging server 2302 is configured to receive a sequence of logs from a plurality of deployeddevices 110 and to add each log record to adatabase 2304, which is shown inFIG. 23 . A front end, such as a Web front end, executing on a computer 2306 may then be used to provide a human-friendly interface for viewing the data. Where a Web front end is used, the Web pages may comprise PHP programs that perform Structured Query Language (SQL) queries on the data and allow a user to examine aspects such as the top applications used by a specific group of users or the amount of time customers spend in different applications. Understanding which applications are most popular is valuable to service providers deploying applications viadevices 110. Such information can be used, for example, to perform trend spotting and to drive new application development. -
FIG. 24 depicts anexample interface screen 2400 that may be presented by computer 2306 in accordance with an embodiment of the present invention. As shown inFIG. 24 ,interface screen 2400 presents abar chart 2402 showing an execution frequency 2404 of a plurality ofapplications 2406 that comprise a plurality of most used applications. Eachapplication 2406 is represented by a different colored bar, as shown by alegend 2408. -
FIG. 25 depicts anotherexample interface screen 2500 that may be presented by computer 2306 in accordance with an embodiment of the present invention. As shown inFIG. 25 ,interface screen 2500 presents apie chart 2502 showing a frequency of use of a plurality of applications as a percentage of a total frequency of use over a given time period. Each application is represented by a different colored sector of the pie chart, as shown bylegend 2504. - Periodic updates received by
logging server 2302 may also serve as a device heartbeat, allowinglogging server 2302 to present a status of active or dead devices. The front end presented by computer 2306 may include a Web interface that shows a list ofdevices 110 associated with a particular customer and a visual indicator of the last heartbeat status of eachsuch device 110. An example of such an interface 2600 is shown inFIG. 26 . As shown in that figure, interface 2600 includes a column 2612 that displays a last heartbeat date and time for a plurality of devices associated with a customer. - Other information that may be obtained by logging server 2602 and provided by interface 2600 includes a total number of devices associated with the customer 2602, a total number of devices associated with the customer that are currently online 2604, a most popular application for the day 2606 (based on customer usage), a MAC address for each device 2608, a comment for each device 2610, a number of application records for each device 2614 (which itself comprises a link to the application records), a number of phone records for each device 2616 (which itself comprises a link to the phone records), a number of boot records for each device 2618 (which itself comprises a link to the boot records), a number of applied updates for each device 2620 (which itself comprises a link to information about the applied updates), a number of group memberships for each device 2622 (which itself comprises a link to information about the group memberships), a start date for each device 2624, an end date for each device 2626, and a link to device usage information for each device 2628. The information collected and presented by
server 2302 may be useful for performing status monitoring, troubleshooting, upgrading and service provisioning. - In an embodiment, logging server 2602,
database 2304 and computer 2306 each comprise part of a device monitoring subsystem that is described in Section II.G.2 below. - Example implementation
details concerning handset 120 will now be provided. As discussed above in reference toFIG. 1 , eachhandset 120 includes a user interface that comprises both adisplay 122 and akeypad 124. In an embodiment,display 122 comprises a 2 in. (5.1 mm) 18-bit color TFT LCD display having an active viewing area of 31.68 mm×39.6 mm, a pixel format of 176×220 pixels, a pixel size of 0.18 mm×0.18 mm, LED backlighting, and a maximum brightness of 350 cd/m2.Keypad 124 comprises a standard telephone keypad including 10 numbers, “*” and “#” keys. In an embodiment, each key is implemented using a pressure membrane switch that is responsive to 180 grams of pressure. - As shown in
FIG. 27 ,handset 120 further comprises user interface navigation controls in the form of a 4-way scroll pad 2714 and a selection/activation button 2716 (also referred to as an “OK” button). - As further shown in
FIG. 27 ,handset 120 includes amicrophone 2706 andspeaker 2708 for conducting a telephone call in a normal mode. As shown inFIG. 28 ,handset 120 also includes a rear-facingspeaker 2802 for conducting a phone call in a speakerphone mode. Aspeakerphone button 2704 is provided for activating the speakerphone mode. An earpiece andmicrophone connector 2804 is provided for plugging in a wired headset. To control speaker volume, a “volume up”button 2710 and a “volume down”button 2712 are provided on one side ofhandset 120. Amute button 2702 is also provided to turn offmicrophone 2706 during a telephone call. -
Handset charging contacts 2718 are provided at the bottom ofhandset 120. Whenhandset 120 is placed in a corresponding docking station 126 (as shown inFIGS. 1 , 29 and 30),handset charging contacts 2718 come into contact with dockingstation charging contacts 3002. This allowsdocking station 126 to charge a battery internal tohandset 120. In one embodiment, the battery internal tohandset 120 comprises a 550 mAh Lithium-Ion battery. The battery is accessible for replacement via aremovable back plate 2806.Docking station 126 also includes aconnector 2902 for receiving power via an AC adapter. In one embodiment, the AC adapter comprises a 5V/500 milliampere-hour (mAh) AC adapter. - As described above, in one embodiment,
handset 120 is configured to act as a DECT client that wirelessly communicates withdevice 110 which acts as a DECT base station. In accordance with such an embodiment,handset 120 may include DECT firmware that supports features such as two- or three-party conferencing, an enhanced graphical user interface, uploadable ringtones (e.g., MIDI and MP3), a synchronized address book, and remotely managed firmware upgrades. - As discussed above in reference to
FIG. 1 , adevice 110 in accordance with an embodiment of the present invention includes adisplay 112 that is used to provide a GUI by which a user may initiate, manage and experience telephony and digital media services. Example GUI screens by which the user may perform such functions will now be described. The example GUI screens described in this section are particularly suitable for use with an embodiment ofdevice 110 in which display 112 comprises a color LCD display and integrated capacitive touch screen panel. In accordance with such an embodiment, a user may interact with the GUI by touchingdisplay 112 with a finger. For example, a user may touch a portion ofdisplay 112 corresponding to a graphic element in order to activate or select that element. However, the GUI screens described in this section are not limited to such an implementation and other forms of interaction may be used. -
FIG. 31 depicts an examplehome GUI screen 3100 in accordance with an embodiment of the present invention. As shown inFIG. 31 , examplehome GUI screen 3100 comprises a plurality oficons 3104, each of which is representative of a different application that may be executed ondevice 110. In an embodiment, an application is launched when a user activates an icon associated with the application. An exception to this isicon 3120 which, when activated, will display addition application icons. As noted above, in an embodiment, activation of an icon may comprise touching the icon ondisplay 112, although other forms of activation may be used depending upon the implementation.Home GUI screen 3100 also includes astatus bar 3102.Status bar 3102 includes anicon 3112 representative ofhome GUI screen 3100, a name 3114 (“Home”) associated withhome GUI screen 3100, and an indication of thecurrent date 3116 andtime 3118. - As discussed elsewhere herein, each icon on
home screen 3100 may comprise a Shockwave Flash movie that is executed within an icon layer of a theme movie displayed ondisplay 112. Likewise,status bar 3102 may comprise a Shockwave Flash movie that is executed within a status bar layer of the theme movie. Various example GUI screens described below also include a status bar that may be implemented in a like manner. -
FIG. 32 depicts anexample GUI screen 3200 for a telephony application in accordance with an embodiment of the present invention. As shown inFIG. 32 ,example GUI screen 3200 includes astatus bar 3202 and atelephony application interface 3204. Telephony application interface may comprise a Shockwave Flash movie that is executed within an application layer of a theme movie displayed ondisplay 112. Various example GUI screens described below also include application interfaces that may be implemented in a like manner. -
Status bar 3202 includes anicon 3212 representative of the telephony application, a name 3214 (“Phone”) associated with the telephony application, an indication of thecurrent date 3216 andtime 3218 and a “home”button 3220. When a user activates “home”button 3220, the user will be returned tohome GUI screen 3100. -
Telephony application interface 3204 includes akeypad 3230 that can be used to enter a telephone number 3262 which appears in adisplay window 3254. Any numbers entered in this fashion can be deleted using adelete button 3256.Display window 3254 also includes an indication of acall status 3260. In the example GUI depicted inFIG. 32 , the call status is “connected.” -
Telephony application interface 3204 further includes abutton 3240 for increasing the volume at which the audio content of a call will be heard and abutton 3242 for decreasing the volume. Avolume indicator 3244 provides a graphical indication of the current volume level. A “redial”button 3246 may be activated to automatically dial the most-recently dialed number. A “mute”button 3248 may be activated to turn off a microphone associated withdevice 110 during a telephone call. A “flash”button 3250 may be activated to perform special services that may be provided by the telephony application such as, for example, three-way calling, call waiting, conference calling, or call transfers. A “call”button 3252 may be activated to place a call to the number shown indisplay window 3254. -
Telephony application interface 3204 also includes a “contacts”button 3232 that when activated causes a contacts application to be launched, a “call logs”button 3234 that when activated causes a call logs application to be launched, a “messages”button 3236 that when activated causes a voicemail application to be launched, and a “handsets”button 3238. -
FIG. 33 depicts anexample GUI screen 3300 for a call log application in accordance with an embodiment of the present invention. As shown inFIG. 33 ,example GUI screen 3300 includes astatus bar 3302 and a calllog application interface 3304. -
Status bar 3302 includes anicon 3312 representative of the call log application, a name 3314 (“Call Log”) associated with the call log application, an indication of thecurrent date 3316 andtime 3318, a “phone”button 3320 and a “home”button 3322. When a user activates “phone”button 3320,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 3322, the user will be returned tohome GUI screen 3100. - Call
log application interface 3304 displays all or a portion of alog 3330 of previously-placed outgoing and incoming telephone calls. To page up through log 3330 a “page up”button 3332 may be activated and to page down a “page down”button 3334 may be activated. Apage indicator 3336 indicates which of one or more pages oflog 3330 is currently being displayed. To see incoming calls only, an “incoming”tab 3338 may be activated, to see outgoing calls only an “outgoing”tab 3340 may be activated, and to return to a list of all incoming and outgoing calls an “all”tab 3342 may be activated. For each call listed inlog 3330, the following information is displayed: a name of a calling/calledparty 3344, a phone number associated with the calling/calledparty 3346, a date/time of theprevious call 3348 and a duration of theprevious call 3350. To select a call listed inlog 3330, the horizontal bar that provides information about the call may be activated. Calllog application interface 3304 further includes a “remove”button 3352 that can be used to remove a selected entry fromlog 3330 and a “remove all”button 3354 that can be used to remove all incoming and/or outgoing entries fromlog 3330. -
FIG. 34 depicts anexample GUI screen 3400 for a voicemail application in accordance with an embodiment of the present invention. As shown inFIG. 34 ,example GUI screen 3400 includes astatus bar 3402 and avoicemail application interface 3404. -
Status bar 3402 includes anicon 3412 representative of the voicemail application, a name 3414 (“Voicemail”) associated with the voicemail application, an indication of thecurrent date 3416 andtime 3418, a “phone”button 3420 and a “home”button 3422. When a user activates “phone”button 3420,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 3422, the user will be returned tohome GUI screen 3100. -
Voicemail application interface 3404 displays all or a portion of alist 3430 of saved voicemail messages. To page up through list 3430 a “page up”button 3432 may be activated and to page down a “page down”button 3434 may be activated. Apage indicator 3436 indicates which of one or more pages oflist 3430 is currently being displayed. For each voicemail message inlist 3430, the following information is displayed: a name of a party that left thevoicemail message 3438, aphone number 3440 associated with the party that left the voicemail message, and a date/time 3442 that the voicemail message was left. To select a voicemail message listed inlist 3430, the horizontal bar that provides information about the voicemail may be activated. -
Voicemail application interface 3404 further includes a “play”button 3444 for playing a selected voicemail message, a “rewind”button 3446 for rewinding the content of a selected voicemail message, and a “fast forward”button 3448 for fast forwarding the content of a selected voicemail message. Abutton 3450 is provided for increasing the volume at which the content of a voicemail message will be heard and abutton 3452 is provided for decreasing the volume. A volume indicator 3454 provides a graphical indication of the current volume level. A “mute”button 3456 is also provided for turning off the audio output associated with a voicemail message. -
FIG. 35 depicts anexample GUI screen 3500 for a contacts application in accordance with an embodiment of the present invention. As shown inFIG. 35 ,example GUI screen 3500 includes astatus bar 3502 and acontacts application interface 3504. -
Status bar 3502 includes anicon 3512 representative of the contacts application, a name 3514 (“Contacts”) associated with the contacts application, an indication of thecurrent date 3516 andtime 3518, a “phone”button 3520 and a “home”button 3522. When a user activates “phone”button 3520,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 3522, the user will be returned tohome GUI screen 3100. -
Contacts application interface 3504 displays all or a portion of alist 3530 of user contacts. To page up through list 3530 a “page up”button 3532 may be activated and to page down a “page down”button 3534 may be activated. Apage indicator 3536 indicates which of one or more pages oflist 3530 is currently being displayed. To view contacts starting with a particular letter of the alphabet, one a series ofbuttons 3538 corresponding to each letter of the alphabet may be activated. For each contact inlist 3530, the following information is displayed: a name of thecontact 3540, afirst phone number 3542 associated with the contact, and asecond phone number 3544 associated with the contact. To select a contact from among those inlist 3530, the horizontal bar that provides information about the contact may be activated. -
Contacts application interface 3504 further includes an “add name”button 3546 that when activated launches a dialog for adding a person to list 3530 and an “add group”button 3548 that when activated launches a dialog for adding a group of people to list 3530. -
FIG. 36 depicts anexample GUI screen 3600 for a weather application in accordance with an embodiment of the present invention. As shown inFIG. 36 ,example GUI screen 3600 includes astatus bar 3602 and aweather application interface 3604. -
Status bar 3602 includes anicon 3612 representative of the weather application, a name 3614 (“Weather”) associated with the weather application, an indication of thecurrent date 3616 andtime 3618, a “phone”button 3620 and a “home”button 3622. When a user activates “phone”button 3620,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 3622, the user will be returned tohome GUI screen 3100. -
Weather application interface 3604 includes adisplay area 3630 that provides weather information for aparticular location 3632. In the example ofFIG. 36 , the particular location is “Phoenix, Ariz.” The particular location may be one of a series of predefined locations for which weather information is available. To view weather information for a preceding location in the series a “page up”button 3634 is provided. To view weather information for a subsequent location in the series a “page down”button 3636 is provided. An “add”button 3638 is provided that, when activated, launches a dialog by which a location may be added to the series of locations. A “remove”button 3640 is also provided that, when activated, launches a dialog by which a location may be removed from the series of locations. Abutton 3642 allows a user to select whether temperatures should be displayed in degrees Fahrenheit (° F.) or degrees Celsius (° C.). A “video”button 3644 is provided that allows a user to watch weather-related video content such as a video feed from a weather camera or the like. -
FIG. 37 depicts anexample GUI screen 3700 for a movie showtimes application in accordance with an embodiment of the present invention. As shown inFIG. 37 ,example GUI screen 3700 includes astatus bar 3702 and a movieshowtimes application interface 3704. -
Status bar 3702 includes anicon 3712 representative of the movie showtimes application, a name 3714 (“Showtimes”) associated with the movie showtimes application, an indication of thecurrent date 3716 andtime 3718, a “phone”button 3720 and a “home”button 3722. When a user activates “phone”button 3720,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 3722, the user will be returned tohome GUI screen 3100. - Movie
showtimes application interface 3704 includes a first display area that displays all or a portion of a list ofmovie theaters 3730 associated with aparticular location 3732. In the example ofFIG. 37 , the particular location is “Boca Raton Fla.” To page up through list 3730 a “page up”button 3734 may be activated and to page down a “page down”button 3736 may be activated. Apage indicator 3738 indicates which of one or more pages oflist 3730 is currently being displayed. To select a movie theater from among those inlist 3730, the horizontal bar that provides information about the movie theater may be activated. - Movie
showtimes application interface 3704 also includes a second display area that displays all or a portion of a list of movies and associatedshowtimes 3740 associated with a movie theater selected in the first display area. To page up through list 3740 a “page up”button 3742 may be activated and to page down a “page down”button 3744 may be activated. Apage indicator 3746 indicates which of one or more pages oflist 3740 is currently being displayed. - A “change location”
button 3748 is provided that, when activated, launches a dialog by which a user can select a different location for which to obtain movie showtime information. -
FIG. 38 depicts anexample GUI screen 3800 for a media application in accordance with an embodiment of the present invention. As shown inFIG. 38 ,example GUI screen 3800 includes astatus bar 3802 and amedia application interface 3804. -
Status bar 3802 includes anicon 3812 representative of the media application, a name 3814 (“Media”) associated with the media application, an indication of thecurrent date 3816 andtime 3818, a “phone”button 3820 and a “home”button 3822. When a user activates “phone”button 3820,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 3822, the user will be returned tohome GUI screen 3100. -
Media application interface 3804 comprises four different interfaces, only one of which may be shown at any given time: a photos interface that may be selected by activating a “photos”tab 3830, a music interface that may be selected by activating a “music”tab 3832, a videos interface that may be selected by activating a “videos”tab 3834, and a podcasts interface that may be selected by activating a “podcasts”tab 3836. InFIG. 38 , the photos interface is currently being displayed. As shown in that figure, the photos interface includes adisplay area 3840 within which a plurality of digital photos is displayed. The displayed photos may comprise one page in a series of pages of digital photos. To page up through the series a “page up”button 3842 may be activated and to page down a “page down”button 3844 may be activated. Apage indicator 3846 indicates which of one or more pages in the series of pages is currently being displayed. -
FIG. 39 depicts aGUI screen 3900 for the aforementioned media application in which the music interface is displayed. As shown inFIG. 39 , the music interface includes a display area that displays all or a portion of a list ofsongs 3930. To page up through list 3930 a “page up”button 3932 may be activated and to page down a “page down”button 3934 may be activated. Apage indicator 3936 indicates which of one or more pages oflist 3930 is currently being displayed. For each song inlist 3930 the following information is provided: a performer of thesong 3942 and thesong title 3944. A song inlist 3930 may be selected by activating the horizontal bar upon which the song information is provided. - The music interface further includes a “play”
button 3946 for playing a selected song, a “rewind”button 3948 for rewinding the content of a selected song, and a “fast forward”button 3950 for fast forwarding the content of a selected song. Abutton 3952 is provided for increasing the volume at which the audio content of a song will be heard and abutton 3954 is provided for decreasing the volume. Avolume indicator 3956 provides a graphical indication of the current volume level. A “mute”button 3956 is also provided for turning off the audio output associated with a song. - The music interface allows song information to be displayed in two formats. The list format shown in
FIG. 39 may be obtained by activating a firstdisplay format button 3938. An icon format shown inGUI interface screen 4000 ofFIG. 40 may be obtained by activating a seconddisplay format button 3940. As shown inFIG. 40 , when the icon format is selected, adisplay area 4002 is presented that displays an icon associated with each song. The song performer and title is displayed below each icon. -
FIG. 41 depicts aGUI screen 4100 for the aforementioned media application in which the videos interface is displayed. As shown inFIG. 41 , the videos interface includes a display area that displays all or a portion of a collection ofmovies 4102. To page up through collection 4102 a “page up”button 4104 may be activated and to page down a “page down”button 4106 may be activated. Apage indicator 4108 indicates which of one or more pages ofcollection 4102 is currently being displayed. For each movie incollection 4108 the following information is provided: a graphic icon representative of the movie and the name of the movie. A movie incollection 4102 may be selected by activating the icon associated with the movie. - The videos interface allows movies to be displayed in two formats. A list format in which information about each movie is provided in a horizontal bar may be obtained by activating a first
display format button 4110. The icon format shown inFIG. 41 may be obtained by activating a seconddisplay format button 4112. -
FIG. 42 depicts aGUI screen 4200 for a video player application in accordance with an embodiment of the present invention. In one embodiment, the video player application is launched andGUI interface screen 4200 is presented to a user when the user activates a movie incollection 4102 that is displayed withinGUI screen 4100. - As shown in
FIG. 42 ,GUI interface screen 4200 includes adisplay area 4202 for displaying video content such as video content associated with a movie.GUI interface screen 4200 also includes a “back”button 4204 that allows a user to terminate the playback of the video content and return to a previously-viewed GUI screen, a “play”button 4208 that allows a user to play the video content, a “rewind”button 4206 that allows a user to rewind the video content, a “fast forward”button 4210 that allows a user to fast forward the video content, abutton 4214 that allows a user to increase the volume of audio content associated with the video content, abutton 4212 that allows a user to decrease the volume of the audio content, and a “mute”button 4216 that allows the user to turn off the audio content entirely. - In
FIG. 42 ,display area 4202 displays a message that indicates that video content is being loaded.FIG. 43 depicts another view ofGUI interface screen 4200 in whichvideo content 4302 associated with a movie is playing indisplay area 4202. -
FIG. 44 depicts aGUI screen 4400 for the aforementioned media application in which the podcasts interface is displayed. As shown inFIG. 44 , the podcasts interface includes a display area that displays all or a portion of a list ofpodcast providers 4402. To page up through list 4402 a “page up”button 4404 may be activated and to page down a “page down”button 4406 may be activated. Apage indicator 4408 indicates which of one or more pages oflist 4402 is currently being displayed. Aname 4414 is provided for each podcast provider inlist 4402. A podcast provider inlist 4402 may be selected by activating the horizontal bar upon which the song information is provided. - Control over the playback and volume of audio content of a podcast is provided using an
interface 4416 that includes elements that are substantially similar to elements described above inexample GUI screen 4000 ofFIG. 40 . - The podcasts interface allows podcast provider information to be displayed in two formats. The list format shown in
FIG. 44 , in which information about each podcast provider is displayed in a horizontal bar, may be obtained by activating a firstdisplay format button 4410. An icon format shown inGUI interface screen 4500 ofFIG. 45 may be obtained by activating a seconddisplay format button 4412. As shown inFIG. 45 , when the icon format is selected, adisplay area 4502 is presented that displays an icon associated with each podcast provider. The name of the podcast provider is displayed below each icon. -
FIG. 46 depicts anexample GUI screen 4600 for a cameras application in accordance with an embodiment of the present invention. As shown inFIG. 46 ,example GUI screen 4600 includes astatus bar 4602 and acameras application interface 4604. -
Status bar 4602 includes anicon 4612 representative of the cameras application, a name 4614 (“Cameras”) associated with the cameras application, an indication of thecurrent date 4616 andtime 4618, a “phone”button 4620 and a “home”button 4622. When a user activates “phone”button 4620,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 4622, the user will be returned tohome GUI screen 3100. -
Cameras application interface 4604 includes a first display area that displays all or a portion of a list ofcameras 4630 that are capable of providing a video feed todevice 110. To page up through list 4630 a “page up”button 4632 may be activated and to page down a “page down”button 4634 may be activated. Apage indicator 4636 indicates which of one or more pages oflist 4630 is currently being displayed. For each camera identified inlist 4630, aname 4638 is provided. To select a camera from among those inlist 4630, the horizontal bar that provides the name of the camera may be activated. -
Cameras application interface 4604 also includes a second display area that displays video content received from a selected camera in apreview window 4640. A “view”button 4642 may be activated to allow a user to view the video content from the selected camera in a furthercameras application interface 4702 which is depicted inexample GUI screen 4700 ofFIG. 47 . As shown inFIG. 47 ,cameras application interface 4702 includes an expandedwindow 4704 in which video content from the selected camera is displayed as well as a camera control interface that includes a “zoom out”button 4706, a “zoom in”button 4708, a “pan left”button 4712, a “pan right”button 4714, a “tilt up”button 4716 and a “tilt down”button 4710. As will be appreciated by persons skilled in the relevant art(s), these buttons may be used to control pan, tilt and zoom features of cameras that support such functionality. -
FIG. 48 depicts anexample GUI screen 4800 for a news application in accordance with an embodiment of the present invention. As shown inFIG. 48 ,example GUI screen 4800 includes astatus bar 4802 and anews application interface 4804. -
Status bar 4802 includes anicon 4812 representative of the news application, a name 4814 (“News”) associated with the news application, an indication of thecurrent date 4816 andtime 4818, a “phone”button 4820 and a “home”button 4822. When a user activates “phone”button 4820,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 4822, the user will be returned tohome GUI screen 3100. -
News application interface 4804 includes adisplay area 4830 that displays all or a portion of a collection of news sources that are capable of feeding news articles todevice 110. To page backwards through the collection of news sources a “page backward”button 4836 may be activated and to page forward a “page forward”button 4838 may be activated. Apage indicator 4840 indicates which of one or more pages of the collection is currently being displayed. For each news source identified indisplay area 4830, a graphic icon (such as icon 4832) is provided and a name of the news source (such as name 4834) is provided. To obtain news from a news source identified indisplay area 4830, the icon representing the news source may be activated. - If a user activates a news source icon, a further news application interface is provided by which news articles from the selected source may be viewed. An example of such an
interface 4902 is depicted inexample GUI screen 4900 ofFIG. 49 . As shown inFIG. 49 ,interface 4902 includes adisplay area 4904 that presents content associated with a news article. Such content may include for example a title of thenews article 4912, a graphic or video associated with thenews article 4912, and text associated with the news article which is displayed in atext display area 4916. A user may scroll the text displayed withintext display area 4916 up and down by activating a “scroll up”button 4918 and a “scroll down”button 4920 respectively. - Additional news articles from the same news source may be available on one or more preceding or subsequent pages viewable within
display area 4904. To access such articles, a “page backward”button 4906 or a “page forward”button 4908 may be activated. Apage indicator 4910 indicates which of one or more pages of news articles is currently being displayed. A “back” button may be activated to return toGUI screen 4800 ofFIG. 48 . -
FIG. 50 depicts anexample GUI screen 5000 for a horoscopes application in accordance with an embodiment of the present invention. As shown inFIG. 50 ,example GUI screen 5000 includes astatus bar 5002 and ahoroscopes application interface 5004. -
Status bar 5002 includes anicon 5012 representative of the horoscopes application, a name 5014 (“Horoscopes”) associated with the horoscopes application, an indication of thecurrent date 5016 andtime 5018, a “phone”button 5020 and a “home”button 5022. When a user activates “phone”button 5020,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 5022, the user will be returned tohome GUI screen 3100. -
Horoscopes application interface 5004 includes a display area that displays a graphic icon representing each sign of the zodiac (such as icon 5030) and an associated name (such as name 5032). To obtain a current horoscope for a zodiac sign identified inhoroscopes application interface 5004, the icon representing the zodiac sign may be activated. - If a user activates a zodiac sign icon, a further horoscopes interface is provided in which a current horoscope for the activated zodiac sign may be viewed. An example of such an
interface 5102 is depicted inexample GUI screen 5100 ofFIG. 51 . As shown inFIG. 51 ,interface 5102 displays the name of therelevant zodiac sign 5104, anicon 5106 that represents the relevant zodiac sign, and atext display area 5108 in which the horoscope text for the relevant zodiac sign is displayed. A user may scroll the text displayed withintext display area 5108 up and down by activating a “scroll up”button 5110 and a “scroll down”button 5112 respectively. A “back”button 5114 may be activated to return toGUI screen 5000 ofFIG. 50 . -
FIG. 52 depicts anexample GUI screen 5200 for a recipes application in accordance with an embodiment of the present invention. As shown inFIG. 52 ,example GUI screen 5200 includes astatus bar 5202 and arecipes application interface 5204. -
Status bar 5202 includes anicon 5212 representative of the recipes application, a name 5214 (“Recipes”) associated with the recipes application, an indication of thecurrent date 5216 andtime 5218, a “phone”button 5220 and a “home”button 5222. When a user activates “phone”button 5220,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 5222, the user will be returned tohome GUI screen 3100. -
Recipes application interface 5204 includes adisplay area 5230 that displays all or a portion of a collection of recipes. To page backwards through the collection of recipes a “page backward”button 5236 may be activated and to page forward a “page forward”button 5238 may be activated. Apage indicator 5240 indicates which of one or more pages of the collection is currently being displayed. For each recipe identified indisplay area 5230, a graphic icon (such as icon 5232) is provided and a name of the recipe (such as name 5234) is provided. To obtain details concerning a recipe identified indisplay area 5230, the icon representing the recipe may be activated. - If a user activates a recipe icon, a further recipes interface is provided in which recipe details may be viewed. An example of such an
interface 5302 is depicted inexample GUI screen 5300 ofFIG. 53 . As shown inFIG. 53 ,interface 5302 displays the name of therelevant recipe 5304, a picture orgraphic icon 5306 that represents the relevant recipe, and atext display area 5308 in which the recipe text for the relevant recipe is displayed. A user may scroll the text displayed withintext display area 5308 up and down by activating a “scroll up”button 5310 and a “scroll down”button 5312 respectively. A “back”button 5314 may be activated to return toGUI screen 5300 ofFIG. 53 . -
FIG. 54 depicts anexample GUI screen 5400 for a calendar application in accordance with an embodiment of the present invention. As shown inFIG. 54 ,example GUI screen 5400 includes astatus bar 5402 and acalendar application interface 5404. -
Status bar 5402 includes anicon 5412 representative of the news application, a name 5414 (“News”) associated with the news application, an indication of thecurrent date 5416 andtime 5418, a “phone”button 5420 and a “home”button 5422. When a user activates “phone”button 5420,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 5422, the user will be returned tohome GUI screen 3100. -
Calendar application interface 5404 comprises two different interfaces, only one of which may be shown at any given time: a monthly calendar interface that may be selected by activating a “month”tab 5436 and a daily calendar interface that may be selected by activating a “day”tab 5438. InFIG. 54 , the monthly calendar interface is currently being displayed. As shown in that figure, the monthly calendar interface includes adisplay area 5430 within which a monthly calendar is displayed. Activating a particular date within the monthly calendar will cause the daily calendar interface to be displayed for that date. An “up arrow”button 5432 allows a user to display a previous month withindisplay area 5430 and a “down arrow”button 5434 allows a user to display a subsequent month withindisplay area 5430. -
FIG. 55 depicts aGUI screen 5500 for the aforementioned calendar application in which the daily calendar interface is displayed. As shown inFIG. 55 , the daily calendar interface includes a temporally-ordered list of scheduled daily activities orappointments 5504 corresponding to a particular date which is displayed in awindow 5502. To page up through list 5504 a “page up”button 5506 may be activated and to page down a “page down”button 5508 may be activated. Apage indicator 5510 indicates which of one or more pages oflist 5504 is currently being displayed. For each scheduled appointment or activity scheduled inlist 5504 an appointment/activity time 5520 anddescriptor 5522 is displayed. An “add”button 5512 may be activated to launch a dialog by which a new appointment or activity may be added tolist 5504. A “remove”button 5514 may be activated to remove a selected appointment or activity fromlist 5504. To change the date for which calendar information is being displayed to a previous date a “backward arrow”button 5516 may be activated and to change the date to a subsequent date a “forward arrow” 5518 button may be activated. -
FIG. 56 depicts anexample GUI screen 5600 for an Internet radio application in accordance with an embodiment of the present invention. In an embodiment, the Internet radio application comprises an application premised on SIRIUS® Internet radio service offered by SIRIUS XM Radio of New York, N.Y. As shown inFIG. 56 ,example GUI screen 5600 includes astatus bar 5602 and acalendar application interface 5604. -
Status bar 5602 includes anicon 5612 representative of the Internet radio application, a name 5614 (“Sirius”) associated with the Internet radio application, an indication of thecurrent date 5616 andtime 5618, a “phone”button 5620 and a “home”button 5622. When a user activates “phone”button 5620,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 5622, the user will be returned tohome GUI screen 3100. - Internet
radio application interface 5604 comprises two different interfaces, only one of which may be shown at any given time: a categories interface that may be selected by activating a “categories”tab 5652 and a controls interface that may be selected by activating a “controls”tab 5654. InFIG. 56 , the categories interface is currently being displayed. As shown in that figure, the categories interface includes a first display area that displays all or a portion of a list ofradio categories 5630. To page up through list 5630 a “page up”button 5632 may be activated and to page down a “page down”button 5634 may be activated. Apage indicator 5636 indicates which of one or more pages ofcategory list 5630 is currently being displayed. Aname 5638 is provided for each category inlist 5630. A category inlist 5630 may be selected by activating the horizontal bar upon which the category name is provided. - As further shown in
FIG. 56 , the categories interface further includes a second display area that displays all or a portion of a collection ofradio channels 5640 corresponding to a selected radio category inlist 5630. To page up through collection 5640 a “page up”button 5642 may be activated and to page down a “page down”button 5644 may be activated. Apage indicator 5646 indicates which of one or more pages ofcollection 5640 is currently being displayed. For each channel displayed incollection 5640, agraphic icon 5648 representing the channel and aname 5650 of the channel is displayed. A channel incollection 5640 may be selected for listening by activating the icon associated with the channel. -
FIG. 57 depicts anexample GUI screen 5700 for a stocks application in accordance with an embodiment of the present invention. As shown inFIG. 57 ,example GUI screen 5700 includes astatus bar 5702 and astocks application interface 5704. -
Status bar 5702 includes anicon 5712 representative of the stocks application, a name 5714 (“Stocks”) associated with the stocks application, an indication of thecurrent date 5716 andtime 5718, a “phone”button 5720 and a “home”button 5722. When a user activates “phone”button 5720,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 5722, the user will be returned tohome GUI screen 3100. -
Stocks application interface 5704 includes a first display area that displays all or a portion of a list ofstocks 5730. To page up through list 5730 a “page up”button 5732 may be activated and to page down a “page down”button 5734 may be activated. Apage indicator 5736 indicates which of one or more pages oflist 5730 is currently being displayed. For each stock identified inlist 5730 the following information is provided: astock symbol 5738, acurrent share price 5740, avisual indicator 5742 of whether the current share price is up or down for the day, and anamount 5744 by which the current share price is up or down for the day. A stock inlist 5730 may be selected by activating the horizontal bar upon which the stock symbol is provided. A user may activate an “add”button 5746 to launch a dialog by which a stock may be added tolist 5730. A user may also activate a “remove”button 5748 to remove a selected stock fromlist 5730. -
Stocks application interface 5704 further includes asecond display area 5750 that provides details about a stock selected fromlist 5730. As shown inFIG. 57 ,second display area 5750 includes awindow 5752 that displays textual information about the relevant stock such as opening price, high price, low price and volume for the current day. As further shown inFIG. 57 ,second display area 5750 further includes astock chart 5754 that graphically depicts the performance of the relevant stock for the current day. By activating stock chart 5754 a user may access additional charts associated with the relevant stock. -
Stock application interface 5704 also includes a dynamically-updatedstock ticker 5756 which displays stock symbols and associated share prices for a variety of stocks in a scrolling fashion. -
FIG. 58 depicts anexample GUI screen 5800 for an Internet video application in accordance with an embodiment of the present invention. In an embodiment, the Internet video application comprises an application premised on a YouTube™ Web service offered by YouTube LLC of San Bruno, California. As shown inFIG. 58 ,example GUI screen 5800 includes astatus bar 5802 and an Internetvideo application interface 5804. -
Status bar 5802 includes anicon 5812 representative of the Internet video application, a name 5814 (“You Tube”) associated with the Internet video application, an indication of thecurrent date 5816 andtime 5818, a “phone”button 5820 and a “home”button 5822. When a user activates “phone”button 5820,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 5822, the user will be returned tohome GUI screen 3100. - Internet
video application interface 5804 comprises four different interfaces, only one of which may be shown at any given time: a video search interface that may be selected by activating a “search”button 5842, a featured videos interface that may be selected by activating a “featured”button 5844, a top-rated videos interface that may be selected by activating a “top rated”button 5846 and a popular videos interface that may be selected by activating a “popular”button 5848. InFIG. 58 , the top-rated videos interface is currently being displayed. As shown in that figure, the top-rated videos interface includes adisplay area 5830 that displays all or a portion of a collection of top-ratedvideos 5830. To page up through the collection a “page up”button 5832 may be activated and to page down a “page down”button 5834 may be activated. Apage indicator 5836 indicates which of one or more pages of the collection is currently being displayed. For each video identified in the collection, anicon 5838 and aname 5840 is displayed. A video incollection 5830 may be selected for playback by activating the icon associated with the video. -
FIG. 59 depicts anexample GUI screen 5900 for an Internet-based photo application in accordance with an embodiment of the present invention. In an embodiment, the Internet-based photo application comprises an application premised on a Flickr™ Web service offered by Yahoo! Inc. of Sunnyvale, Calif. As shown inFIG. 59 ,example GUI screen 5900 includes astatus bar 5902 and an Internet-basedphoto application interface 5904. -
Status bar 5902 includes anicon 5912 representative of the Internet-based photo application, a name 5914 (“Flickr”) associated with the Internet-based photo application, an indication of thecurrent date 5916 andtime 5918, a “phone”button 5920 and a “home”button 5922. When a user activates “phone”button 5920,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 5922, the user will be returned tohome GUI screen 3100. - Internet-based
photo application interface 5904 comprises two different interfaces, only one of which may be shown at any given time: a personal photos interface that may be selected by activating a “my photos”button 5938 and a search interface that may be selected by activating a “search”button 5940. InFIG. 59 , the search interface is currently being displayed. As shown in that figure, the results from a search premised on the query terms “Andy Warhol” has returned a collection ofphotos 5930. To page up through the collection a “page up”button 5932 may be activated and to page down a “page down”button 5934 may be activated. Apage indicator 5936 indicates which of one or more pages of the collection is currently being displayed. A photo incollection 5930 may be selected for viewing in a larger window by activating the photo. -
FIG. 60 depicts anexample GUI screen 6000 for an alarm application in accordance with an embodiment of the present invention. As shown inFIG. 60 ,example GUI screen 6000 includes astatus bar 6002 and analarm application interface 6004. -
Status bar 6002 includes anicon 6012 representative of the alarm application, a name 6014 (“Alarm”) associated with the alarm application, an indication of thecurrent date 6016 andtime 6018, a “phone”button 6020 and a “home”button 6022. When a user activates “phone”button 6020,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6022, the user will be returned tohome GUI screen 3100. -
Alarm application interface 6004 includes an alarm on/offbutton 6036 that a user may activate to turn on or off an alarm. Awindow 6030 displays a time at which the alarm will sound. A “backward arrow” button may be activated to select a previous time while a “forward arrow” button may be activated to select a subsequent time. -
Alarm application interface 6004 further includes all or a portion of alist 6040 of audio files that may be used as an alarm. To page backward through list 6040 a “page backward”button 6042 may be activated and to page forward a “page forward”button 6044 may be activated. Apage indicator 6044 indicates which of one or more pages oflist 6040 is currently being displayed. For each audio file identified inlist 6040, anaudio source 6048 and a descriptor associated with theaudio file 6050 is displayed. System-provided alarms as well as digital music files may be used as the alarm. For system-provided alarms, the audio source is listed as “alarm” and the descriptor of the audio file denotes the alarm type. For digital music files, the audio source is the performer of the digital music and the descriptor provides a name of the song. To select an audio file displayed inlist 6040 as the alarm, the horizontal bar that provides information about the audio file may be activated. -
Alarm application interface 6004 allows audio file information to be displayed in two formats. The list format shown inFIG. 60 may be obtained by activating a firstdisplay format button 6052. An icon format shown inGUI interface screen 6100 ofFIG. 61 may be obtained by activating a seconddisplay format button 6054. As shown inFIG. 61 , when the icon format is selected, adisplay area 6102 is presented that displays anicon 6104 associated with each audio file. A playback button 6106, atitle 6108 andperformer 6110 may be displayed below each icon. -
FIG. 62 depicts anexample GUI screen 6200 for a screensaver application in accordance with an embodiment of the present invention. As shown inFIG. 62 ,example GUI screen 6200 includes astatus bar 6202 and ascreensaver application interface 6204. -
Status bar 6202 includes anicon 6212 representative of the screensaver application, a name 6214 (“Screensaver”) associated with the screensaver application, an indication of thecurrent date 6216 andtime 6218, a “phone”button 6220 and a “home”button 6222. When a user activates “phone”button 6220,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6222, the user will be returned tohome GUI screen 3100. -
Screensaver application interface 6204 includes all or a portion of alist screensavers 6230 that may be activated by a user for display after a predetermined period of device inactivity. To page up through list 6230 a “page up”button 6232 may be activated and to page down a “page down”button 6234 may be activated. Apage indicator 6236 indicates which of one or more pages oflist 6230 is currently being displayed. To select a screensaver, a user may activate one of the screensavers displayed inlist 6230. -
Screensaver application interface 6204 further includes awindow 6240 that displays the current amount of delay (i.e., time of device inactivity) that must occur before a selected screensaver will be displayed. The amount of delay may be decreased by activating a “left arrow”button 6242 or increased by activating a “right arrow”button 6244. Awindow 6246 displays a preview of a currently selected screensaver. A screensaver configuration may be saved by activating a “save”button 6238. A “back”button 6248 is also provided onscreensaver application interface 6204 that, when activated, causes a previously-displayed GUI screen to be displayed. -
FIG. 63 depicts anexample GUI screen 6300 for a directory services application in accordance with an embodiment of the present invention. As shown inFIG. 63 ,example GUI screen 6300 includes astatus bar 6302 and a directoryservices application interface 6304. -
Status bar 6302 includes anicon 6312 representative of the directory services application, a name 6314 (“Find A . . . ”) associated with the directory services application, an indication of thecurrent date 6316 andtime 6318, a “phone”button 6320 and a “home”button 6322. When a user activates “phone”button 6320,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6322, the user will be returned tohome GUI screen 3100. - Directory
services application interface 6304 includes a first display area that displays all or a portion of a list ofbusiness categories 6330. To page up through list 6330 a “page up”button 6334 may be activated and to page down a “page down”button 6336 may be activated. Apage indicator 6338 indicates which of one or more pages oflist 6330 is currently being displayed. To select a business category from among those inlist 6330, the horizontal bar that provides information about the business category may be activated. - Directory
services application interface 6304 further includes a second display area that displays all or a portion of a list ofbusinesses 6340 of the type currently selected inlist 6330. The businesses are selected based on proximity to aparticular location 6332. In the example ofFIG. 63 , the particular location is “Boca Raton Fla.” To page up through list 6340 a “page up”button 6342 may be activated and to page down a “page down”button 6344 may be activated. Apage indicator 6346 indicates which of one or more pages oflist 6340 is currently being displayed. For each business identified inlist 6340, a name, address and phone number is provided. A “telephone”button 6350 associated with each business may be activated to place a telephone call to the business viadevice 110. - A “change location”
button 6348 is provided that, when activated, launches a dialog by which a user can select a different location for which to obtain directory services information. -
FIG. 64 depicts anexample GUI screen 6400 for a memos application in accordance with an embodiment of the present invention. As shown inFIG. 64 ,example GUI screen 6400 includes astatus bar 6402 and amemos application interface 6404. -
Status bar 6402 includes anicon 6412 representative of the memos application, a name 6414 (“Memos”) associated with the memos application, an indication of thecurrent date 6416 andtime 6418, a “phone”button 6420 and a “home”button 6422. When a user activates “phone”button 6420,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6422, the user will be returned tohome GUI screen 3100. -
Memos application interface 6404 includes a first display area that displays all or a portion of a list ofmemos 6430. Each memo may comprise a task, appointment or reminder that a user might wish to make note of. To page up through list 6430 a “page up”button 6432 may be activated and to page down a “page down”button 6434 may be activated. Apage indicator 6436 indicates which of one or more pages oflist 6430 is currently being displayed. For each memo identified inlist 6430 the following information is provided: atext descriptor 6450 of the subject matter of the memo and adate 6452 and time 6454 associated with the memo (such as the date and time the memo was created).List 6430 may be temporally-ordered. A memo inlist 6430 may be selected for viewing by activating the horizontal bar upon which the memo information is provided. A user may activate an “add”button 6446 to launch a dialog by which a memo may be added tolist 6430. A user may also activate a “remove”button 6448 to remove a selected memo fromlist 6430. -
Memos application interface 6404 further includes awindow 6438 that displays the text content of a memo selected fromlist 6430. A user may scroll the text displayed withinwindow 6438 up and down by activating a “scroll up”button 6440 and a “scroll down”button 6442 respectively. -
FIG. 65 depicts anexample GUI screen 6500 for a television (TV) programming guide application in accordance with an embodiment of the present invention. As shown inFIG. 65 ,example GUI screen 6500 includes astatus bar 6502 and a TV programmingguide application interface 6504. -
Status bar 6502 includes anicon 6512 representative of the TV programming guide application, a name 6514 (“TV Programs”) associated with the TV programming guide application, an indication of thecurrent date 6516 andtime 6518, a “phone”button 6520 and a “home”button 6522. When a user activates “phone”button 6520,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6522, the user will be returned tohome GUI screen 3100. - TV programming
guide application interface 6504 includes adisplay area 6530 that provides TV programming information for a plurality of TV channels across a plurality of time slots. To view information about other channels than those currently shown in display area 6530 a user may activate either a “page up”button 6532 or a “page down”button 6534. Apage indicator 6536 indicates which of one or more pages of channel information is currently being displayed. To view programming information for previous time slots a user may activate a “backward”button 6538 and to view programming information for subsequent time slots a user may activate a “forward”button 6540. -
FIG. 66 depicts anexample GUI screen 6600 for a network setup application in accordance with an embodiment of the present invention. As shown inFIG. 66 ,example GUI screen 6600 includes astatus bar 6602 and a networksetup application interface 6604. -
Status bar 6602 includes anicon 6612 representative of the network setup application, a name 6614 (“Network Setup”) associated with the network setup application, an indication of thecurrent date 6616 andtime 6618, a “phone”button 6620 and a “home”button 6622. When a user activates “phone”button 6620,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6622, the user will be returned tohome GUI screen 3100. - In
FIG. 66 , networksetup application interface 6604 is overlaid by anetwork selection interface 6630 that allows a user to select a wireless network to whichdevice 110 may attempt to connect. As further shown in that figure,network selection interface 6630 displays all or a portion of alist 6632 of detected wireless networks. To page up through list 6632 a “page up”button 6634 may be activated and to page down a “page down”button 6636 may be activated. Apage indicator 6638 indicates which of one or more pages oflist 6632 is currently being displayed. For each wireless network identified inlist 6632, avisual indicator 6642 of the strength of the wireless signal and aname 6644 of the wireless network is provided. Optionally, avisual indicator 6646 of whether the network is encrypted and aconnection status 6648 may also be provided. A “back”button 6640 is also provided innetwork selection interface 6630 to allow a user to return to networksetup application interface 6604. -
FIG. 67 depicts an additionalexample GUI screen 6700 for a network setup application in accordance with an embodiment of the present invention. As shown inFIG. 67 ,example GUI screen 6700 includes astatus bar 6702 and a network setup application interface. -
Status bar 6702 includes anicon 6712 representative of the network setup application, a name 6714 (“Network . . . ”) associated with the network setup application, an indication of thecurrent date 6716 andtime 6718, a “phone”button 6720 and a “home”button 6722. When a user activates “phone”button 6720,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6722, the user will be returned tohome GUI screen 3100. - In
FIG. 67 , the network setup application interface is overlaid by anencrypted network interface 6704 that allows a user to enter an encryption key for setting up or logging into an encrypted wireless network. As further shown in that figure, encryptednetwork setup interface 6704 displays akeyboard 6730 that may be used to type an encryption key that appears in awindow 6732. The user may save the key by activating a “save”button 6734. A “back” button 6740 is also provided to allow a user to return to the normal network setup application interface. -
FIG. 68 depicts anexample GUI screen 6800 for an advanced network setup application in accordance with an embodiment of the present invention. As shown inFIG. 68 ,example GUI screen 6800 includes astatus bar 6802 and an advanced networksetup application interface 6804. -
Status bar 6802 includes anicon 6812 representative of the advanced network setup application, a name 6814 (“Network Setup”) associated with the advanced network setup application, an indication of thecurrent date 6816 andtime 6818, a “phone”button 6820 and a “home”button 6822. When a user activates “phone”button 6820,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6822, the user will be returned tohome GUI screen 3100. - Advanced network
setup application interface 6804 displays all or a portion of alist 6830 of network-related information and parameters, some of which may be configurable. To page up through list 6830 a “page up”button 6832 may be activated and to page down a “page down”button 6834 may be activated. Apage indicator 6836 indicates which of one or more pages oflist 6830 is currently being displayed. As shown inFIG. 68 , information/parameters provided withinlist 6830 include a connection status, a network type, a network name, a security protocol type, an encryption key, whether Dynamic Host Configuration Protocol (DHCP) is used and whether proxy is used. A “back”button 6838 is provided to allow a user to return to the normal network setup application interface. -
FIG. 69 depicts anexample GUI screen 6900 for a home control application in accordance with an embodiment of the present invention. As shown inFIG. 69 ,example GUI screen 6900 includes astatus bar 6902 and a homecontrol application interface 6904. -
Status bar 6902 includes anicon 6912 representative of the home control application, a name 6914 (“Home Control”) associated with the home control application, an indication of thecurrent date 6916 andtime 6918, a “phone”button 6920 and a “home”button 6922. When a user activates “phone”button 6920,GUI screen 3200 for a telephony application will be displayed. When a user activates “home”button 6922, the user will be returned tohome GUI screen 3100. - Home
control application interface 6904 displays all or a portion of alist 6930 of rooms for which home control functionality may be provided. To page up through list 6930 a “page up”button 6932 may be activated and to page down a “page down”button 6934 may be activated. Apage indicator 6936 indicates which of one or more pages oflist 6930 is currently being displayed. As shown inFIG. 69 , such rooms may include, for example, a living room, a family room, a home theater, a main office, a master bedroom and a dining room. A room may be selected by activating the horizontal bar upon which the room name is displayed. - Once a room has been selected an overlay interface for performing home control functions associated with the selected room may be displayed.
Example GUI screen 7000 ofFIG. 70 shows such anoverlay interface 7002. As shown in that figure,overlay interface 7002 displays all or a portion of acollection 7004 of home control functions for a living room. To page forward through collection 7004 a “page forward”button 7006 may be activated and to page backward a “page backward”button 7008 may be activated. Apage indicator 7010 indicates which of one or more pages ofcollection 7004 is currently being displayed. Each home control function incollection 7004 is represented by an associated icon and text. The home control functions shown inFIG. 70 include “Watch TV,” “Watch DVD” and “Play CD.” A user may select a home control function by activating the icon associated with the function. A “back”button 7012 is provided to return to the original home control application interface. - Once a home control function for a room has been selected a further overlay interface for performing the selected function may be displayed.
Example GUI screen 7100 ofFIG. 71 shows such an overlay interface which is configured to control a TV. As shown in that figure,overlay interface 7102 includes achannel selection interface 7104, afunction navigation interface 7106 and an audio/video control interface 7108 for a TV. An on/offbutton 7110 is provided for powering the TV on and off and a “back”button 7112 is provided to return to the previous overlay interface. -
FIG. 72 depicts asystem 7200 in accordance with an embodiment of the present invention that includes aservices platform 7202 for enabling entities to deploy, manage optimize and monitor a network of devices 7204 (such as a network of devices 110) in a turnkey fashion. As shown inFIG. 72 ,services platform 7202 includes adevice management subsystem 7212, adevice monitoring subsystem 7214, anapplication store 7216, anapplication intelligence subsystem 7218 and acontent aggregation subsystem 7220. -
System 7200 further includes acomputer 7230 that provides a Web-based user interface for easy access to the functionality provided byservices platform 7202. Such a Web-based user interface may include, for example, a control panel for user access assignment and administration. Although only asingle computer 7230 is shown inFIG. 72 , any number of such computers may be provided to accessservices platform 7202. - Depending upon the implementation,
services platform 7202 may include less than all ofsubsystems -
Device management subsystem 7212 is responsible for reliably communicating updated firmware and device configuration to deployed devices. These types of operations may be focused on a single device, various sub-sets of devices, or applied to all devices onnetwork 7204. For example, a firmware update may be applied to a small community of devices as a test prior to updating theentire network 7204 of devices. This is critical to prevent a network of end users from having a negative experience. - Device configuration information may include but is not limited to GUI configuration, brand information, applications, or the like.
- The ability to provision the network of devices is a critical component, especially when telephony is involved. Depending upon the implementation, this may involve integration with an existing telephony infrastructure. An embodiment of the present invention provides a “faceless” Web service that enables customers to populate a device configuration database.
Device management subsystem 7212 then communicates those parameters to devices innetwork 7204. An embodiment of the invention also provides a provisioning application to administrators so as to support provisioning of small trials as a sales tool. - A firmware image for a particular deployment may comprise a boot loader, kernel, file system, a branded framework application, and optionally DECT firmware for both a device and associated handsets. In one embodiment, these images are provided from
device management subsystem 7212 to end user devices via File Transfer Protocol (FTP).Device management subsystem 7212 may include an import mechanism that maps the firmware images to particular device product line. Once a firmware image has been imported, an administrator may then explicitly instruct that the image be deployed to a specific group of devices onnetwork 7204. This could equate to single device or tens of thousands. As devices complete the upgrade process, they will register the firmware update withdevice monitoring subsystem 7214. - In an embodiment,
device management subsystem 7212 provides a unique deployment process for each of four categories of firmware updates: (1) new device initial start-up; (2) new application; (3) software version updates; and (4) fixes. - The process for new device initial start-up occurs automatically and no scheduling is required. Between the time of manufacture to end user activation, software upgrades may have occurred. Upon initial start-up, a set-up wizard executing on a
device 110 automatically “checks in” withdevice management sub-system 7212 to pull down the latest version of the code. - The deployment of new applications is scheduled by a telecommunications carrier or other entity that administers
network 7204 and pushed. Such applications may be communicated to end users via proactive promotion, and deployment may include post-delivery notification. - Software version updates may be dependent upon expansion of a feature set or technology progression (e.g., a new version of a video codec). Such updates may not be urgent in nature any may not produce a visible difference to an end user. In an embodiment, such updates are communicated from
device management subsystem 7212 to a device using a non-intrusive awareness notification, such as a simple update in a settings screen of the device. - Fixes may be required as determined via support teams. Fixes may be global or individual in nature. Depending upon the severity and impact to the user, it may be desirable for the implementation of such fixes to be as “invisible” to an end user as possible. Different types of fixes include scheduled global fixes, immediate global fixes and individual fixes
- Scheduled global fixes may be planned and pushed from
device management subsystem 7212 to devices onnetwork 7204. Such fixes may be non-interruptive in nature. - In the event a global fix must be immediately deployed (e.g., the severity of the problem is high),
device management subsystem 7212 may cause a device to display an interruptive, non-dismissable dialog box with messaging that an important download is in progress and apologizing for any inconvenience. - Support representatives may be required to update an individual device to implement a fix. This may occur, for example, when a support representative is troubleshooting with an end user. To facilitate this,
device management subsystem 7212 is configured to allow a release to be pushed to a device on demand. Also, devices may be configured to automatically check for the latest firmware upon re-boot. In this case, a support representative may request that an end user reboot his/her device. Devices may also provide an automatic update tool as part of a device settings application and may be directed to utilize the tool by a support representative to pull the latest update. - In an embodiment,
device management subsystem 7212 is configured to minimize device interruption and required end-user activity while keeping end users appropriately notified. To this end,device management subsystem 7212 may be configured to perform one or more of the following functions: (1) confirm prior to download that a target device is currently inactive; (2) not disrupt any customer-initiated activity in progress; (3) wait for a target device to return to an idle state before deployment; (4) display to the user a notification message such as “update in progress, please wait”; (5) cause a device “version number” to be updated on a settings screen of a device when all updates have been deployed; (6) after delivery of a new application update, deliver a notification message to the user (such as “Congratulations, you have new features to enjoy from . . . ”) that can be deleted or saved by the user. -
Device management subsystem 7212 may also be configured to obtain necessary end user permissions prior to delivery of new applications or firmware updates. For example, a global permission may be obtained via a general notification during new device initial start-up. Alternatively or additionally, individual permissions may be obtained for each download. For example,device management subsystem 7212 may be configured to display a message on a device requesting permission to deliver a firmware update and provide an interface by which an end user can provide a yes or no decision.Device management system 7212 will take the appropriate action based on the end user decision. -
Device management subsystem 7212 may deploy a firmware update automatically in certain instances. For example, this may occur at new device initial start-up as mentioned above. In an embodiment, logic that automatically checks for the most recent software version is embedded in a set-up wizard that is executed by a device during initial start-up. This ensures that each new end user has the latest approved software and application set in the event devices have been shelved for periods of time prior to purchase/deployment. - A firmware update may also be automatically triggered in the event that a periodic check function implemented by device monitoring subsystem 7214 (described below) determines that a device does not have the latest firmware code.
- An automatic firmware update may also be triggered upon device re-boot in an embodiment in which devices are configured to automatically check for the latest firmware upon re-boot.
- Ideally, service providers will deploy firmware updates when devices are least likely to be in use (e.g., 1 A.M.-4 A.M.). Accordingly, in one implementation,
device management subsystem 7212 allows an approved firmware update to be deployed immediately (upon command execution) or at a future set time via pre-programming. - Preferably, every application is responsible for implementing its own provisioning solution. To simplify field trials of a telephony application and customer deployments, an embodiment of the invention implements this support as part of the solution. A provision database exposes a Web service that enables a customer's existing telephony infrastructure to populate a device's telephony parameters. A change in configuration triggers notification of the device. The device will in turn retrieve the latest configurations via Hypertext Transfer Protocol (HTTP). This does not suggest that a physical file needs to be created on the file system of the provisioning server. Again, the device contacts
device monitoring subsystem 7214 to log the event. - The Web-based user interface provided on
computer 7230 provides administrative functions required for device management. In an embodiment, it allows assignment of view, approval and update authorization and implements a hierarchy for various levels of access. Example access levels may include: (1) view only (fortier 1 support representatives; the platform may be able to manage potentially hundreds or thousands of view access grants); (2) view and individual device deployment (fortier 2 support representatives, allowing them to proactively push the latest software version to an individual device at a time); (3) view and global device deployment (for managers that have access and authority to push a global or group targeted update); (4) view and release approval; (5) product managers (required to approve any new application global updates prior to such updates being made available for deployment); (6) technical managers (required to approve any software upgrades or fixes prior to such upgrades/fixes being made available for deployment); and (7) system administration (employees with access to assign and manage the above access). - In an embodiment, the Web-based interface implemented on
computer 7230 is uncluttered and simple by design. It easily accommodates a change of look and feel (e.g., logo and brand color palette) so that it may be tailored for individual service providers. The user interface may also be configured to take into consideration scalability by providing easy search functionality to locate an individual device, or subsets of devices, among many thousands. Such device searching may permit devices to be searched for based on MAC ID, customer name, billing telephone number, zip code, etc. - Main sections of the user interface may include administration, device monitoring (as will be described in more detail below) and device management. In an embodiment, the device management interface allows for selection, approvals, push and monitoring of all upgrades. It may further include firmware history that provides a reference guide to version control. The firmware history may indicate when an update occurred, what was updated, why it was updated, who approved the update, and when the most recent update occurred. The device management interface may further include the ability to manage (view, create, add, change, delete) assigned groups of devices. The user interface may further include an “about device upgrades” section that comprises a central source for device management policies, procedures and frequently asked questions (FAQs). This section may be customizable by a service provider for their internal use.
-
FIG. 26 , described above in reference to the application framework ofdevice 110 provides an example of a Web-based user interface screen for interacting withdevice management subsystem 7212/device monitoring subsystem 7214. -
Device monitoring subsystem 7214 is configured to perform functions such as identifying a device's firmware version, installed applications, and activity. These functions may be important in providing customer support.Device monitoring subsystem 7214 also provides a reporting interface that allows near real time data to be presented to accurately understand device state, health and performance. Such reports may be provided for an individual device or for large groups of devices to provide global, visual views for executive management reporting. - By allowing a network of devices (such as network 7204) to be surveyed,
device monitoring subsystem 7214 allows administrators as well as customer support representatives to determine what firmware a device is executing, the health of that device, as well as the frequency and the manner in which the device is used. Such information may be used for individual device insight and action as well as to monitor and report on devices on an aggregated basis. - In an embodiment,
device monitoring subsystem 7214 is configured to report the following information about a device: connection state, if in active or fail-safe mode, current firmware version, information on when historical updates were applied and frequency of usage (daily, weekly, etc.). This information may be made available to customer support representatives so that they can take appropriate action in the event of a customer issue. - In an embodiment,
device monitoring subsystem 7214 is configured to allow an administrator to query near real time statistics of deployed device and applications. For example, an administrator may determine what percentage of all registered devices is actively connected. The aggregate number may be used as a metric of overall performance and also as an important tool for customer retention teams. For example, such data can provide such teams with the ability to proactively contact those customers that have purchased and registered a device but for some reason are not currently connected. Additionally,device monitoring subsystem 7214 may be queried to identify any devices not currently using the most current firmware version and to initiate an investigation as to why such devices are not accepting pushed updates. - In one implementation, the Web-based user interface to
device monitoring subsystem 7214 provides administrative functions necessary for device monitoring. It may implement a set of access levels such as was previously described in reference todevice management subsystem 7212. However, it may expand functionality to allow authorization to specified tiers to run subset or global reports. - In an embodiment, the Web-based interface to
device monitoring subsystem 7214 is configured to take into consideration scalability by providing easy search functionality to locate an individual device, or subsets of devices, among many thousands. Such device searching may permit devices to be searched for based on MAC ID, customer name, billing telephone number, zip code, etc. Additionally, the Web-based interface todevice monitoring subsystem 7214 may provide the capability to generate predetermined queries and to display query results in various manners (text or visual). -
FIG. 26 , described above in reference to the application framework ofdevice 110 provides an example of a Web-based user interface screen for interacting withdevice management subsystem 7212/device monitoring subsystem 7214. -
Application store 7216 comprises a portal that promotes application development in a managed subscription-based model. New applications are developed by authorized developers, verified by a regional organization, and subsequently released to the public via this platform. Revenue sharing is supported. - In one implementation,
application store 7216 comprises a repository of Flash applications thatdevice 110 and like devices can subscribe to, which may be offered for free, or at a nominal fee to an end user. -
FIG. 73 depicts four main areas of the applicationstore life cycle 7300. As shown inFIG. 73 , the life cycle begins with thedevelopment 7302 of the applications. Applications may be developed by any number of entities including a developer ofdevice 110, service providers that provide services viadevice 110, and independent developers. Such applications are tested 7304 and uploaded to a services database. Once applications have been validated, they can then be distributed 7306 to selected (or global) devices by an administrator. At this point, the selected devices in the field would now be capable of browsing 7308 and subscribing to the new application. - As shown in
FIG. 73 , application store life cycle begins withdevelopment 7302. - In one embodiment, before a developer is eligible to submit applications, they must first register. This may involve creating a profile consisting of contact information, technical experience and account information for revenue sharing purposes. Once registered, a developer may become a Beta tester of his/her own applications. In addition, necessary terms and conditions may be required for developers to view and accept.
- In an embodiment, application development involves working within predefined guidelines. By conforming to such guidelines, a developer may ensure that the application will behave correctly on all
devices 110. - To assist the development community, encourage their interest in creating new applications, and provide them with the aforementioned guidelines, a Web-based developers program may be made available under an appropriate license. The Web-based developers program may comprise a Software Development Kit (SDK) and additional tools and resources.
- In an embodiment, the Web-based developers program includes but is not limited to: (1) an introduction and overview; (2) a getting started guide for development on a personal computer (PC) and installing the SDK; (3) a programming guide for a Flash player used by
device 110; (4) a description of how applications work within the application framework ofdevice 110; (5) a “Hello World” program; (6) additional sample code via simple program examples; (7) user interface and design information, including guidelines and Actionscript code for common design elements and components; (8) an emulator that allows the application to be developed and tested on a PC prior to migrating the application todevice 110; (9) go-to-market insight, including information about target audiences, most popular categories and the like; (10) application lifecycle information, including information about managing updates and changes; and (11) frequently asked questions. - The resource pool for developers may also include an Internet-based developers' blog or community forum.
- Developers may be provided with development devices and software that allow them to test and optimize their applications prior to submission. Some means of support for questions and assistance may further be provided.
- A service provider may require that an approved ITL (Independent Test Lab) certify an application at the developer's expense before it will be accepted for publishing.
- Once an application has been created and tested by a developer, it may be packaged for distribution, approved and published. Life cycle management may also be accommodated for.
- Once various application components have been developed and tested to run on a device such as
device 110, they may be packaged as defined for a target platform and uploaded accordingly. The upload process may be configured to identify the application as vendor specific or generic. - The developer may be required to package up several resources to satisfy deployment requirements. For example, the developer may be required to supply an application store icon and information movie. These two movies can then be utilized by
application store 7216 when a user is browsing for applications to install. Once an application has been selected to be installed, the runtime requirements may require an icon movie and application movie. Optionally, a supporting native library and language file may also be provided. There may be instances when an application requires additional files. In addition, pricing requirements may need to be specified and included with the submitted package. - At this point in time, the developer can test the application through
application store 7216 and seek any necessary approvals from a developer ofdevice 110 or a service provider based upon agreed upon terms and conditions. For example, if a serviceprovider positions device 110 as a family device, a term and condition may state that explicit content is not permitted. - Once approved, the application package may be uploaded and published as generally available, or to a certain device platform, and possibly vendor. Global or specified users would now have access to the application.
-
Application store 7216 may enable independent developers, developers ofdevice 110, or service providers (as appropriate) to post updated versions of an application, as well as the ability to delete. - Depending upon the implementation, update and delete capabilities may apply to applications available on
application store 7216, applications already deployed to devices, or both. In certain situations, a published application may be revoked. Such revocation may result in a notification being sent to all subscribed devices and an automatic uninstall of the application. Alternatively, a developer may elect to allow existing users to keep the current application and simply decide to remove the offering from further availability. -
Application store 7216 may also be configured to provide developers with a summary of customer reviews on a per-application basis to promote improvements in future releases. -
Application store 7216 is an application storefront that is executed on the display/touch panel ofdevice 110. Its purpose is to present a list of authorized applications from which the user can optionally install, wherein the list of authorized applications may be a subset of all the applications stored in an application repository. Whether an application is authorized for a particular user may depend upon the identity of the user, upon which vendor is offering the application, and/or upon other alternative or additional factors. Depending upon the implementation, access to application store may be viadevices 110 only or also via an Internet-based customer portal accessible to any browser-enabled system or device. - Certain applications may have associated costs to the end user. When these applications are purchased, a charge is processed to the appropriate subscriber account. To facilitate this,
application store 7216 may be integrated with a billing system administered by a service provider. - Research has validated that consumers want to be able to choose from a range of applications and services, and then tailor them to their individual needs. Since
device 110 may be accessible to various family members in a home, it may be configured to distinguish between individual users. A device so configured may present a list of applications to all users and then allow for presentation of a particular application within a single active user's profile. -
FIG. 85 is a block diagram of anexemplary application store 8500 in accordance with one embodiment of the present invention. As shown inFIG. 85 ,application store 8500 includes a repository ofapplications 8502 that are suitable for downloading to and installation and execution upon one or more networked telephony and digital media devices such as those described elsewhere herein. Each application stored inrepository 8502 may comprise an application package such as was described elsewhere herein that includes: (1) an application movie that is executable by an application player installed on each of the network devices; (2) an install script that, when executed by a networked device, installs the application movie on the device; (3) an uninstall script that, when executed by a networked device, uninstalls the application movie from the device, and (4) an icon movie that, when executed by an application player installed on a networked device, presents a graphical representation of the application movie to a GUI of the device and that is operable to invoke the application movie after installation thereof on the device. - As further shown in
FIG. 85 ,application store 8500 further includes at least afirst vendor interface 8504 and asecond vendor interface 8506.First vendor interface 8504 is associated with a first vendor (e.g., a telecommunications company, multi system operator, Internet Service Provider, or the like) and is operable to provide access to a first subset of the applications stored inapplication repository 8502 for downloading to and installation and execution upon a first plurality of networked devices. The first plurality of networked devices are associated with one or more customers or subscribers of the first vendor, denoted first vendor users 1-n inFIG. 85 . -
Second vendor interface 8506 is associated with a second vendor that is different than the first vendor and is operable to provide access to a second subset of the applications stored inapplication repository 8502 for downloading to and installation and execution upon a second plurality of networked devices. The second plurality of networked devices are associated with one or more customers or subscribers of the second vendor, denoted second vendor users 1-n inFIG. 85 . - Although only two
vendor interfaces FIG. 85 , it is to be understood that any number of vendor interfaces may be used in accordance with an embodiment of the present invention. - First and
second vendor interfaces device 110. The storefront may comprise, for example, a GUI such as that described above in reference toFIG. 74 . Becauseapplication store 8500 includes a different interface for each vendor, each vendor may advantageously customize the “look and feel” of its associated interface. For example, each vendor may include vendor-specific branding or other user-viewable content within its associated interface. As another example, each vendor may include vendor-specific functionality or features within its associated interface. - The subset of applications made available via
first vendor interface 8504 may be entirely different from that made available viasecond vendor interface 8506. Alternatively, the subsets of applications made available via each vendor interface may be overlapping or even identical. The system shown inFIG. 85 advantageously enables each vendor to selectively determine which applications will be made available to its customers and/or subscribers. Applications may also be customized to include functionality or user-viewable information uniquely associated with a particular vendor. - In view of the breadth of potential application additions and limited screen real estate of certain implementations of
device 110 in comparison to a PC, a user interface toapplication store 7216 may be designed for convenience and simplicity while planning for expansion in navigation and caring for complexities. For example, categorization of applications may be used to assist a user in searching for applications. Example categories include genre, paid vs. free, most popular, highest rated, or newest. - Additionally, as
device 110 may comprise a device that is accessible to an entire family, it may be configured to require a password before providing access toapplication store 7216. This feature may be used, for example, by parents to prevent unauthorized application purchases by their children. -
FIG. 74 depicts oneexample GUI screen 7400 that may be used to provide an interface toapplication store 7216 in accordance with an embodiment of the present invention. As shown inFIG. 74 ,example GUI screen 7400 includes astatus bar 7402 and anapplication store interface 7404. -
Application store interface 7404 includes a first display area that displays all or a portion of a list ofapplication categories 7410. To page up through list 7410 a “page up”button 7412 may be activated and to page down a “page down”button 7414 may be activated. To select an application category from among those inlist 7410, the horizontal bar that displays the title of the application category may be activated. -
Application store interface 7404 further includes a second display area that displays all or a portion of a collection ofapplications 7416 that fall within the category currently selected inlist 7410. To page up through collection 7416 a “page up”button 7418 may be activated and to page down a “page down”button 7420 may be activated. Apage indicator 7422 indicates which of one or more pages ofcollection 7416 is currently being displayed. For each application identified incollection 7416, anicon 7424, aname 7426 and a rating 7428 (which may be based on end user feedback and/or some other source) is provided. To select an application from among those incollection 7416, the icon associated with the application may be activated. A “checkout”button 7430 may be activated to launch a dialog by which a selected application may be purchased for download and installation to adevice 110. - As developers submit applications, a formal process may be used to validate the applications before releasing them to the general public. This process may include provisioning devices that will participate in a Beta program. Any Beta device may be able to install newly uploaded applications for early review. The goal is to protect the public from any rough applications that introduce a negative experience.
- The network administrator may manage the various users on the platform including subscribers, developers, managers, and customer support representatives.
- The network administrator may be able to provision groups of devices. These groups can be assigned various rights that determine their role on the network. To be subjected to early application access, the Beta permission would be granted.
- A Web-based interface for the developers program and
application store 7216 provides a face of the platform and may facilitate its successful implementation. In one embodiment, the Web-based interface includes four areas that correspond to the four stages of the application store life cycle—namely, develop, test, deploy and browse. Such a Web-base interface may be simple in design and easy to navigate. -
Application intelligence subsystem 7218 is configured to provide application usage analysis by tracking specific application metrics. Such functionality advantageously enables valuable trend spotting for end-user-driven, new application development. -
Application intelligence subsystem 7218 may be configured to deliver vital usage analysis by tracking specific application metrics. Such metrics may be of value to marketing teams, product management teams, customer retention teams and developers. In one embodiment,application intelligence subsystem 7218 enables a user to view a ranking of most frequently used/least used applications for all end users in the aggregate or for some subset of end users.Application intelligence subsystem 7218 may also provide statistics on day of week/time of day usage behavior. - In addition to the benefits offered to the service providers and developers, the data may be extended to end users. For example, end users may be notified which applications are the most popular applications.
-
Application intelligence subsystem 7218 may also be configured to permit end users to rate applications and to share such ratings information in the aggregate with other end users. - A system administrator may have the ability to grant or deny entities the ability to generate and view application intelligence reports. Given customer proprietary information policies, the usage behavior of individual devices is securely protected.
- In an embodiment, a Web-based interface to
application intelligence subsystem 7218 is visual in nature, and has the capability to produce executive level reports. Such reports may be transferable to standard Microsoft® PowerPoint® (developed and sold by Microsoft Corporation of Redmond, Wash.) presentations.FIGS. 24 and 25 , described elsewhere herein, depict example Web-based interface screens that may be used to report application intelligence information in accordance with various implementations. -
Content aggregation subsystem 7220 is configured to remove the burden on service providers of individually having to manage delivery of content to devices withinnetwork 7204 from multiple content providers.Content aggregation subsystem 7220 provides a pre-packaged content solution with personalization, recurring revenue, ad insertion and aggregated billing opportunities. By managing content processing/transcoding, caching and user preferences,content aggregation subsystem 7220 can optimize the performance of a device withinnetwork 7204 by alleviating the content processing needs of the device. -
FIG. 75 is a block diagram 7500 that shows howcontent aggregation subsystem 7220 may be used to aggregate content from multiple content providers in accordance with an embodiment of the present invention. As shown in that figure, a plurality of content providers—namely,content providers device 110. Such content may include for example video content, audio content, graphic content, text content, or any other form of content that can be delivered over a network.Device 110 uses such content to a plurality of content-based applications—namely content-basedapplications - Content provided to
device 110 bycontent provider 7502 a is processed entirely bydevice 110. Such processing may include content processing via ActionScript functionality of a Flash player executing ondevice 110, via a dedicated C/C++ class module which is a part of a software architecture ofdevice 110, or via various codecs for audio, video and images that also form a part of the software architecture ofdevice 110. - In contrast, content provided to
device 110 bycontent providers content aggregation subsystem 7220. Such processing may include, for example, audio or video transcoding.Content aggregation subsystem 7220 may also cache content so that it need not be retrieved bysubsystem 7220 each time it is requested by a device. Any of a variety of caching protocols may be used.Content aggregation subsystem 7220 may also filter or modify content based on user preferences. Processed content is then provided fromcontent aggregation subsystem 7220 todevice 110 for use in supporting content-based applications 7504 a-7504 d. Since a certain amount of content processing has already been performed bycontent aggregation subsystem 7220, the amount of processing that must be performed bydevice 110 is reduced. This helps improve performance bydevice 110. -
Content aggregation subsystem 7220 may perform additional functions such as the insertion of ads into content prior to delivery todevice 110.Content aggregation subsystem 7220 can advantageously provide a source of recurring revenue to an administrator of the subsystem. The subsystem can also aggregate services provided by multiple content providers to a single bill. - As discussed above with respect to
FIG. 63 ,device 110 may include a directory services application that allows a user to search for businesses within various service categories. Businesses may be selected based on geographic proximity to a particular location. Once a business has been found, the user can activate a telephone button icon associated with the business to place a telephone call directly from the directory services application interface (also referred to herein as “click-to-call”). In an embodiment, the directory services application also supports text messaging to a business in accordance with a Short Message Service (SMS) protocol. - As shown in
FIG. 76 , adirectory services application 7602 executing ondevice 110 may obtain directory services information in real-time from a single IP-baseddirectory 7604. In particular,directory services application 7602 sends a query via the Internet to IP-baseddirectory 7604. The query may specify, for example, a name of a business, a category of businesses, or one or more search keywords. The query may also include geographic information, such as city, state or zip code in order to obtain location-specific results. Based on the query, the IP-based directory will return one or more results in the form of business names, addresses and telephone numbers. IP-baseddirectory 7604 may comprise a directory provided by any of a wide variety of IP-based directory service providers. - As shown in
FIG. 77 , adirectory services application 7702 executing ondevice 110 may also obtain directory services information in real-time from multiple IP-based directories, such asdirectories directory services application 7702 sends a query to anaggregator 7704 that is configured to distribute the query to each of the multiple directories. The query may be formulated in the manner described above in regard toFIG. 76 .Aggregator 7704 then receives query results A, query results B and query results C from IP-baseddirectories directory services application 7702. Aggregating directory information in this fashion may be beneficial in that it may provide an end user with access to more comprehensive directory information. Certain IP-based directories may also provide certain types of information that other IP-based directories don't. Furthermore, if a first IP-based directory is currently being built, a second IP-based directory may also be used as a fallback directory in case the first IP-based directory is not capable of delivering adequate results. - In either of the scenarios depicted in
FIGS. 76 and 77 , query results may be ordered for presentation to an end user. Depending upon the implementation, results may be ordered by the IP-based directory, the aggregator, and/or the directory services application executing ondevice 110. Such results may be ordered, for example, alphabetically or by geographic proximity to a specified location. - In one embodiment, results are ordered in accordance with a “premium placement” scheme in which businesses can pay to have their information appear at the top of the query results or highlighted in some other fashion intended to garner the attention of an end user. Such highlighting techniques may include, for example, providing a larger listing or using bold text, background highlighting, animations or the like. As shown in
FIG. 78 , anaggregator 7804 may be configured to obtain such “premium placement” results from apremium placement directory 7806 based on a query received from adirectory services application 7802, while also obtaining standard directory results from at least one IP-baseddirectory 7808. The query information may also be used to obtain ads from anads database 7810 for display within the directory services application interface ondevice 110. This provides yet another revenue opportunity for a proprietor ofaggregator 7804. Premium placement directory information, standard directory information and ads may all be returned fromaggregator 7804 todirectory services application 7802. - Payment for “premium placement” may be based on the display of the premium placement directory information by
directory services application 7802 and/or upon the use ofdirectory services application 7802 to place a telephone call to a premium placement business. For example, a payment may be due each time premium placement directory information is displayed or each time a phone call is placed that is attributable to a premium placement entry. The latter payment method is easily implemented becausedirectory services application 7802 is capable of attributing the placement of a call to a particular business entry and can be configured to instantaneously report such information. - A directory services application in accordance with an embodiment of the present invention may also permit a user to click on or otherwise activate a directory entry to access additional information or functionality associated with a particular business. Additional information may be in the form of graphic, audio (e.g., voice) and/or video content that is displayed or played back by
device 110. Additional functionality may be in the form of an application interface that allows an end user to place an order or otherwise acquire products or services from the business (e.g., an interface that allows a user to place an order for pizza from a restaurant). A business may pay a fee in order to have such information or functionality associated with its entry and/or may pay a separate fee each time such information or functionality is accessed or used. - Information aggregated from
multiple devices 110 can be used to generate valuable reports regarding what types of products and services end users are looking for and which businesses have actually been contacted using the click-to-dial feature. A directory services application or other application operating ondevice 110 may also solicit ratings or rankings information from end users about businesses that they have called viadevice 110. Such information may advantageously be used to answer community-based queries such as “What electrician do most people in my neighborhood call?” or “What is the favorite pizza place in my area?” - One implementation of the present invention that uses click-to-dial reporting to provide community-based popularity information will now be described in reference to
FIG. 79 . As shown in that figure, adirectory services application 7902 executing ondevice 110 provides click-to-dial reporting information to a dialed callsdatabase 7908 each time an end user uses the click-to-dial feature ofapplication 7902.Database 7908 acquires such information frommultiple devices 110 to generate accumulated information regarding which businesses have been dialed using the click-to-dial feature and how many times such businesses have been dialed. Dialed callsdatabase 7908 may maintain such information for each of a plurality of geographic locations. - When an end user solicits directory information from
directory services application 7902,directory services application 7902 sends a query to anaggregator 7904.Aggregator 7904 distributes the query tomultiple directories 7906, which may include both apremium placement directory 7910 and a standard IP-baseddirectory 7912 as discussed above, and obtains corresponding results in the form of business names, addresses and telephone numbers. Such results may be limited to a particular geographic area.Aggregator 7904 then queries dialedcalls database 7908 with the returned telephone numbers to determine the popularity of each business based on click-to-call volume.Aggregator 7904 then returns the results along with the popularity information returned from dialedcalls database 7908 todirectory services application 7902.Directory services application 7902 then presents the results to the end user. For example, directory services application 79Y02 may present all results sorted from most popular to least popular. As another example,directory services application 7902 may present premium placement results followed by ordinary results, wherein the premium placement results and the ordinary results are each sorted by popularity. Still other sorting approaches may be used. - In the foregoing example of
FIG. 79 , the popularity of a business is determined based on reported click-to-call volume alone. In additional embodiments, end user feedback such as end user rating or ranking information may additionally or alternatively be solicited viadevice 110 and used to determine the popularity of a business.Directory services application 7902 may also be configured to display end user comments about particular businesses. -
FIG. 80 depicts anembodiment 8000 of a directory services application in accordance with an embodiment of the present invention that includespreferences logic 8002,contacts integration logic 8004,ratings logic 8006 andfavorites integration logic 8008. Each of these elements will now be described. -
Preferences logic 8002 allows an end user to “tag” an entry for a business that is listed in the application interface ofdirectory services application 8000. The method by which an entry is tagged may vary depending upon the implementation. Once an entry has been tagged it will subsequently be presented at the top of the list for the relevant business category. Thus, for example, if an end user tags a particular movie theater, that movie theater will appear at the top of the list the next time the movie theater category is selected. If multiple businesses within the same category have been tagged, a sorting algorithm may be used to determine the order in which the tagged businesses appear. For example, a most-recently-used sorting algorithm may be used.Preferences logic 8002 thus allows a user to easily access directory information for a preferred business without having to actually create, maintain or find contact information for the business. -
Contacts integration logic 8004 is configured to allow an end user to add contact information associated with a business identified in the application interface ofdirectory services application 8000 to an address book maintained by a contacts application resident ondevice 110. -
Ratings logic 8006 is configured to permit a user to submit ratings information about a particular business identified in the application interface ofdirectory service application 8000. Such ratings information can then be aggregated by a service provider and used bydirectory services application 8000 to display community-based ratings for businesses, or to sort business entries by ratings. -
Favorites integration logic 8008 is configured to enable a user to add a business identified in the application interface ofdirectory services application 8000 to a favorites list that may be maintained bydirectory services application 8000 or a separate application resident ondevice 110. Activating an entry in the favorites list will invoke a speed-dial feature that will cause the business to be called. - One implementation of a click-to-call user interface flow in accordance with an embodiment of the present invention will now be described with reference to
FIGS. 81 , 82 and 83. As shown inFIG. 81 , the flow begins with the presentation of aGUI screen 8100 associated with a directory services application to an end user.GUI screen 8100 includes a list ofbusiness categories 8102 and a plurality ofentries 8104 corresponding to a selected category withincategory list 8102. - In an embodiment,
category list 8102 represents a sub-category within a hierarchical list of business categories. Thus, for example,category list 8102 may represent the category of “pizza restaurants” which itself is a sub-category of the category “restaurants”. In one implementation, the directory services application associated withGUI screen 8100 allows a user to navigate among a hierarchical list of business categories and sub-categories in order to find a desired list of businesses. - In one embodiment,
category list 8102 represents a “quick access” list of categories that are deemed most useful to a user. The quick access list may be automatically compiled based on historical information relating to which categories are most often accessed by an end user. Alternatively or additionally, the quick access list may be manually compiled based on express designation of categories by the end user. The use of a quick access list helps ensure that end users are not presented with categories that they do not often use.Category list 8102 may also represent categories that have most recently been accessed by an end user. - Depending upon the implementation,
category list 8102 may be sorted alphabetically, by frequency of use, or based on some other sorting algorithm. For manageability,category list 8102 may be limited to some maximum number of entries. End users may be given the option to delete a category fromcategory list 8102. - In a further embodiment,
category list 8102 may represent the results of a category search executed by an end user via another GUI screen of the directory services application. - Once an end user has activated one of
entries 8104 shown inGUI screen 8100, aGUI screen 8200 depicted inFIG. 82 will be displayed.GUI screen 8200 providesadditional information 8202 about the selected business. Such information may include animage 8204, audio and/orvideo content 8206, andtext 8208. Such information also includes atelephone number 8210. - The information presented in
GUI screen 8200 may be provided from the business itself or from some third party information provider, such as a third party IP-based directory service. The information may be provided in a very simple format or may be provided in an elaborate format, using animation, streaming audio/video content, or the like. - Upon activation of
telephone number 8210 by an end user, aGUI screen 8300 depicted inFIG. 83 will be displayed. As shown inFIG. 83 ,GUI screen 8300 includes adial button 8302, acontacts button 8304, afavorites button 8306, abookmark button 8308, acomment button 8310 and a cancelbutton 8312. - When an end user presses
dial button 8302, the click-to-dial functionality of the directory services application will be invoked and a telephone call will be placed fromdevice 110 to the selected business. As noted above, the placement of the call via this interface may be reported to an external entity for tracking business popularity or other statistics. - When an end user activates
contacts button 8304, information about the selected business will be imported into an address book maintained by a contacts application resident ondevice 110. Depending upon the implementation, this process may involve launching an interactive dialog in which the end user must engage. - When an end user activates
favorites button 8306, the selected business will be tagged such that it will subsequently be presented at the top of the list for the relevant business category. Thus, for example, if an end user activatesfavorites button 8306 for a particular movie theater, that movie theater will appear at the top of the list the next time the movie theater category is selected. If multiple businesses within the same category have been selected as favorites, a sorting algorithm may be used to determine the order in which the businesses appear. - When an end user activates
bookmark button 8308, the selected business will be saved to a “bookmarked” business category for easy access during subsequent use of the directory services application. - When an end user activates
comment button 8310, the user is presented with an interface by which the end user can submit feedback about the selected business. Depending upon the implementation, such feedback may be submitted in the form of a rating (e.g., a certain number of stars out of 5 stars, a “thumbs up” or “thumbs down”, etc.) and/or as text comments. Such feedback can then be aggregated by a service provider and then used by the directory services application to display community-based ratings or comments for businesses or to sort business entries by ratings. - When an end user activates cancel
button 8312, the end user terminates the transaction and may be returned, for example, toGUI screen 8100. - It should be noted that depending upon the implementation, either or both of
GUI screens GUI screen 8100 may automatically place a phone call to the selected business. Also, activatingphone number 8210 withinGUI screen 8200 may automatically place a phone call to the selected business. - Click-to-call records generated by a directory services application in accordance with an embodiment of the present invention may be used to generate a variety of valuable business reports. Such reports may provide a volume of calls per time period, busy hours, a number of entries viewed without calls/skips, a number of hang-ups or unanswered calls or a number of favorite registrations for a particular business.
- Embodiments of the present invention described herein, including systems, methods/processes, and/or apparatuses, may be implemented using one or more processor-based computer systems, such as
computer system 8400 shown inFIG. 84 . As shown inFIG. 84 ,computer system 8400 includes aprocessing unit 8404 that includes one or more processors or processor cores.Processor unit 8404 is connected to acommunication infrastructure 8402, which may comprise, for example, a bus or a network. -
Computer system 8400 also includes amain memory 8406, preferably random access memory (RAM), and may also include asecondary memory 8408.Secondary memory 8408 may include, for example, ahard disk drive 8422 and/or aremovable storage drive 8424.Removable storage drive 8424 may comprise a floppy disk drive, a magnetic tape drive, an optical disk drive, a tape backup, or the like.Removable storage drive 8424 reads from and/or writes to aremovable storage unit 8432 in a well-known manner.Removable storage unit 8432 may comprise a floppy disk, magnetic tape, optical disk, or the like, which is read by and written to byremovable storage drive 8424. As will be appreciated by persons skilled in the relevant art(s),removable storage unit 8432 includes a computer-readable storage medium having stored therein computer software and/or data. - In alternative implementations,
secondary memory 8408 may include other similar means for allowing computer programs or other instructions to be loaded intocomputer system 8400. Such means may include, for example, aremovable storage unit 8434 and aninterface 8426. Examples of such means may include a memory stick and an industry standard interface (such as a universal serial bus (USB) interface) suitable for interfacing with the memory stick, a memory card and associated card reader, a removable memory chip (such as an EPROM or PROM) and associated socket, a program cartridge and cartridge interface (such as that found in video game devices), and otherremovable storage units 8434 andinterfaces 8426 that allow software and data to be transferred fromremovable storage unit 8434 tocomputer system 8400. -
Computer system 8400 may further include adisplay 8410 for presenting user-viewable content rendered byprocessing unit 8404 and/or optional display interface hardware (not shown inFIG. 84 ) as well as one or more input/output (I/O)devices 8412 for receiving input from or producing output to a user. Exemplary input devices include a keyboard, mouse, keypad, touch screen, or the like. Exemplary output devices include audio devices such as speakers.Display 8410 may also be considered an output device. -
Computer system 8400 may also include a communication interface 8414. Communication interface 8414 allows software and data to be transferred betweencomputer system 8400 and external devices. Examples of communication interface 8414 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or the like. Software and data transferred via communication interface 8414 are in the form of signals which may be electronic, electromagnetic, optical, or other signals capable of being received by communication interface 8414. These signals are provided to communication interface 8414 via acommunication path 8442.Communications path 8442 carries signals and may be implemented using wired communication media such as a phone line, coaxial cable or fiber optic cable, as well as wireless communication media such as radio frequency (RF) or infrared communication channels. - As used herein, the terms “computer program medium” and “computer readable medium” are used to generally refer to media such as
removable storage unit 8432,removable storage unit 8434 and a hard disk installed inhard disk drive 8422. Computer program medium and computer readable medium can also refer to memories, such asmain memory 8406 andsecondary memory 8408, which can be semiconductor devices (e.g., DRAMs, etc.). These computer program products are means for providing software tocomputer system 8400. - Computer programs (also called computer control logic, programming logic, or logic) are stored in
main memory 8406 and/orsecondary memory 8408. Computer programs may also be received via communication interface 8414. Such computer programs, when executed, enablecomputer system 8400 to implement features of the present invention as discussed herein. Accordingly, such computer programs represent controllers of thecomputer system 8400. Where the invention is implemented using software, the software may be stored in a computer program product and loaded intocomputer system 8400 usingremovable storage drive 8424,interface 8426, or communication interface 8414. - The invention is also directed to computer program products comprising software stored on any computer readable medium. Such software, when executed in one or more data processing devices, causes a data processing device(s) to operate as described herein. Embodiments of the present invention employ any computer readable medium, known now or in the future. Examples of computer readable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory) and secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, zip disks, tapes, magnetic storage devices, optical storage devices, MEMs, nanotechnology-based storage device, etc.).
- While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be understood by those skilled in the relevant art(s) that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Accordingly, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims (28)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/639,165 US9753746B2 (en) | 2008-12-19 | 2009-12-16 | Application store and intelligence system for networked telephony and digital media services devices |
US15/645,868 US20180129511A1 (en) | 2008-12-19 | 2017-07-10 | Application store and intelligence system for networked telephony and digital media services devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13909008P | 2008-12-19 | 2008-12-19 | |
US12/639,165 US9753746B2 (en) | 2008-12-19 | 2009-12-16 | Application store and intelligence system for networked telephony and digital media services devices |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/645,868 Continuation US20180129511A1 (en) | 2008-12-19 | 2017-07-10 | Application store and intelligence system for networked telephony and digital media services devices |
Publications (2)
Publication Number | Publication Date |
---|---|
US20100157989A1 true US20100157989A1 (en) | 2010-06-24 |
US9753746B2 US9753746B2 (en) | 2017-09-05 |
Family
ID=42265191
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/639,139 Abandoned US20100159898A1 (en) | 2008-12-19 | 2009-12-16 | Services platform for networked devices that provide telephony and digital media services |
US12/639,179 Abandoned US20100157990A1 (en) | 2008-12-19 | 2009-12-16 | Systems for providing telephony and digital media services |
US12/639,175 Expired - Fee Related US8199507B2 (en) | 2008-12-19 | 2009-12-16 | Telephony and digital media services device |
US12/639,165 Active 2035-03-23 US9753746B2 (en) | 2008-12-19 | 2009-12-16 | Application store and intelligence system for networked telephony and digital media services devices |
US15/645,868 Abandoned US20180129511A1 (en) | 2008-12-19 | 2017-07-10 | Application store and intelligence system for networked telephony and digital media services devices |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/639,139 Abandoned US20100159898A1 (en) | 2008-12-19 | 2009-12-16 | Services platform for networked devices that provide telephony and digital media services |
US12/639,179 Abandoned US20100157990A1 (en) | 2008-12-19 | 2009-12-16 | Systems for providing telephony and digital media services |
US12/639,175 Expired - Fee Related US8199507B2 (en) | 2008-12-19 | 2009-12-16 | Telephony and digital media services device |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/645,868 Abandoned US20180129511A1 (en) | 2008-12-19 | 2017-07-10 | Application store and intelligence system for networked telephony and digital media services devices |
Country Status (7)
Country | Link |
---|---|
US (5) | US20100159898A1 (en) |
EP (2) | EP2370999A4 (en) |
JP (3) | JP2012513170A (en) |
KR (3) | KR101434293B1 (en) |
CN (2) | CN102257613A (en) |
CA (2) | CA2747655A1 (en) |
WO (2) | WO2010080498A1 (en) |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100157543A1 (en) * | 2008-12-19 | 2010-06-24 | Openpeak, Inc. | Telephony and digital media services device |
US20100284398A1 (en) * | 2009-05-08 | 2010-11-11 | Samsung Electronics Co., Ltd. | SYSTEM AND METHOD FOR PROVIDING PHONE RELATED SERVICES TO DEVICES USING UPnP ON A HOME NETWORK |
WO2010138449A3 (en) * | 2009-05-29 | 2011-02-03 | Oracle America, Inc. | Java store |
US20110085647A1 (en) * | 2009-10-09 | 2011-04-14 | Hicks Iii John Alson | Methods, Systems and Products for Providing Modem Functions |
US20110219334A1 (en) * | 2010-03-03 | 2011-09-08 | Park Seungyong | Mobile terminal and control method thereof |
US20120117558A1 (en) * | 2010-11-04 | 2012-05-10 | Microsoft Corporation | Mobile application migration service |
US20120221384A1 (en) * | 2011-02-28 | 2012-08-30 | Qualcomm Innovation Center, Inc. | System, method, and apparatus for organizing and distributing apps |
US8584019B1 (en) * | 2012-08-29 | 2013-11-12 | Mitesh Gala | Location-based and other criteria-based establishment management systems and methods |
US8589789B2 (en) | 2010-08-03 | 2013-11-19 | Aaron Grunberger | Method and system for revisiting prior navigated pages and prior edits |
US20130332886A1 (en) * | 2012-06-08 | 2013-12-12 | Apple Inc. | Identification of recently downloaded content |
US8612582B2 (en) | 2008-12-19 | 2013-12-17 | Openpeak Inc. | Managed services portals and method of operation of same |
US8615581B2 (en) | 2008-12-19 | 2013-12-24 | Openpeak Inc. | System for managing devices and method of operation of same |
US8626774B2 (en) | 2012-01-23 | 2014-01-07 | Qualcomm Innovation Center, Inc. | Location based apps ranking for mobile wireless computing and communicating devices |
US20140032656A1 (en) * | 2012-07-24 | 2014-01-30 | Appboy, Inc. | Method and system for collecting and providing application usage analytics |
US8650290B2 (en) | 2008-12-19 | 2014-02-11 | Openpeak Inc. | Portable computing device and method of operation of same |
US8650658B2 (en) | 2010-10-25 | 2014-02-11 | Openpeak Inc. | Creating distinct user spaces through user identifiers |
US8667421B2 (en) | 2010-08-03 | 2014-03-04 | Aaron Grunberger | Method and system for revisiting prior navigated pages and prior edits |
US8695060B2 (en) | 2011-10-10 | 2014-04-08 | Openpeak Inc. | System and method for creating secure applications |
US8713173B2 (en) | 2008-12-19 | 2014-04-29 | Openpeak Inc. | System and method for ensuring compliance with organizational policies |
US8745213B2 (en) | 2008-12-19 | 2014-06-03 | Openpeak Inc. | Managed services platform and method of operation of same |
WO2014059271A3 (en) * | 2012-10-11 | 2014-06-12 | Netflix, Inc. | A system and method for managing playback of streaming digital content |
US8788655B2 (en) | 2008-12-19 | 2014-07-22 | Openpeak Inc. | Systems for accepting and approving applications and methods of operation of same |
US20140214916A1 (en) * | 2010-08-04 | 2014-07-31 | Keertikiran Gokul | System, method and apparatus for managing applications, information and services |
CN104049891A (en) * | 2013-03-14 | 2014-09-17 | 三星电子株式会社 | Mobile device of executing action in display unchecking mode and method of controlling same |
US8856322B2 (en) | 2008-12-19 | 2014-10-07 | Openpeak Inc. | Supervisory portal systems and methods of operation of same |
US20140341196A1 (en) * | 2012-03-06 | 2014-11-20 | Huawei Device Co., Ltd. | Transmission Method, System, and Communication Device for Realizing Coexistence of Data and Voice Services |
US8938547B1 (en) | 2014-09-05 | 2015-01-20 | Openpeak Inc. | Method and system for data usage accounting in a computing device |
US9077796B2 (en) | 2010-08-17 | 2015-07-07 | Openpeak Inc. | System containing a mobile communication device and associated docking station |
US9100390B1 (en) | 2014-09-05 | 2015-08-04 | Openpeak Inc. | Method and system for enrolling and authenticating computing devices for data usage accounting |
US9106538B1 (en) | 2014-09-05 | 2015-08-11 | Openpeak Inc. | Method and system for enabling data usage accounting through a relay |
US9232013B1 (en) | 2014-09-05 | 2016-01-05 | Openpeak Inc. | Method and system for enabling data usage accounting |
US9350818B2 (en) | 2014-09-05 | 2016-05-24 | Openpeak Inc. | Method and system for enabling data usage accounting for unreliable transport communication |
US9489190B1 (en) * | 2013-09-18 | 2016-11-08 | Amazon Technologies, Inc. | Message processing engine |
US9565475B2 (en) | 2012-10-11 | 2017-02-07 | Netflix, Inc. | System and method for managing playback of streaming digital content |
US9569229B1 (en) | 2013-07-29 | 2017-02-14 | Western Digital Technologies, Inc. | Automatic start of an application at start up for a media player appliance |
US20170329698A1 (en) * | 2016-02-25 | 2017-11-16 | Dell Products, Lp | System and Method for Provisioning a Virtual Machine Test Environment |
US20180091682A1 (en) * | 2016-09-23 | 2018-03-29 | Canon Kabushiki Kaisha | Image forming apparatus, method for controlling image forming apparatus, and storage medium |
US20180210630A1 (en) * | 2017-01-26 | 2018-07-26 | Kyocera Document Solutions Inc. | Display device and display method |
US10348596B1 (en) | 2014-12-03 | 2019-07-09 | Amazon Technologies, Inc. | Data integrity monitoring for a usage analysis system |
US10475079B2 (en) * | 2014-06-06 | 2019-11-12 | Adobe Inc. | Application integrated advertising display control |
US20190349479A1 (en) * | 2014-05-08 | 2019-11-14 | Ubiquiti Networks, Inc. | Phone systems and methods of communication |
US10706073B1 (en) | 2014-12-03 | 2020-07-07 | Amazon Technologies, Inc. | Partitioned batch processing for a usage analysis system |
US11025622B2 (en) * | 2011-07-12 | 2021-06-01 | Apple, Inc. | System and method for linking pre-installed software to a user account on an online store |
US11456927B2 (en) * | 2017-04-24 | 2022-09-27 | Servicenow, Inc. | Installation and upgrade of visualizations for managed networks |
US12016072B2 (en) | 2020-07-21 | 2024-06-18 | Asrris Enterprises Llc | Optimizing access point device onboarding completion time using mobile app |
Families Citing this family (215)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658091B1 (en) | 2002-02-01 | 2003-12-02 | @Security Broadband Corp. | LIfestyle multimedia security system |
US9531593B2 (en) | 2007-06-12 | 2016-12-27 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
US11159484B2 (en) | 2004-03-16 | 2021-10-26 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
US11343380B2 (en) | 2004-03-16 | 2022-05-24 | Icontrol Networks, Inc. | Premises system automation |
US10339791B2 (en) | 2007-06-12 | 2019-07-02 | Icontrol Networks, Inc. | Security network integrated with premise security system |
US10382452B1 (en) | 2007-06-12 | 2019-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11368429B2 (en) | 2004-03-16 | 2022-06-21 | Icontrol Networks, Inc. | Premises management configuration and control |
US11277465B2 (en) | 2004-03-16 | 2022-03-15 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
US10127802B2 (en) | 2010-09-28 | 2018-11-13 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
US9609003B1 (en) | 2007-06-12 | 2017-03-28 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
AU2005223267B2 (en) | 2004-03-16 | 2010-12-09 | Icontrol Networks, Inc. | Premises management system |
US11244545B2 (en) | 2004-03-16 | 2022-02-08 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US10142392B2 (en) | 2007-01-24 | 2018-11-27 | Icontrol Networks, Inc. | Methods and systems for improved system performance |
US11113950B2 (en) | 2005-03-16 | 2021-09-07 | Icontrol Networks, Inc. | Gateway integrated with premises security system |
US11916870B2 (en) | 2004-03-16 | 2024-02-27 | Icontrol Networks, Inc. | Gateway registry methods and systems |
US11368327B2 (en) | 2008-08-11 | 2022-06-21 | 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 |
US10721087B2 (en) | 2005-03-16 | 2020-07-21 | Icontrol Networks, Inc. | Method for networked touchscreen with integrated interfaces |
US11190578B2 (en) | 2008-08-11 | 2021-11-30 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
US11201755B2 (en) | 2004-03-16 | 2021-12-14 | Icontrol Networks, Inc. | Premises system management using status signal |
US8988221B2 (en) | 2005-03-16 | 2015-03-24 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
US10156959B2 (en) | 2005-03-16 | 2018-12-18 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US11316958B2 (en) | 2008-08-11 | 2022-04-26 | Icontrol Networks, Inc. | Virtual device systems and methods |
US9141276B2 (en) | 2005-03-16 | 2015-09-22 | Icontrol Networks, Inc. | Integrated interface for mobile device |
US7711796B2 (en) | 2006-06-12 | 2010-05-04 | Icontrol Networks, Inc. | Gateway registry methods and systems |
US8635350B2 (en) | 2006-06-12 | 2014-01-21 | Icontrol Networks, Inc. | IP device discovery systems and methods |
US10200504B2 (en) | 2007-06-12 | 2019-02-05 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US10444964B2 (en) | 2007-06-12 | 2019-10-15 | Icontrol Networks, Inc. | Control system user interface |
US10313303B2 (en) | 2007-06-12 | 2019-06-04 | 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 |
US11582065B2 (en) | 2007-06-12 | 2023-02-14 | Icontrol Networks, Inc. | Systems and methods for device communication |
US20090077623A1 (en) | 2005-03-16 | 2009-03-19 | Marc Baum | Security Network Integrating Security System and Network Devices |
US9729342B2 (en) | 2010-12-20 | 2017-08-08 | Icontrol Networks, Inc. | Defining and implementing sensor triggered response rules |
US10348575B2 (en) | 2013-06-27 | 2019-07-09 | Icontrol Networks, Inc. | Control system user interface |
US11677577B2 (en) | 2004-03-16 | 2023-06-13 | Icontrol Networks, Inc. | Premises system management using status signal |
US11489812B2 (en) | 2004-03-16 | 2022-11-01 | 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 |
US12063220B2 (en) | 2004-03-16 | 2024-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10375253B2 (en) | 2008-08-25 | 2019-08-06 | Icontrol Networks, Inc. | Security system with networked touchscreen and gateway |
US8963713B2 (en) | 2005-03-16 | 2015-02-24 | Icontrol Networks, Inc. | Integrated security network with security alarm signaling system |
US10237237B2 (en) | 2007-06-12 | 2019-03-19 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11615697B2 (en) | 2005-03-16 | 2023-03-28 | Icontrol Networks, Inc. | Premise management systems and methods |
US20110128378A1 (en) | 2005-03-16 | 2011-06-02 | Reza Raji | Modular Electronic Display Platform |
US11496568B2 (en) | 2005-03-16 | 2022-11-08 | Icontrol Networks, Inc. | Security system with networked touchscreen |
US20170180198A1 (en) | 2008-08-11 | 2017-06-22 | Marc Baum | Forming a security network including integrated security system components |
US9306809B2 (en) | 2007-06-12 | 2016-04-05 | Icontrol Networks, Inc. | Security system with networked touchscreen |
US20120324566A1 (en) | 2005-03-16 | 2012-12-20 | Marc Baum | Takeover Processes In Security Network Integrated With Premise Security System |
US10999254B2 (en) | 2005-03-16 | 2021-05-04 | Icontrol Networks, Inc. | System for data routing in networks |
US11700142B2 (en) | 2005-03-16 | 2023-07-11 | Icontrol Networks, Inc. | Security network integrating security system and network devices |
US9002018B2 (en) * | 2006-05-09 | 2015-04-07 | Sync Up Technologies Corporation | Encryption key exchange system and method |
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 |
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 |
US11646907B2 (en) | 2007-06-12 | 2023-05-09 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US20180198788A1 (en) * | 2007-06-12 | 2018-07-12 | Icontrol Networks, Inc. | Security system integrated with social media platform |
US11218878B2 (en) | 2007-06-12 | 2022-01-04 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10423309B2 (en) | 2007-06-12 | 2019-09-24 | Icontrol Networks, Inc. | Device integration framework |
US11601810B2 (en) | 2007-06-12 | 2023-03-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US12003387B2 (en) | 2012-06-27 | 2024-06-04 | Comcast Cable Communications, Llc | Control system user interface |
US10051078B2 (en) | 2007-06-12 | 2018-08-14 | Icontrol Networks, Inc. | WiFi-to-serial encapsulation in systems |
US11212192B2 (en) | 2007-06-12 | 2021-12-28 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11089122B2 (en) | 2007-06-12 | 2021-08-10 | Icontrol Networks, Inc. | Controlling data routing among networks |
US10616075B2 (en) | 2007-06-12 | 2020-04-07 | 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 |
US11423756B2 (en) | 2007-06-12 | 2022-08-23 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10666523B2 (en) | 2007-06-12 | 2020-05-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11316753B2 (en) | 2007-06-12 | 2022-04-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10389736B2 (en) | 2007-06-12 | 2019-08-20 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10498830B2 (en) | 2007-06-12 | 2019-12-03 | Icontrol Networks, Inc. | Wi-Fi-to-serial encapsulation in systems |
US11237714B2 (en) | 2007-06-12 | 2022-02-01 | Control Networks, Inc. | Control system user interface |
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 |
US11792036B2 (en) | 2008-08-11 | 2023-10-17 | Icontrol Networks, Inc. | Mobile premises automation platform |
US11729255B2 (en) | 2008-08-11 | 2023-08-15 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
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 |
US8745153B2 (en) * | 2009-02-09 | 2014-06-03 | Apple Inc. | Intelligent download of application programs |
US8638211B2 (en) | 2009-04-30 | 2014-01-28 | Icontrol Networks, Inc. | Configurable controller and interface for home SMA, phone and multimedia |
US9069639B2 (en) * | 2010-02-25 | 2015-06-30 | Red Hat, Inc. | Managing a user proxy configuration in a daemon that frequently loads and unloads |
US8340637B2 (en) * | 2010-04-30 | 2012-12-25 | T-Mobile Usa, Inc. | Securely establishing presence on telecommunication devices |
US8925042B2 (en) | 2010-04-30 | 2014-12-30 | T-Mobile Usa, Inc. | Connecting devices to an existing secure wireless network |
WO2011143273A1 (en) | 2010-05-10 | 2011-11-17 | Icontrol Networks, Inc | Control system user interface |
US9122701B2 (en) | 2010-05-13 | 2015-09-01 | Rovi Guides, Inc. | Systems and methods for providing media content listings according to points of interest |
JP5589570B2 (en) * | 2010-06-02 | 2014-09-17 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
US8995630B1 (en) * | 2010-08-01 | 2015-03-31 | Tulsa Holdings, Llc | Telephony and applications communication in a non-mobile telephone system |
WO2012031266A2 (en) | 2010-09-03 | 2012-03-08 | Visa International Service Association | System and method for custom service markets |
US20120072312A1 (en) * | 2010-09-22 | 2012-03-22 | Microsoft Corporation | Curated Application Store |
US8670752B2 (en) * | 2010-09-24 | 2014-03-11 | At&T Intellectual Property I, L.P. | Providing integrated service-entity premium communication services |
GB201016047D0 (en) * | 2010-09-24 | 2010-11-10 | Pace Plc | Means for heating dissipation for electrical and/or electronic apparatus |
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 |
US8359016B2 (en) | 2010-11-19 | 2013-01-22 | Mobile Iron, Inc. | Management of mobile applications |
KR20120060630A (en) * | 2010-12-02 | 2012-06-12 | 한국전자통신연구원 | Method and apparatus for health monitoring |
CN102026506A (en) * | 2010-12-10 | 2011-04-20 | 鸿富锦精密工业(深圳)有限公司 | Electronic device with multi-angle positioning bracket |
US11750414B2 (en) | 2010-12-16 | 2023-09-05 | Icontrol Networks, Inc. | Bidirectional security sensor communication for a premises security system |
US9031059B2 (en) | 2010-12-17 | 2015-05-12 | Verizon Patent And Licensing Inc. | Fixed mobile convergence and voice call continuity using a mobile device/docking station |
US9143359B2 (en) * | 2010-12-17 | 2015-09-22 | Verizon Patent And Licensing Inc. | Mobile phone docking station for VoIP |
US9147337B2 (en) | 2010-12-17 | 2015-09-29 | Icontrol Networks, Inc. | Method and system for logging security event data |
US9008039B2 (en) | 2010-12-17 | 2015-04-14 | Verizon Patent And Licensing Inc. | Mobile phone/docking station call continuity |
US9060075B2 (en) | 2010-12-17 | 2015-06-16 | Verizon Patent And Licensing Inc. | Mobile phone/docking station emergency call routing |
US8879420B2 (en) | 2010-12-17 | 2014-11-04 | Verizon Patent And Licensing Inc. | Mobile phone docking station VPNs |
US9736665B2 (en) | 2010-12-17 | 2017-08-15 | Verizon Patent And Licensing Inc. | Original calling identification with mobile phone in docked mode |
US9225554B2 (en) | 2011-01-26 | 2015-12-29 | Cisco Technology, Inc. | Device-health-based dynamic configuration of network management systems suited for network operations |
US8832003B1 (en) * | 2011-03-25 | 2014-09-09 | Google Inc. | Provision of computer resources based on location history |
US9494952B2 (en) * | 2011-03-31 | 2016-11-15 | Trane International Inc. | Systems and methods for controlling multiple HVAC systems |
US20120253990A1 (en) * | 2011-04-01 | 2012-10-04 | Skala Thomas E | Interactive communication system |
BG66795B1 (en) * | 2011-04-11 | 2018-12-17 | Николаев Попов Красимир | A method to fulfill complex tasks, valuation and payment effected in a common computer environment |
WO2012140640A1 (en) * | 2011-04-13 | 2012-10-18 | Dsp Group Ltd. | A method and apparatus for adapting a telephony component to operate in a different telephony |
US20120278748A1 (en) * | 2011-04-29 | 2012-11-01 | Wall Street Network, Inc. | Knowledge Dashboard for Knowledge Sharing and Management Applications |
EP3576352A1 (en) * | 2011-05-09 | 2019-12-04 | Samsung Electronics Co., Ltd. | Method and system for managing telephony services in a universal plug and play home network environment |
US9513799B2 (en) | 2011-06-05 | 2016-12-06 | Apple Inc. | Devices, methods, and graphical user interfaces for providing control of a touch-based user interface absent physical touch capabilities |
US8724314B2 (en) * | 2011-06-24 | 2014-05-13 | Motorola Mobility Llc | Apparatus for supplemental cooling of a docked mobile computing device |
US20130085864A1 (en) * | 2011-10-03 | 2013-04-04 | Hassan Ahmed | Mobile content delivery |
US8682020B2 (en) * | 2011-10-05 | 2014-03-25 | Apple Inc. | Speaker magnet thermal management |
US9183380B2 (en) | 2011-10-11 | 2015-11-10 | Citrix Systems, Inc. | Secure execution of enterprise applications on mobile devices |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US8634807B2 (en) * | 2011-10-17 | 2014-01-21 | Blackberry Limited | System and method for managing electronic groups |
KR101160681B1 (en) | 2011-10-19 | 2012-06-28 | 배경덕 | Method, mobile communication terminal and computer-readable recording medium for operating specific function when activaing of mobile communication terminal |
JP5175968B1 (en) | 2011-10-28 | 2013-04-03 | 株式会社東芝 | Stand and electronics |
US9360998B2 (en) * | 2011-11-01 | 2016-06-07 | Paypal, Inc. | Selection and organization based on selection of X-Y position |
KR101789678B1 (en) * | 2011-11-08 | 2017-10-26 | 삼성전자주식회사 | Communication interface device and display device |
EP2595426B1 (en) * | 2011-11-15 | 2014-10-08 | Alcatel Lucent | Method for changing the wireless access point associated with a terminal in a WiFi-DECT cordless telecommunications network |
US9116611B2 (en) | 2011-12-29 | 2015-08-25 | Apple Inc. | Devices, methods, and graphical user interfaces for providing multitouch inputs and hardware-based features using a single touch input |
US9252916B2 (en) | 2012-02-13 | 2016-02-02 | Affirmed Networks, Inc. | Mobile video delivery |
CN102665304B (en) * | 2012-04-01 | 2015-05-06 | 华为技术有限公司 | Communication method of cordless communication system and device thereof |
US20130259028A1 (en) * | 2012-04-02 | 2013-10-03 | Thomas E. Skala | Telephony integrated communication system and method |
US9413893B2 (en) * | 2012-04-05 | 2016-08-09 | Assurant, Inc. | System, method, apparatus, and computer program product for providing mobile device support services |
EP3611905B1 (en) | 2012-05-04 | 2024-06-12 | Itron, Inc. | Efficient firmware update in a narrow bandwidth system |
US8712032B1 (en) | 2012-05-09 | 2014-04-29 | Noble Systems Corporation | Using location based services for determining a calling window |
KR20130137458A (en) * | 2012-06-07 | 2013-12-17 | 삼성전자주식회사 | Apparatus and method for display |
US8855614B2 (en) * | 2012-06-28 | 2014-10-07 | Apple Inc. | Retrieving contact information from multiple devices |
WO2014036636A1 (en) * | 2012-09-10 | 2014-03-13 | Teknision Inc. | Method and system for transferable customized contextual user interfaces |
WO2014062804A1 (en) | 2012-10-16 | 2014-04-24 | Citrix Systems, Inc. | Application wrapping for application management framework |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US20140132877A1 (en) * | 2012-11-13 | 2014-05-15 | Westinghouse Digital, Llc | Liquid crystal display, and configuration thereof |
CN103809993B (en) * | 2012-11-13 | 2017-02-22 | 腾讯科技(深圳)有限公司 | Method and device for dynamically displaying business processes by utilizing icons |
US9591339B1 (en) | 2012-11-27 | 2017-03-07 | Apple Inc. | Agnostic media delivery system |
US9774917B1 (en) | 2012-12-10 | 2017-09-26 | Apple Inc. | Channel bar user interface |
EP2933729B1 (en) * | 2012-12-12 | 2018-11-21 | SK TechX Co., Ltd. | Method for providing cloud service, and system and apparatus therefor |
US10200761B1 (en) | 2012-12-13 | 2019-02-05 | Apple Inc. | TV side bar user interface |
US9532111B1 (en) | 2012-12-18 | 2016-12-27 | Apple Inc. | Devices and method for providing remote control hints on a display |
JP2013101372A (en) * | 2012-12-26 | 2013-05-23 | Toshiba Corp | Stand and electronic equipment |
US10521188B1 (en) | 2012-12-31 | 2019-12-31 | Apple Inc. | Multi-user TV user interface |
US9927902B2 (en) | 2013-01-06 | 2018-03-27 | Intel Corporation | Method, apparatus, and system for distributed pre-processing of touch data and display region control |
CN104981774B (en) | 2013-01-11 | 2020-09-18 | 辛纳科尔股份有限公司 | Method and system for background control panel configuration selection |
US8655970B1 (en) * | 2013-01-29 | 2014-02-18 | Google Inc. | Automatic entertainment caching for impending travel |
US9325841B1 (en) * | 2013-01-31 | 2016-04-26 | Noble Systems Corporation | Determining whether the local time where a mobile device is located is within a calling window of time |
US8934870B1 (en) * | 2013-01-31 | 2015-01-13 | Noble Systems Corporation | Determining whether the local time for a location where a mobile device is located is within a calling window of time |
US8767379B2 (en) * | 2013-02-11 | 2014-07-01 | Connecticut Electric, Inc. | Recreational vehicle user interface system and method |
US9117451B2 (en) * | 2013-02-20 | 2015-08-25 | Google Inc. | Methods and systems for sharing of adapted voice profiles |
US9924102B2 (en) * | 2013-03-14 | 2018-03-20 | Qualcomm Incorporated | Image-based application launcher |
US9378065B2 (en) | 2013-03-15 | 2016-06-28 | Advanced Elemental Technologies, Inc. | Purposeful computing |
US10075384B2 (en) | 2013-03-15 | 2018-09-11 | Advanced Elemental Technologies, Inc. | Purposeful computing |
US9721086B2 (en) | 2013-03-15 | 2017-08-01 | Advanced Elemental Technologies, Inc. | Methods and systems for secure and reliable identity-based computing |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
JP6251975B2 (en) * | 2013-04-15 | 2017-12-27 | 株式会社リコー | Management system, management method, program, and transmission system |
US10137361B2 (en) * | 2013-06-07 | 2018-11-27 | Sony Interactive Entertainment America Llc | Systems and methods for using reduced hops to generate an augmented virtual reality scene within a head mounted system |
TW201448560A (en) * | 2013-06-07 | 2014-12-16 | wei-wen Xu | Regional service system and method thereof |
EP3039829B1 (en) * | 2013-08-30 | 2020-03-25 | Hubbell Incorporated | Wifi hazardous area voip paging telephone |
USD781299S1 (en) * | 2013-09-03 | 2017-03-14 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
US10276026B2 (en) * | 2013-12-06 | 2019-04-30 | Vivint, Inc. | Voice annunciated reminders and alerts |
WO2015108397A1 (en) * | 2014-01-20 | 2015-07-23 | Samsung Electronics Co., Ltd. | Electronic device for sharing data and method for controlling the same |
GB201401535D0 (en) * | 2014-01-29 | 2014-03-12 | 4Com Plc | Telephone desk set |
GB2528587B (en) * | 2014-01-29 | 2016-06-01 | 4Com Tech Ltd | Telephone desk set |
US10332182B2 (en) * | 2014-02-28 | 2019-06-25 | Vmware, Inc. | Automatic application layer suggestion |
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 |
TWD175539S (en) * | 2014-06-06 | 2016-05-11 | 樂視移動智慧資訊技術(北京)有限公司; | Display screen graphical user interface |
WO2015200537A2 (en) | 2014-06-24 | 2015-12-30 | Apple Inc. | Input device and user interface interactions |
CN111782130B (en) | 2014-06-24 | 2024-03-29 | 苹果公司 | Column interface for navigating in a user interface |
USD763911S1 (en) * | 2014-07-17 | 2016-08-16 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
KR101576941B1 (en) | 2014-11-04 | 2015-12-11 | 네이버 주식회사 | System and method for providing information of outgoing call |
US9961239B2 (en) | 2015-06-07 | 2018-05-01 | Apple Inc. | Touch accommodation options |
US10019309B2 (en) * | 2015-12-28 | 2018-07-10 | International Business Machines Corporation | Analytics-based dynamic adaptation of client-server mobile applications |
US9876907B1 (en) | 2016-01-19 | 2018-01-23 | Noble Systems Corporation | Call record processing module for controlling call origination in voice and text-based dialer components in a contact center |
CN105791606A (en) * | 2016-04-15 | 2016-07-20 | 深圳美亚美科技有限公司 | Multi-people session control system |
DK201670582A1 (en) * | 2016-06-12 | 2018-01-02 | Apple Inc | Identifying applications on which content is available |
DK201670581A1 (en) | 2016-06-12 | 2018-01-08 | Apple Inc | Device-level authorization for viewing content |
CN106101452B (en) * | 2016-08-19 | 2019-08-20 | 维沃移动通信有限公司 | A kind of incoming call processing method and mobile terminal |
US10289218B1 (en) * | 2016-08-31 | 2019-05-14 | Rockwell Collins, Inc. | Enhanced video system control and yoke integration |
US9888594B1 (en) | 2016-09-30 | 2018-02-06 | Hewlett Packard Enterprise Development Lp | Devices including a cavity region to house ports |
US11966560B2 (en) | 2016-10-26 | 2024-04-23 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
CN106502517A (en) * | 2016-11-01 | 2017-03-15 | 九阳股份有限公司 | A kind of method and device for realizing that recipe is searched |
CN110463170B (en) | 2017-03-10 | 2022-01-11 | 豪倍公司 | System, apparatus and method for party line calls between voice over internet protocol (VoIP) phones |
JP6456451B1 (en) * | 2017-09-25 | 2019-01-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM |
US11677822B2 (en) * | 2017-10-03 | 2023-06-13 | Servicenow, Inc. | Portal management |
EP3747174B1 (en) | 2018-02-02 | 2023-06-07 | Microsoft Technology Licensing, LLC | Estimating bandwidth savings for adaptive bit rate streaming |
CN110392222B (en) * | 2018-04-23 | 2022-05-13 | 鸿富锦精密工业(深圳)有限公司 | Backboard and television |
US20190364243A1 (en) * | 2018-05-24 | 2019-11-28 | Lenovo (Singapore) Pte. Ltd. | Method and device for dual codecs to transfer digital content |
CN109656583B (en) * | 2018-12-28 | 2021-04-20 | 北京深思数盾科技股份有限公司 | Chip burning method, upper computer and chip burning system |
US11683565B2 (en) | 2019-03-24 | 2023-06-20 | Apple Inc. | User interfaces for interacting with channels that provide content that plays in a media browsing application |
CN113711169A (en) | 2019-03-24 | 2021-11-26 | 苹果公司 | User interface including selectable representations of content items |
CN114302210B (en) | 2019-03-24 | 2024-07-05 | 苹果公司 | User interface for viewing and accessing content on an electronic device |
US11962836B2 (en) | 2019-03-24 | 2024-04-16 | Apple Inc. | User interfaces for a media browsing application |
CN113906380A (en) | 2019-05-31 | 2022-01-07 | 苹果公司 | User interface for podcast browsing and playback applications |
US11863837B2 (en) | 2019-05-31 | 2024-01-02 | Apple Inc. | Notification of augmented reality content on an electronic device |
CN110232563A (en) * | 2019-06-17 | 2019-09-13 | 谢昱 | A kind of multifunctional information ancient books printed matter that indicates the type form or partial content of books and periodicals management platform and method |
US11443345B2 (en) * | 2019-06-27 | 2022-09-13 | International Business Machines Corporation | Application modification using software services |
US10826967B1 (en) * | 2019-08-20 | 2020-11-03 | Google Llc | Passing of data via deep links for application components |
TWI760717B (en) * | 2020-03-24 | 2022-04-11 | 仁寶電腦工業股份有限公司 | All-in-one computer |
US11843838B2 (en) | 2020-03-24 | 2023-12-12 | Apple Inc. | User interfaces for accessing episodes of a content series |
US11579847B2 (en) * | 2020-06-10 | 2023-02-14 | Snap Inc. | Software development kit engagement monitor |
US11899895B2 (en) | 2020-06-21 | 2024-02-13 | Apple Inc. | User interfaces for setting up an electronic device |
CN114253641A (en) * | 2020-09-25 | 2022-03-29 | 支付宝实验室(新加坡)有限公司 | Data processing method, mobile terminal and open platform |
US11720229B2 (en) | 2020-12-07 | 2023-08-08 | Apple Inc. | User interfaces for browsing and presenting content |
CN112687541B (en) * | 2020-12-28 | 2021-07-27 | 江苏晟华半导体有限公司 | FRD device and manufacturing process thereof |
US11934640B2 (en) | 2021-01-29 | 2024-03-19 | Apple Inc. | User interfaces for record labels |
CN114827362A (en) | 2021-01-29 | 2022-07-29 | Zoom视频通讯公司 | Method and apparatus for device management |
CN114915553A (en) | 2021-01-29 | 2022-08-16 | Zoom视频通讯公司 | Equipment management tool |
TWI790718B (en) * | 2021-08-19 | 2023-01-21 | 宏碁股份有限公司 | Conference terminal and echo cancellation method for conference |
EP4380169A1 (en) * | 2021-12-29 | 2024-06-05 | Samsung Electronics Co., Ltd. | Display device and control method therefor |
USD1042487S1 (en) * | 2022-02-15 | 2024-09-17 | R1 Learning LLC | Display screen or portion thereof having a graphical user interface |
US12111902B2 (en) | 2022-05-20 | 2024-10-08 | Advanced Elemental Technologies, Inc. | Systems and methods for a connected computing resource and event/activity identification information infrastructure using near existential or existential biometric identification of humans |
Citations (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4724521A (en) * | 1986-01-14 | 1988-02-09 | Veri-Fone, Inc. | Method for operating a local terminal to execute a downloaded application program |
US5265951A (en) * | 1992-02-13 | 1993-11-30 | Khyber Technologies Corporation | Card reading terminal having protective shield for input port thereof |
US5294782A (en) * | 1991-09-27 | 1994-03-15 | Khyber Technologies Corporation | Integrated portable device for point of sale transactions |
US5357585A (en) * | 1993-07-09 | 1994-10-18 | Khyber Technologies Corporation | Headphone assembly |
US5381348A (en) * | 1993-01-11 | 1995-01-10 | Fluke Corporation | Token ring local area network testing apparatus using time delay reflectory |
US5430878A (en) * | 1992-03-06 | 1995-07-04 | Microsoft Corporation | Method for revising a program to obtain compatibility with a computer configuration |
US5484989A (en) * | 1992-02-13 | 1996-01-16 | Khyber Technologies Corporation | Card reading terminal having protective shield for input port thereof |
US5489001A (en) * | 1993-02-22 | 1996-02-06 | Yang; Tai-Her | Differential coupling and compound power system for a vehicle |
US5521369A (en) * | 1994-07-25 | 1996-05-28 | Khyber Technologies Corporation | Card shaped computer peripheral device |
US5526523A (en) * | 1992-03-06 | 1996-06-11 | Microsoft Corporation | Interface between operating system and operating system extension |
US5548477A (en) * | 1995-01-27 | 1996-08-20 | Khyber Technologies Corporation | Combination keyboard and cover for a handheld computer |
US5548478A (en) * | 1994-07-25 | 1996-08-20 | Khyber Technologies Corporation | Portable computing device having an adjustable hinge |
US5616906A (en) * | 1993-07-23 | 1997-04-01 | Khyber Technologies Corporation | Grip held and grip operable data entry device |
US5632373A (en) * | 1995-04-03 | 1997-05-27 | Khyber Technologies Corporation | Protective case for portable computer |
US5648760A (en) * | 1991-12-10 | 1997-07-15 | Khyber Technologies Corporation | Portable messaging and scheduling device with homebase station |
US5708560A (en) * | 1995-07-24 | 1998-01-13 | Khyber Technologies Corporation | Selectively attachable keyboard bracket and lockable holder for a handheld computer |
US5872699A (en) * | 1995-07-25 | 1999-02-16 | Fujitsu Limited | Electronic apparatus, housing for electronic apparatus and housing manufacturing method |
US5925873A (en) * | 1993-07-23 | 1999-07-20 | Khyber Technologies Corporation | Grip held and grip operable data entry device |
US6023721A (en) * | 1997-05-14 | 2000-02-08 | Citrix Systems, Inc. | Method and system for allowing a single-user application executing in a multi-user environment to create objects having both user-global and system global visibility |
US6084769A (en) * | 1997-08-20 | 2000-07-04 | Compaq Computer Corporation | Docking station with auxiliary heat dissipation system for a docked portable computer |
US6104451A (en) * | 1998-03-16 | 2000-08-15 | Hitachi, Ltd. | Thin display housing with multiple chambers and fans |
US6151606A (en) * | 1998-01-16 | 2000-11-21 | Visto Corporation | System and method for using a workspace data manager to access, manipulate and synchronize network data |
US6181553B1 (en) * | 1998-09-04 | 2001-01-30 | International Business Machines Corporation | Arrangement and method for transferring heat from a portable personal computer |
US6223815B1 (en) * | 1999-03-19 | 2001-05-01 | Kabushiki Kaisha Toshiba | Cooling unit for cooling a heat-generating component and electronic apparatus having the cooling unit |
US6266539B1 (en) * | 1998-06-12 | 2001-07-24 | Cisco Technology, Inc. | Telephone docking station for personal digital assistant |
US6276448B1 (en) * | 1999-09-22 | 2001-08-21 | Kel Corporation | Heat-transfer connector |
US20010047363A1 (en) * | 2000-02-02 | 2001-11-29 | Luosheng Peng | Apparatus and methods for providing personalized application search results for wireless devices based on user profiles |
US20020013852A1 (en) * | 2000-03-03 | 2002-01-31 | Craig Janik | System for providing content, management, and interactivity for thin client devices |
US6449149B1 (en) * | 1997-04-14 | 2002-09-10 | Hitachi, Ltd. | Electronic equipment |
US20020131404A1 (en) * | 2000-11-28 | 2002-09-19 | 4Thpass Inc. | Method and system for maintaining and distributing wireless applications |
US6457030B1 (en) * | 1999-01-29 | 2002-09-24 | International Business Machines Corporation | Systems, methods and computer program products for modifying web content for display via pervasive computing devices |
US20020172336A1 (en) * | 2001-05-15 | 2002-11-21 | Jessica Postma | Information system with detachable information module |
US20030002637A1 (en) * | 2000-10-26 | 2003-01-02 | Nobuhito Miyauchi | Internet telephone network system, network access method and talking device adapter |
US20030026405A1 (en) * | 1999-11-12 | 2003-02-06 | Metro One Telecommunications, Inc. | Enhanced directory assistance service providing individual or group directories |
US6546554B1 (en) * | 2000-01-21 | 2003-04-08 | Sun Microsystems, Inc. | Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer |
US20030084165A1 (en) * | 2001-10-12 | 2003-05-01 | Openwave Systems Inc. | User-centric session management for client-server interaction using multiple applications and devices |
US20030090864A1 (en) * | 2001-11-15 | 2003-05-15 | Yan-Lin Kuo | Liquid crystal display computer with a removable device frame |
US20030115552A1 (en) * | 2001-11-27 | 2003-06-19 | Jorg Jahnke | Method and system for automatic creation of multilingual immutable image files |
US20030130984A1 (en) * | 2001-11-15 | 2003-07-10 | Sean Quinlan | System and methods for asynchronous synchronization |
US6647103B2 (en) * | 1999-02-11 | 2003-11-11 | Mitel Corporation | Palm PC dockable phone |
US20030236867A1 (en) * | 2001-05-14 | 2003-12-25 | Takeshi Natsuno | System for managing program stored in storage block of mobile terminal |
US6674640B2 (en) * | 2001-07-02 | 2004-01-06 | Intel Corporation | Increased thermal capability of portable electronic device in stationary or docked mode |
US20040034853A1 (en) * | 2002-03-22 | 2004-02-19 | Bill Gibbons | Mobile download system |
US6708221B1 (en) * | 1996-12-13 | 2004-03-16 | Visto Corporation | System and method for globally and securely accessing unified information in a computer network |
US20040052343A1 (en) * | 1999-02-16 | 2004-03-18 | Glaser Lawrence F. | Telecommunications installation and management system and method |
US20040060687A1 (en) * | 2002-09-27 | 2004-04-01 | Moss David William | Versatile and ergonomic heat-dissipating stand for attachment to portable computers |
US20040078812A1 (en) * | 2001-01-04 | 2004-04-22 | Calvert Kerry Wayne | Method and apparatus for acquiring media services available from content aggregators |
US20040098449A1 (en) * | 2000-01-20 | 2004-05-20 | Shai Bar-Lavi | System and method for disseminating information over a communication network according to predefined consumer profiles |
US20040162092A1 (en) * | 2003-02-14 | 2004-08-19 | Marsico Robert G. | Telephone management system and method |
US20040190256A1 (en) * | 2003-03-25 | 2004-09-30 | Jds Uniphase Corporation | Heat sink with visible logo |
US6868267B1 (en) * | 2000-11-17 | 2005-03-15 | Qualcomm Inc. | Apparatus, method, and article of manufacture used to invoice for services consumed in a communications network |
US20050120113A1 (en) * | 2000-06-28 | 2005-06-02 | Accountability International, Inc. | System and method for monitoring application utilization |
US20050131885A1 (en) * | 2003-12-12 | 2005-06-16 | Jun Komatsu | Information processing apparatus and method, and program |
US20050144445A1 (en) * | 2003-12-15 | 2005-06-30 | Bce Inc. | Adapter for secure VoIP communications |
US20050192878A1 (en) * | 2004-01-21 | 2005-09-01 | Brian Minear | Application-based value billing in a wireless subscriber network |
US20050213331A1 (en) * | 2002-04-23 | 2005-09-29 | Keith Lewis | Lighting apparatus |
US6952617B1 (en) * | 1999-07-15 | 2005-10-04 | Khyber Technologies Corporation | Handheld computer with detachable handset |
US6952671B1 (en) * | 1999-10-04 | 2005-10-04 | Xvd Corporation | Vector quantization with a non-structured codebook for audio compression |
US20050262337A1 (en) * | 2004-05-24 | 2005-11-24 | Siemens Vdo Automotive Corporation | Method and device for determining flash software compatibility with hardware |
US20060030341A1 (en) * | 2004-08-06 | 2006-02-09 | Avaya Technology Corp. | Mobile desk phone |
US7039041B2 (en) * | 2001-03-20 | 2006-05-02 | Robohm Kurt W | Operational support system for telecommunication services |
US7058088B2 (en) * | 2001-03-28 | 2006-06-06 | Minolta Co., Ltd. | Data communication program product to rewrite simultaneously firmware of plurality of devices connected to network |
US20060130054A1 (en) * | 2004-11-12 | 2006-06-15 | Research In Motion Limited | System and method for downloading or enabling download of a program from a program store location |
US7092987B2 (en) * | 2001-02-13 | 2006-08-15 | Educational Testing Service | Remote computer capabilities querying and certification |
US20060200658A1 (en) * | 2005-03-07 | 2006-09-07 | Bitfone Corporation | Agent framework for mobile devices |
US7120462B2 (en) * | 1999-04-07 | 2006-10-10 | Khyber Technologies Corporation | Portable computing, communication and entertainment device with central processor carried in a detachable handset |
US20060230433A1 (en) * | 2005-03-29 | 2006-10-12 | Invented Corporation | Client device reservation system and method |
US7130193B2 (en) * | 2004-01-29 | 2006-10-31 | Fujitsu Limited | Cabinet having heat radiation function and heat radiation member |
US20060277209A1 (en) * | 2005-06-06 | 2006-12-07 | Javaground Usa, Inc. | Efficient and automatic software application development system for wireless devices |
US20060277311A1 (en) * | 2005-06-03 | 2006-12-07 | Microsoft Corporation | Running Internet applications with low rights |
US20070080823A1 (en) * | 2005-10-07 | 2007-04-12 | Apple Computer, Inc. | Techniques for pairing remote controllers with host devices |
US20070093243A1 (en) * | 2005-10-25 | 2007-04-26 | Vivek Kapadekar | Device management system |
US7236770B2 (en) * | 2003-09-03 | 2007-06-26 | Good Technology, Inc. | System and method for notifying target communication devices of message reception at a message server via log file monitoring |
US20070156870A1 (en) * | 2005-12-30 | 2007-07-05 | Microsoft Corporation | Heartbeat subscriptions |
US7243163B1 (en) * | 2001-08-07 | 2007-07-10 | Good Technology, Inc. | System and method for full wireless synchronization of a data processing apparatus with a messaging system |
US20070165654A1 (en) * | 2005-10-13 | 2007-07-19 | Huawei Technologies Co., Ltd | Method for managing a terminal device |
US20070169105A1 (en) * | 2005-12-05 | 2007-07-19 | Inventel | Telephone handset, base and associated method for updating the software of the handset |
US20070167156A1 (en) * | 2005-12-30 | 2007-07-19 | Sukhdeep Hundal | System and method for communicating over a data network or the PSTN using a hybrid cordless telephone device |
US20070183772A1 (en) * | 2003-10-31 | 2007-08-09 | Dotworkz Systems, Inc. | Heat pumped surveillance camera housing and method of manufacturing the same |
US7275073B2 (en) * | 2003-05-07 | 2007-09-25 | Good Technology, Inc. | System and method for notifying mobile devices based on device type and network capabilities |
US20070234240A1 (en) * | 2006-03-29 | 2007-10-04 | Microsoft Corporation | Automatically optimize performance of package execution |
US20080209451A1 (en) * | 2007-01-29 | 2008-08-28 | Mashery, Inc. | Methods for analyzing, limiting, and enhancing access to an internet API, web service, and data |
US20090064056A1 (en) * | 2007-09-04 | 2009-03-05 | Apple Inc. | Graphical User Interface with Location-Specific Interface Elements |
US20090193034A1 (en) * | 2008-01-24 | 2009-07-30 | Disney Enterprises, Inc. | Multi-axis, hierarchical browser for accessing and viewing digital assets |
US20090228509A1 (en) * | 2008-03-04 | 2009-09-10 | Apple Inc. | Synchronization server process |
US7620036B2 (en) * | 2004-08-04 | 2009-11-17 | Panasonic Corporation | IP telephone system and calling method |
US20090307105A1 (en) * | 2008-06-06 | 2009-12-10 | Apple Inc. | User Interface for Application Management for a Mobile Device |
US7636782B2 (en) * | 2002-04-01 | 2009-12-22 | Microsoft Corporation | System and method to facilitate manageable and agile deployment of services in accordance with various topologies |
US20100011354A1 (en) * | 2008-07-10 | 2010-01-14 | Apple Inc. | System and method for localizing display of applications for download |
US7779085B2 (en) * | 2006-07-17 | 2010-08-17 | Research In Motion Limited | Automatic mobile device configuration |
US8161411B2 (en) * | 2003-04-25 | 2012-04-17 | Apple Inc. | Graphical user interface for browsing, searching and presenting media items |
Family Cites Families (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4845311A (en) * | 1988-07-21 | 1989-07-04 | Hughes Aircraft Company | Flexible coaxial cable apparatus and method |
DE4240755A1 (en) * | 1992-12-03 | 1994-06-16 | Siemens Ag | Electronic control device for motor vehicle engine or ABS system - has cooling plate with PCBs fixed on both sides and with housing fixing section which extends out of housing |
DE4413451A1 (en) * | 1994-04-18 | 1995-12-14 | Rolf Brugger | Device for the distribution of music information in digital form |
US5557541A (en) * | 1994-07-21 | 1996-09-17 | Information Highway Media Corporation | Apparatus for distributing subscription and on-demand audio programming |
US5655130A (en) * | 1994-10-14 | 1997-08-05 | Unisys Corporation | Method and apparatus for document production using a common document database |
JP2636791B2 (en) * | 1995-03-15 | 1997-07-30 | 日本電気株式会社 | Electronic device housing |
JP2867915B2 (en) | 1995-03-22 | 1999-03-10 | 住友金属工業株式会社 | IC package with heat radiation fins |
US5550576A (en) * | 1995-04-17 | 1996-08-27 | Starsight Telecast Incorporated | Method and apparatus for merging television program schedule information received from multiple television schedule information sources |
US7688952B2 (en) * | 1997-11-03 | 2010-03-30 | Light Elliott D | System and method for obtaining equipment status data over a network |
US6332175B1 (en) * | 1999-02-12 | 2001-12-18 | Compaq Computer Corporation | Low power system and method for playing compressed audio data |
US6367019B1 (en) * | 1999-03-26 | 2002-04-02 | Liquid Audio, Inc. | Copy security for portable music players |
US6769022B1 (en) * | 1999-07-09 | 2004-07-27 | Lsi Logic Corporation | Methods and apparatus for managing heterogeneous storage devices |
US6281894B1 (en) | 1999-08-31 | 2001-08-28 | Everdream, Inc. | Method and apparatus for configuring a hard disk and for providing support for a computer system |
US6850506B1 (en) * | 1999-10-07 | 2005-02-01 | Qualcomm Incorporated | Forward-link scheduling in a wireless communication system |
US6516427B1 (en) | 1999-11-05 | 2003-02-04 | Hewlett-Packard Company | Network-based remote diagnostic facility |
JP2001156473A (en) * | 1999-11-30 | 2001-06-08 | Matsushita Electric Ind Co Ltd | Radiator |
US7526437B1 (en) | 2000-04-06 | 2009-04-28 | Apple Inc. | Custom stores |
CA2343199A1 (en) * | 2000-09-07 | 2002-03-07 | Techfirm Inc. | Information distribution server system, information distribution method, and recording medium |
US6927653B2 (en) * | 2000-11-29 | 2005-08-09 | Kyocera Corporation | Dielectric waveguide type filter and branching filter |
US6957390B2 (en) * | 2000-11-30 | 2005-10-18 | Mediacom.Net, Llc | Method and apparatus for providing dynamic information to a user via a visual display |
US20020133578A1 (en) | 2001-01-18 | 2002-09-19 | Wu C. T. | Novel method in serving residential broadband subscribers |
US7774838B2 (en) * | 2001-02-14 | 2010-08-10 | Tricerat, Inc. | Thorough operation restriction |
JP2002280774A (en) * | 2001-03-19 | 2002-09-27 | Sony Corp | Electronic apparatus |
US6900984B2 (en) | 2001-04-24 | 2005-05-31 | Apple Computer, Inc. | Computer component protection |
US7146155B2 (en) * | 2001-08-03 | 2006-12-05 | Mcafee, Inc. | System and method for providing telephonic content security service in a wireless network environment |
US7065640B2 (en) | 2001-10-11 | 2006-06-20 | International Business Machines Corporation | System for implementing a diagnostic or correction boot image over a network connection |
US7788382B1 (en) | 2002-03-26 | 2010-08-31 | Good Technology, Inc. | Server initiated synchronization |
US6914551B2 (en) | 2002-04-12 | 2005-07-05 | Apple Computer, Inc. | Apparatus and method to facilitate universal remote control |
US7447799B2 (en) | 2002-04-24 | 2008-11-04 | Good Technology, Inc. | System and method for automatically updating a wireless device |
US7080245B2 (en) * | 2002-05-23 | 2006-07-18 | Hewlett-Packard Development Company, L.P. | Method and system of switching between two or more images of firmware on a host device |
USRE45181E1 (en) | 2002-05-29 | 2014-10-07 | Khyber Technologies Corporation | Portable data entry device with a detachable host PDA |
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
EP2955896B1 (en) | 2002-08-09 | 2017-10-18 | Good Technology Holdings Limited | System and method for preventing access to data on a compromised remote device |
US7120785B1 (en) | 2002-11-25 | 2006-10-10 | Apple Computer, Inc. | Method and apparatus rendering user accounts portable |
US20080109679A1 (en) | 2003-02-28 | 2008-05-08 | Michael Wright | Administration of protection of data accessible by a mobile device |
JP2004318210A (en) * | 2003-04-11 | 2004-11-11 | Matsushita Electric Ind Co Ltd | Debugger, display method and compiler system |
US7627343B2 (en) | 2003-04-25 | 2009-12-01 | Apple Inc. | Media player system |
US6970728B2 (en) * | 2003-04-29 | 2005-11-29 | Motorola, Inc. | Extended antenna support for a wireless communications device |
US7403301B2 (en) * | 2003-05-02 | 2008-07-22 | Hewlett-Packard Development Company, L.P. | System and method for collecting and analyzing information regarding user devices |
US7890091B2 (en) | 2003-05-08 | 2011-02-15 | Good Technology, Inc. | Collaborative data and intelligent synchronization for mobile devices |
US7974613B1 (en) | 2003-06-16 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Device capability determination for a mobile device |
US6999317B2 (en) * | 2003-08-12 | 2006-02-14 | Delphi Technologies, Inc. | Thermally enhanced electronic module with self-aligning heat sink |
JP2005093969A (en) * | 2003-09-19 | 2005-04-07 | Ts Heatronics Co Ltd | Semiconductor device cooler |
JP5095913B2 (en) | 2003-09-30 | 2012-12-12 | 株式会社富士通ソーシアルサイエンスラボラトリ | Computer system management program, computer system management device |
US20050183143A1 (en) * | 2004-02-13 | 2005-08-18 | Anderholm Eric J. | Methods and systems for monitoring user, application or device activity |
US7400878B2 (en) * | 2004-02-26 | 2008-07-15 | Research In Motion Limited | Computing device with environment aware features |
US7620001B2 (en) | 2004-10-13 | 2009-11-17 | Good Technology, Inc. | Communication system and method with mobile devices |
JP4426943B2 (en) * | 2004-10-27 | 2010-03-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Electronic device provided with cooling device inside casing |
US20060112428A1 (en) * | 2004-11-23 | 2006-05-25 | Nokia Corporation | Device having a locking feature and a method, means and software for utilizing the feature |
US7251133B2 (en) * | 2004-11-29 | 2007-07-31 | Symbol Technologies, Inc. | Device with an external heat sink arrangement |
GB0426736D0 (en) | 2004-12-06 | 2005-01-12 | Omnifone Ltd | MyFone |
US7823214B2 (en) | 2005-01-07 | 2010-10-26 | Apple Inc. | Accessory authentication for electronic devices |
US7630493B2 (en) * | 2005-01-18 | 2009-12-08 | Tricipher, Inc. | Multiple factor private portion of an asymmetric key |
JP2006235424A (en) * | 2005-02-28 | 2006-09-07 | Sharp Corp | Thin type display device |
US7817983B2 (en) * | 2005-03-14 | 2010-10-19 | Qualcomm Incorporated | Method and apparatus for monitoring usage patterns of a wireless device |
JP2006293678A (en) * | 2005-04-11 | 2006-10-26 | Olympus Imaging Corp | Operational function setting system |
JP4173493B2 (en) * | 2005-05-13 | 2008-10-29 | Kddi株式会社 | Terminal setting information management system and terminal setting information management method |
US7970386B2 (en) | 2005-06-03 | 2011-06-28 | Good Technology, Inc. | System and method for monitoring and maintaining a wireless device |
TWI283806B (en) | 2005-06-07 | 2007-07-11 | Htc Corp | Portable electronic device |
US7907531B2 (en) * | 2005-06-13 | 2011-03-15 | Qualcomm Incorporated | Apparatus and methods for managing firmware verification on a wireless device |
US7889347B2 (en) * | 2005-11-21 | 2011-02-15 | Plexera Llc | Surface plasmon resonance spectrometer with an actuator driven angle scanning mechanism |
US7779091B2 (en) | 2005-12-19 | 2010-08-17 | Vmware, Inc. | Method and system for providing virtualized application workspaces |
US8935429B2 (en) | 2006-12-19 | 2015-01-13 | Vmware, Inc. | Automatically determining which remote applications a user or group is entitled to access based on entitlement specifications and providing remote application access to the remote applications |
US20080032739A1 (en) * | 2005-12-21 | 2008-02-07 | Faraz Hoodbhoy | Management of digital media using portable wireless devices in a client-server network |
US7574177B2 (en) | 2006-01-04 | 2009-08-11 | Apple Inc. | Remote controller and FM reception arrangement |
DE602007001336D1 (en) * | 2006-01-18 | 2009-07-30 | Ericsson Telefon Ab L M | ADDICTION MESSAGE |
US7912994B2 (en) * | 2006-01-27 | 2011-03-22 | Apple Inc. | Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host |
US8086332B2 (en) | 2006-02-27 | 2011-12-27 | Apple Inc. | Media delivery system with improved interaction |
US7702322B1 (en) | 2006-02-27 | 2010-04-20 | Good Technology, Llc | Method and system for distributing and updating software in wireless devices |
US7620392B1 (en) | 2006-02-27 | 2009-11-17 | Good Technology, Inc. | Method and system for distributing and updating software in wireless devices |
US8073984B2 (en) | 2006-05-22 | 2011-12-06 | Apple Inc. | Communication protocol for use with portable electronic devices |
JP2007318210A (en) * | 2006-05-23 | 2007-12-06 | Matsushita Electric Ind Co Ltd | Antenna for mobile information processor |
US20070280452A1 (en) | 2006-05-30 | 2007-12-06 | Ascalade Communications Inc. | Contact online status alert for telephone handset interfacing with a soft-phone client |
US20070283114A1 (en) | 2006-06-01 | 2007-12-06 | Lawrence Andy V | Method and system for dividing a hard disk drive into multiple host access spaces |
US20070280252A1 (en) * | 2006-06-02 | 2007-12-06 | Inventec Multimedia & Telecom Corporation | System and method of realizing voice over internet protocol by means of digital enhanced cordless telecommunication |
US20070294380A1 (en) | 2006-06-14 | 2007-12-20 | Kabushiki Kaisha Toshiba | System and method for periodic server-to-client data delivery |
US20080002673A1 (en) * | 2006-06-30 | 2008-01-03 | Don Smitheimer | Apparatus and system for localized multi-media communications and network |
US20080040767A1 (en) | 2006-08-11 | 2008-02-14 | Sbc Knowledge Ventures, L.P. | System and method of providing a set-top box application |
US8903365B2 (en) * | 2006-08-18 | 2014-12-02 | Ca, Inc. | Mobile device management |
EP1892940A1 (en) * | 2006-08-23 | 2008-02-27 | Thomson Telecom Belgium | Device and method for enabling SIP DECT terminal mobility |
US20080059630A1 (en) | 2006-08-29 | 2008-03-06 | Juergen Sattler | Assistant |
US7941060B2 (en) | 2006-09-29 | 2011-05-10 | Xerox Corporation | Systems and methods for remote diagnostics of devices |
US20080125079A1 (en) | 2006-11-07 | 2008-05-29 | O'neil Douglas | Methods, systems and computer products for remote monitoring and control of application usage on mobile devices |
US20080115225A1 (en) * | 2006-11-14 | 2008-05-15 | Fabrice Jogand-Coulomb | System for allowing multiple users to access preview content |
KR100915803B1 (en) * | 2006-12-05 | 2009-09-07 | 한국전자통신연구원 | Application Program Launching Method and System for Improving Security of Embedded Linux Kernel |
US20090010246A1 (en) * | 2006-12-11 | 2009-01-08 | Grattan Alan W | Cordless telephone systems |
US8000736B2 (en) | 2007-01-06 | 2011-08-16 | Apple Inc. | User programmable switch for portable data processing devices |
GB2445991B (en) | 2007-01-26 | 2009-04-01 | Key Criteria Connect Ltd | Method of loading software in mobile and desktop environments |
WO2008103608A2 (en) * | 2007-02-19 | 2008-08-28 | Ondeego, Inc. | Methods and system to create applications and distribute applications to a remote device |
US8214885B2 (en) | 2007-05-07 | 2012-07-03 | Mocana Corporation | Managing network components using USB keys |
US20080297585A1 (en) | 2007-05-29 | 2008-12-04 | Ascalade Communications Inc. | Integrated cordless voice/video ip phone system |
GB2442818B (en) | 2007-06-11 | 2008-11-05 | Cvon Innovations Ltd | Methodologies and systems for determining mobile device capabilities |
JP5168279B2 (en) | 2007-07-19 | 2013-03-21 | 富士通株式会社 | Application improvement support program, application improvement support method, and application improvement support apparatus |
US8060074B2 (en) | 2007-07-30 | 2011-11-15 | Mobile Iron, Inc. | Virtual instance architecture for mobile device management systems |
EP2051157A1 (en) | 2007-10-15 | 2009-04-22 | Research In Motion Limited | Method and System for Enabling or Disabling Features Based on a Battery Level Threshold |
US20090150970A1 (en) | 2007-12-05 | 2009-06-11 | Sybase, Inc. | Data Fading to Secure Data on Mobile Client Devices |
US9185554B2 (en) | 2008-02-15 | 2015-11-10 | Appcentral, Inc. | System and methods to store, retrieve, manage, augment and monitor applications on appliances |
US9753712B2 (en) | 2008-03-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Application management within deployable object hierarchy |
CN101599810B (en) | 2008-06-06 | 2013-06-05 | 博通集成电路(上海)有限公司 | Error concealing device and error concealing method |
US8254902B2 (en) * | 2008-06-26 | 2012-08-28 | Apple Inc. | Apparatus and methods for enforcement of policies upon a wireless device |
US20100022237A1 (en) * | 2008-07-28 | 2010-01-28 | At&T Intellectual Property I, L.P. | Multi-mode communication system |
KR101331032B1 (en) | 2008-07-30 | 2013-11-19 | 삼성전자주식회사 | Method for executing application associated with virtualized environment |
US20100038120A1 (en) * | 2008-08-13 | 2010-02-18 | Tdk Corporation | Layered ceramic electronic component and manufacturing method therefor |
US20100056127A1 (en) | 2008-08-27 | 2010-03-04 | John Osborne | System and Method for Application Layer Widgets for Mobile Devices |
US20100077035A1 (en) | 2008-09-23 | 2010-03-25 | Nokia Corporation | Optimized Polling in Low Resource Devices |
US20100159898A1 (en) | 2008-12-19 | 2010-06-24 | Openpeak, Inc. | Services platform for networked devices that provide telephony and digital media services |
US8127982B1 (en) | 2009-01-09 | 2012-03-06 | Apple Inc. | Parental controls |
US8121638B2 (en) | 2009-02-27 | 2012-02-21 | Research In Motion Limited | System and method for security on a mobile device using multiple communication domains |
US8667483B2 (en) | 2009-03-25 | 2014-03-04 | Microsoft Corporation | Device dependent on-demand compiling and deployment of mobile applications |
US8340633B1 (en) | 2009-04-09 | 2012-12-25 | Mobile Iron, Inc. | Mobile activity intelligence |
US8725745B2 (en) | 2009-04-13 | 2014-05-13 | Microsoft Corporation | Provision of applications to mobile devices |
US8695058B2 (en) | 2009-05-20 | 2014-04-08 | Mobile Iron, Inc. | Selective management of mobile device data in an enterprise environment |
US20100299152A1 (en) | 2009-05-20 | 2010-11-25 | Mobile Iron, Inc. | Selective Management of Mobile Devices in an Enterprise Environment |
US8032666B2 (en) | 2009-06-12 | 2011-10-04 | Microsoft Corporation | Location enabled bookmark and profile |
US8341749B2 (en) | 2009-06-26 | 2012-12-25 | Vmware, Inc. | Preventing malware attacks in virtualized mobile devices |
US8219063B2 (en) | 2009-06-26 | 2012-07-10 | Vmware, Inc. | Controlling usage in mobile devices via a virtualization software layer |
US8233882B2 (en) | 2009-06-26 | 2012-07-31 | Vmware, Inc. | Providing security in mobile devices via a virtualization software layer |
US8438256B2 (en) | 2009-06-26 | 2013-05-07 | Vmware, Inc. | Migrating functionality in virtualized mobile devices |
US8302094B2 (en) | 2009-06-26 | 2012-10-30 | Vmware, Inc. | Routing a physical device request using transformer stack to an equivalent physical device in a virtualized mobile device |
US8675084B2 (en) | 2009-09-04 | 2014-03-18 | Apple Inc. | Systems and methods for remote camera control |
US8984657B2 (en) | 2009-09-08 | 2015-03-17 | Appcentral, Inc. | System and method for remote management of applications downloaded to a personal portable wireless appliance |
US20110082789A1 (en) | 2009-10-06 | 2011-04-07 | Apple Inc. | Vendor payment consolidation system |
US20110093583A1 (en) | 2009-10-16 | 2011-04-21 | Apple Inc. | Triggering actions based on changes in a network connection |
US8850572B2 (en) | 2010-01-15 | 2014-09-30 | Apple Inc. | Methods for handling a file associated with a program in a restricted program environment |
US8180893B1 (en) | 2010-03-15 | 2012-05-15 | Symantec Corporation | Component-level sandboxing |
KR101688141B1 (en) | 2010-05-20 | 2016-12-20 | 엘지전자 주식회사 | Apparatus for executing application and method for controlling operation of the same |
US9077796B2 (en) | 2010-08-17 | 2015-07-07 | Openpeak Inc. | System containing a mobile communication device and associated docking station |
US20120066223A1 (en) | 2010-09-13 | 2012-03-15 | Openpeak Inc. | Method and computing device for creating distinct user spaces |
US20120077546A1 (en) | 2010-09-24 | 2012-03-29 | Nokia Corporation | Method and apparatus for customizing application protocols |
US20110029881A1 (en) | 2010-10-11 | 2011-02-03 | Nevolution Digital, Llc | Devices and methods for providing software programs compatible with a computer system for download by a user |
US8484100B2 (en) | 2010-10-19 | 2013-07-09 | Apple Inc. | Method, medium, and system for an integrated application store for a user device |
US8650658B2 (en) | 2010-10-25 | 2014-02-11 | Openpeak Inc. | Creating distinct user spaces through user identifiers |
US20120102564A1 (en) | 2010-10-25 | 2012-04-26 | Openpeak Inc. | Creating distinct user spaces through mountable file systems |
US20120303476A1 (en) | 2010-11-09 | 2012-11-29 | Openpeak Inc. | Communication devices, networks, services and accompanying methods |
US8359016B2 (en) | 2010-11-19 | 2013-01-22 | Mobile Iron, Inc. | Management of mobile applications |
US20120159567A1 (en) | 2010-12-21 | 2012-06-21 | Enterproid Hk Ltd | Contextual role awareness |
US8526973B2 (en) | 2011-03-21 | 2013-09-03 | John Douglas Thomson | Safety system to disable and activate functions in smartphone's, mobile phones and portable communication devices while driving |
WO2013006553A1 (en) | 2011-07-01 | 2013-01-10 | Fiberlink Communications Corporation | Rules based actions for mobile device management |
US20130041808A1 (en) | 2011-08-10 | 2013-02-14 | Nathalie Pham | Distributed media access |
US8756594B2 (en) | 2011-10-28 | 2014-06-17 | Microsoft Corporation | Reactive anti-tampering system for protected services in an enterprise computing system |
US8725124B2 (en) | 2012-03-05 | 2014-05-13 | Enterproid Hk Ltd | Enhanced deployment of applications |
US8954387B2 (en) | 2012-06-07 | 2015-02-10 | Vmware, Inc. | Tracking changes that affect performance of deployed applications |
-
2009
- 2009-12-16 US US12/639,139 patent/US20100159898A1/en not_active Abandoned
- 2009-12-16 US US12/639,179 patent/US20100157990A1/en not_active Abandoned
- 2009-12-16 US US12/639,175 patent/US8199507B2/en not_active Expired - Fee Related
- 2009-12-16 US US12/639,165 patent/US9753746B2/en active Active
- 2009-12-17 JP JP2011542436A patent/JP2012513170A/en active Pending
- 2009-12-17 EP EP09837917.5A patent/EP2370999A4/en not_active Withdrawn
- 2009-12-17 KR KR1020117016740A patent/KR101434293B1/en not_active IP Right Cessation
- 2009-12-17 KR KR1020117016804A patent/KR101299369B1/en not_active IP Right Cessation
- 2009-12-17 EP EP09837916.7A patent/EP2370906A4/en active Pending
- 2009-12-17 JP JP2011542434A patent/JP2012513169A/en active Pending
- 2009-12-17 CN CN2009801507472A patent/CN102257613A/en active Pending
- 2009-12-17 CA CA2747655A patent/CA2747655A1/en not_active Abandoned
- 2009-12-17 WO PCT/US2009/068475 patent/WO2010080498A1/en active Application Filing
- 2009-12-17 WO PCT/US2009/068482 patent/WO2010080500A1/en active Application Filing
- 2009-12-17 CN CN2009801546072A patent/CN102282549A/en active Pending
- 2009-12-17 KR KR1020137034794A patent/KR20140010996A/en not_active Application Discontinuation
- 2009-12-17 CA CA2747653A patent/CA2747653A1/en not_active Abandoned
-
2014
- 2014-01-24 JP JP2014011153A patent/JP2014112410A/en active Pending
-
2017
- 2017-07-10 US US15/645,868 patent/US20180129511A1/en not_active Abandoned
Patent Citations (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4724521A (en) * | 1986-01-14 | 1988-02-09 | Veri-Fone, Inc. | Method for operating a local terminal to execute a downloaded application program |
US5294782A (en) * | 1991-09-27 | 1994-03-15 | Khyber Technologies Corporation | Integrated portable device for point of sale transactions |
US5386106A (en) * | 1991-09-27 | 1995-01-31 | Khyber Technologies Corporation | Integrated portable device for point of sale transactions |
US5489773A (en) * | 1991-09-27 | 1996-02-06 | Khyber Technologies Corporation | Integrated portable device for point of sale transactions |
US5696496A (en) * | 1991-12-10 | 1997-12-09 | Khyber Technologies Corporation | Portable messaging and scheduling device with homebase station |
US6072401A (en) * | 1991-12-10 | 2000-06-06 | Khyber Technologies Corporation | Portable messaging and scheduling device with homebase station |
US5648760A (en) * | 1991-12-10 | 1997-07-15 | Khyber Technologies Corporation | Portable messaging and scheduling device with homebase station |
US5265951A (en) * | 1992-02-13 | 1993-11-30 | Khyber Technologies Corporation | Card reading terminal having protective shield for input port thereof |
US5484989A (en) * | 1992-02-13 | 1996-01-16 | Khyber Technologies Corporation | Card reading terminal having protective shield for input port thereof |
US5526523A (en) * | 1992-03-06 | 1996-06-11 | Microsoft Corporation | Interface between operating system and operating system extension |
US5430878A (en) * | 1992-03-06 | 1995-07-04 | Microsoft Corporation | Method for revising a program to obtain compatibility with a computer configuration |
US5381348A (en) * | 1993-01-11 | 1995-01-10 | Fluke Corporation | Token ring local area network testing apparatus using time delay reflectory |
US5489001A (en) * | 1993-02-22 | 1996-02-06 | Yang; Tai-Her | Differential coupling and compound power system for a vehicle |
US5519783A (en) * | 1993-07-09 | 1996-05-21 | Khyber Technologies Corporation | Headphone assembly |
US5357585A (en) * | 1993-07-09 | 1994-10-18 | Khyber Technologies Corporation | Headphone assembly |
US6027021A (en) * | 1993-07-23 | 2000-02-22 | Khyber Technologies Corporation | Grip held and grip operable data entry device |
US5616906A (en) * | 1993-07-23 | 1997-04-01 | Khyber Technologies Corporation | Grip held and grip operable data entry device |
US5925873A (en) * | 1993-07-23 | 1999-07-20 | Khyber Technologies Corporation | Grip held and grip operable data entry device |
US5548478A (en) * | 1994-07-25 | 1996-08-20 | Khyber Technologies Corporation | Portable computing device having an adjustable hinge |
US5902991A (en) * | 1994-07-25 | 1999-05-11 | Khyber Technologies Corporation | Card shaped computer peripheral device |
US5521369A (en) * | 1994-07-25 | 1996-05-28 | Khyber Technologies Corporation | Card shaped computer peripheral device |
US5638257A (en) * | 1995-01-27 | 1997-06-10 | Khyber Technologies Corporation | Combination keyboard and cover for a handheld computer |
US5548477A (en) * | 1995-01-27 | 1996-08-20 | Khyber Technologies Corporation | Combination keyboard and cover for a handheld computer |
US5632373A (en) * | 1995-04-03 | 1997-05-27 | Khyber Technologies Corporation | Protective case for portable computer |
US5708560A (en) * | 1995-07-24 | 1998-01-13 | Khyber Technologies Corporation | Selectively attachable keyboard bracket and lockable holder for a handheld computer |
US5872699A (en) * | 1995-07-25 | 1999-02-16 | Fujitsu Limited | Electronic apparatus, housing for electronic apparatus and housing manufacturing method |
US6708221B1 (en) * | 1996-12-13 | 2004-03-16 | Visto Corporation | System and method for globally and securely accessing unified information in a computer network |
US6449149B1 (en) * | 1997-04-14 | 2002-09-10 | Hitachi, Ltd. | Electronic equipment |
US6023721A (en) * | 1997-05-14 | 2000-02-08 | Citrix Systems, Inc. | Method and system for allowing a single-user application executing in a multi-user environment to create objects having both user-global and system global visibility |
US6084769A (en) * | 1997-08-20 | 2000-07-04 | Compaq Computer Corporation | Docking station with auxiliary heat dissipation system for a docked portable computer |
US6151606A (en) * | 1998-01-16 | 2000-11-21 | Visto Corporation | System and method for using a workspace data manager to access, manipulate and synchronize network data |
US6104451A (en) * | 1998-03-16 | 2000-08-15 | Hitachi, Ltd. | Thin display housing with multiple chambers and fans |
US6266539B1 (en) * | 1998-06-12 | 2001-07-24 | Cisco Technology, Inc. | Telephone docking station for personal digital assistant |
US6181553B1 (en) * | 1998-09-04 | 2001-01-30 | International Business Machines Corporation | Arrangement and method for transferring heat from a portable personal computer |
US6457030B1 (en) * | 1999-01-29 | 2002-09-24 | International Business Machines Corporation | Systems, methods and computer program products for modifying web content for display via pervasive computing devices |
US6647103B2 (en) * | 1999-02-11 | 2003-11-11 | Mitel Corporation | Palm PC dockable phone |
US20040052343A1 (en) * | 1999-02-16 | 2004-03-18 | Glaser Lawrence F. | Telecommunications installation and management system and method |
US6223815B1 (en) * | 1999-03-19 | 2001-05-01 | Kabushiki Kaisha Toshiba | Cooling unit for cooling a heat-generating component and electronic apparatus having the cooling unit |
US7120462B2 (en) * | 1999-04-07 | 2006-10-10 | Khyber Technologies Corporation | Portable computing, communication and entertainment device with central processor carried in a detachable handset |
US7149543B2 (en) * | 1999-07-15 | 2006-12-12 | Khyber Technologies Corporation | Handheld computer with detachable communication device |
US6952617B1 (en) * | 1999-07-15 | 2005-10-04 | Khyber Technologies Corporation | Handheld computer with detachable handset |
US6276448B1 (en) * | 1999-09-22 | 2001-08-21 | Kel Corporation | Heat-transfer connector |
US6952671B1 (en) * | 1999-10-04 | 2005-10-04 | Xvd Corporation | Vector quantization with a non-structured codebook for audio compression |
US20030026405A1 (en) * | 1999-11-12 | 2003-02-06 | Metro One Telecommunications, Inc. | Enhanced directory assistance service providing individual or group directories |
US20040098449A1 (en) * | 2000-01-20 | 2004-05-20 | Shai Bar-Lavi | System and method for disseminating information over a communication network according to predefined consumer profiles |
US6546554B1 (en) * | 2000-01-21 | 2003-04-08 | Sun Microsystems, Inc. | Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer |
US20010047363A1 (en) * | 2000-02-02 | 2001-11-29 | Luosheng Peng | Apparatus and methods for providing personalized application search results for wireless devices based on user profiles |
US20020013852A1 (en) * | 2000-03-03 | 2002-01-31 | Craig Janik | System for providing content, management, and interactivity for thin client devices |
US20050120113A1 (en) * | 2000-06-28 | 2005-06-02 | Accountability International, Inc. | System and method for monitoring application utilization |
US20030002637A1 (en) * | 2000-10-26 | 2003-01-02 | Nobuhito Miyauchi | Internet telephone network system, network access method and talking device adapter |
US6868267B1 (en) * | 2000-11-17 | 2005-03-15 | Qualcomm Inc. | Apparatus, method, and article of manufacture used to invoice for services consumed in a communications network |
US20020131404A1 (en) * | 2000-11-28 | 2002-09-19 | 4Thpass Inc. | Method and system for maintaining and distributing wireless applications |
US20040078812A1 (en) * | 2001-01-04 | 2004-04-22 | Calvert Kerry Wayne | Method and apparatus for acquiring media services available from content aggregators |
US7092987B2 (en) * | 2001-02-13 | 2006-08-15 | Educational Testing Service | Remote computer capabilities querying and certification |
US7039041B2 (en) * | 2001-03-20 | 2006-05-02 | Robohm Kurt W | Operational support system for telecommunication services |
US7058088B2 (en) * | 2001-03-28 | 2006-06-06 | Minolta Co., Ltd. | Data communication program product to rewrite simultaneously firmware of plurality of devices connected to network |
US20030236867A1 (en) * | 2001-05-14 | 2003-12-25 | Takeshi Natsuno | System for managing program stored in storage block of mobile terminal |
US20020172336A1 (en) * | 2001-05-15 | 2002-11-21 | Jessica Postma | Information system with detachable information module |
US6674640B2 (en) * | 2001-07-02 | 2004-01-06 | Intel Corporation | Increased thermal capability of portable electronic device in stationary or docked mode |
US7243163B1 (en) * | 2001-08-07 | 2007-07-10 | Good Technology, Inc. | System and method for full wireless synchronization of a data processing apparatus with a messaging system |
US20030084165A1 (en) * | 2001-10-12 | 2003-05-01 | Openwave Systems Inc. | User-centric session management for client-server interaction using multiple applications and devices |
US20030090864A1 (en) * | 2001-11-15 | 2003-05-15 | Yan-Lin Kuo | Liquid crystal display computer with a removable device frame |
US20030130984A1 (en) * | 2001-11-15 | 2003-07-10 | Sean Quinlan | System and methods for asynchronous synchronization |
US20030115552A1 (en) * | 2001-11-27 | 2003-06-19 | Jorg Jahnke | Method and system for automatic creation of multilingual immutable image files |
US20040034853A1 (en) * | 2002-03-22 | 2004-02-19 | Bill Gibbons | Mobile download system |
US7636782B2 (en) * | 2002-04-01 | 2009-12-22 | Microsoft Corporation | System and method to facilitate manageable and agile deployment of services in accordance with various topologies |
US20050213331A1 (en) * | 2002-04-23 | 2005-09-29 | Keith Lewis | Lighting apparatus |
US20040060687A1 (en) * | 2002-09-27 | 2004-04-01 | Moss David William | Versatile and ergonomic heat-dissipating stand for attachment to portable computers |
US20040162092A1 (en) * | 2003-02-14 | 2004-08-19 | Marsico Robert G. | Telephone management system and method |
US20040190256A1 (en) * | 2003-03-25 | 2004-09-30 | Jds Uniphase Corporation | Heat sink with visible logo |
US8161411B2 (en) * | 2003-04-25 | 2012-04-17 | Apple Inc. | Graphical user interface for browsing, searching and presenting media items |
US7275073B2 (en) * | 2003-05-07 | 2007-09-25 | Good Technology, Inc. | System and method for notifying mobile devices based on device type and network capabilities |
US7236770B2 (en) * | 2003-09-03 | 2007-06-26 | Good Technology, Inc. | System and method for notifying target communication devices of message reception at a message server via log file monitoring |
US20070183772A1 (en) * | 2003-10-31 | 2007-08-09 | Dotworkz Systems, Inc. | Heat pumped surveillance camera housing and method of manufacturing the same |
US20050131885A1 (en) * | 2003-12-12 | 2005-06-16 | Jun Komatsu | Information processing apparatus and method, and program |
US20050144445A1 (en) * | 2003-12-15 | 2005-06-30 | Bce Inc. | Adapter for secure VoIP communications |
US20050192878A1 (en) * | 2004-01-21 | 2005-09-01 | Brian Minear | Application-based value billing in a wireless subscriber network |
US7130193B2 (en) * | 2004-01-29 | 2006-10-31 | Fujitsu Limited | Cabinet having heat radiation function and heat radiation member |
US20050262337A1 (en) * | 2004-05-24 | 2005-11-24 | Siemens Vdo Automotive Corporation | Method and device for determining flash software compatibility with hardware |
US7620036B2 (en) * | 2004-08-04 | 2009-11-17 | Panasonic Corporation | IP telephone system and calling method |
US20060030341A1 (en) * | 2004-08-06 | 2006-02-09 | Avaya Technology Corp. | Mobile desk phone |
US20060130054A1 (en) * | 2004-11-12 | 2006-06-15 | Research In Motion Limited | System and method for downloading or enabling download of a program from a program store location |
US20060200658A1 (en) * | 2005-03-07 | 2006-09-07 | Bitfone Corporation | Agent framework for mobile devices |
US20060230433A1 (en) * | 2005-03-29 | 2006-10-12 | Invented Corporation | Client device reservation system and method |
US20060277311A1 (en) * | 2005-06-03 | 2006-12-07 | Microsoft Corporation | Running Internet applications with low rights |
US20060277209A1 (en) * | 2005-06-06 | 2006-12-07 | Javaground Usa, Inc. | Efficient and automatic software application development system for wireless devices |
US20070080823A1 (en) * | 2005-10-07 | 2007-04-12 | Apple Computer, Inc. | Techniques for pairing remote controllers with host devices |
US20070165654A1 (en) * | 2005-10-13 | 2007-07-19 | Huawei Technologies Co., Ltd | Method for managing a terminal device |
US20070093243A1 (en) * | 2005-10-25 | 2007-04-26 | Vivek Kapadekar | Device management system |
US20070169105A1 (en) * | 2005-12-05 | 2007-07-19 | Inventel | Telephone handset, base and associated method for updating the software of the handset |
US20070167156A1 (en) * | 2005-12-30 | 2007-07-19 | Sukhdeep Hundal | System and method for communicating over a data network or the PSTN using a hybrid cordless telephone device |
US20070156870A1 (en) * | 2005-12-30 | 2007-07-05 | Microsoft Corporation | Heartbeat subscriptions |
US20070234240A1 (en) * | 2006-03-29 | 2007-10-04 | Microsoft Corporation | Automatically optimize performance of package execution |
US7779085B2 (en) * | 2006-07-17 | 2010-08-17 | Research In Motion Limited | Automatic mobile device configuration |
US20080209451A1 (en) * | 2007-01-29 | 2008-08-28 | Mashery, Inc. | Methods for analyzing, limiting, and enhancing access to an internet API, web service, and data |
US20090064056A1 (en) * | 2007-09-04 | 2009-03-05 | Apple Inc. | Graphical User Interface with Location-Specific Interface Elements |
US20090193034A1 (en) * | 2008-01-24 | 2009-07-30 | Disney Enterprises, Inc. | Multi-axis, hierarchical browser for accessing and viewing digital assets |
US20090228509A1 (en) * | 2008-03-04 | 2009-09-10 | Apple Inc. | Synchronization server process |
US20090307105A1 (en) * | 2008-06-06 | 2009-12-10 | Apple Inc. | User Interface for Application Management for a Mobile Device |
US20100011354A1 (en) * | 2008-07-10 | 2010-01-14 | Apple Inc. | System and method for localizing display of applications for download |
Cited By (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8199507B2 (en) | 2008-12-19 | 2012-06-12 | Openpeak Inc. | Telephony and digital media services device |
US8745213B2 (en) | 2008-12-19 | 2014-06-03 | Openpeak Inc. | Managed services platform and method of operation of same |
US20100157543A1 (en) * | 2008-12-19 | 2010-06-24 | Openpeak, Inc. | Telephony and digital media services device |
US8713173B2 (en) | 2008-12-19 | 2014-04-29 | Openpeak Inc. | System and method for ensuring compliance with organizational policies |
US8612582B2 (en) | 2008-12-19 | 2013-12-17 | Openpeak Inc. | Managed services portals and method of operation of same |
US8788655B2 (en) | 2008-12-19 | 2014-07-22 | Openpeak Inc. | Systems for accepting and approving applications and methods of operation of same |
US8650290B2 (en) | 2008-12-19 | 2014-02-11 | Openpeak Inc. | Portable computing device and method of operation of same |
US8615581B2 (en) | 2008-12-19 | 2013-12-24 | Openpeak Inc. | System for managing devices and method of operation of same |
US8856322B2 (en) | 2008-12-19 | 2014-10-07 | Openpeak Inc. | Supervisory portal systems and methods of operation of same |
US20100284398A1 (en) * | 2009-05-08 | 2010-11-11 | Samsung Electronics Co., Ltd. | SYSTEM AND METHOD FOR PROVIDING PHONE RELATED SERVICES TO DEVICES USING UPnP ON A HOME NETWORK |
US9143345B2 (en) * | 2009-05-08 | 2015-09-22 | Samsung Electronics Co., Ltd | System and method for providing phone related services to devices using UPnP on a home network |
WO2010138449A3 (en) * | 2009-05-29 | 2011-02-03 | Oracle America, Inc. | Java store |
US9798529B2 (en) | 2009-05-29 | 2017-10-24 | Oracle America, Inc. | Java store |
US9100505B2 (en) * | 2009-10-09 | 2015-08-04 | At&T Intellectual Property I, L.P. | Methods, systems and products for providing modem functions |
US9401999B2 (en) | 2009-10-09 | 2016-07-26 | At&T Intellectual Property I, L.P. | Methods, systems and products for providing modem functions |
US20130223491A1 (en) * | 2009-10-09 | 2013-08-29 | At&T Intellectual Property I, L.P. | Methods, Systems and Products for Providing Modem Functions |
US8437468B2 (en) * | 2009-10-09 | 2013-05-07 | At&T Intellectual Property I, L. P. | Methods, systems and products for providing modem functions |
US20110085647A1 (en) * | 2009-10-09 | 2011-04-14 | Hicks Iii John Alson | Methods, Systems and Products for Providing Modem Functions |
US9232044B2 (en) * | 2010-03-03 | 2016-01-05 | Lg Electronics Inc. | Mobile terminal and control method thereof |
US20110219334A1 (en) * | 2010-03-03 | 2011-09-08 | Park Seungyong | Mobile terminal and control method thereof |
US8589789B2 (en) | 2010-08-03 | 2013-11-19 | Aaron Grunberger | Method and system for revisiting prior navigated pages and prior edits |
US8667421B2 (en) | 2010-08-03 | 2014-03-04 | Aaron Grunberger | Method and system for revisiting prior navigated pages and prior edits |
US11640287B2 (en) | 2010-08-04 | 2023-05-02 | Aprese Systems Texas Llc | Method, apparatus and systems for enabling delivery and access of applications and services |
US9215273B2 (en) | 2010-08-04 | 2015-12-15 | Premkumar Jonnala | Apparatus for enabling delivery and access of applications and interactive services |
US20140214916A1 (en) * | 2010-08-04 | 2014-07-31 | Keertikiran Gokul | System, method and apparatus for managing applications, information and services |
US10255059B2 (en) | 2010-08-04 | 2019-04-09 | Premkumar Jonnala | Method apparatus and systems for enabling delivery and access of applications and services |
US9207924B2 (en) | 2010-08-04 | 2015-12-08 | Premkumar Jonnala | Apparatus for enabling delivery and access of applications and interactive services |
US8887155B2 (en) * | 2010-08-04 | 2014-11-11 | Keertikiran Gokul | System, method and apparatus for managing applications, information and services |
US9210214B2 (en) | 2010-08-04 | 2015-12-08 | Keertikiran Gokul | System, method and apparatus for enabling access to applications and interactive services |
US9077796B2 (en) | 2010-08-17 | 2015-07-07 | Openpeak Inc. | System containing a mobile communication device and associated docking station |
US9122885B1 (en) | 2010-10-25 | 2015-09-01 | Openpeak, Inc. | Creating distinct user spaces through user identifiers |
US8650658B2 (en) | 2010-10-25 | 2014-02-11 | Openpeak Inc. | Creating distinct user spaces through user identifiers |
US8856959B2 (en) | 2010-10-25 | 2014-10-07 | Openpeak Inc. | Creating distinct user spaces through user identifiers |
US9836616B2 (en) | 2010-10-25 | 2017-12-05 | Openpeak Llc | Creating distinct user spaces through user identifiers |
US20120117558A1 (en) * | 2010-11-04 | 2012-05-10 | Microsoft Corporation | Mobile application migration service |
US20120221384A1 (en) * | 2011-02-28 | 2012-08-30 | Qualcomm Innovation Center, Inc. | System, method, and apparatus for organizing and distributing apps |
US11025622B2 (en) * | 2011-07-12 | 2021-06-01 | Apple, Inc. | System and method for linking pre-installed software to a user account on an online store |
US9165139B2 (en) | 2011-10-10 | 2015-10-20 | Openpeak Inc. | System and method for creating secure applications |
US8695060B2 (en) | 2011-10-10 | 2014-04-08 | Openpeak Inc. | System and method for creating secure applications |
US9135418B2 (en) | 2011-10-10 | 2015-09-15 | Openpeak Inc. | System and method for creating secure applications |
US8626774B2 (en) | 2012-01-23 | 2014-01-07 | Qualcomm Innovation Center, Inc. | Location based apps ranking for mobile wireless computing and communicating devices |
JP2015509341A (en) * | 2012-03-06 | 2015-03-26 | ▲華▼▲為▼▲終▼端有限公司 | Transmission method, system and communication apparatus for realizing coexistence of data and voice service |
US20140341196A1 (en) * | 2012-03-06 | 2014-11-20 | Huawei Device Co., Ltd. | Transmission Method, System, and Communication Device for Realizing Coexistence of Data and Voice Services |
US9817545B2 (en) | 2012-06-08 | 2017-11-14 | Apple Inc. | Identification of recently downloaded content |
US20130332886A1 (en) * | 2012-06-08 | 2013-12-12 | Apple Inc. | Identification of recently downloaded content |
US9430120B2 (en) * | 2012-06-08 | 2016-08-30 | Apple Inc. | Identification of recently downloaded content |
US20140032656A1 (en) * | 2012-07-24 | 2014-01-30 | Appboy, Inc. | Method and system for collecting and providing application usage analytics |
US9591088B2 (en) | 2012-07-24 | 2017-03-07 | Appboy, Inc. | Method and system for collecting and providing application usage analytics |
US9239771B2 (en) * | 2012-07-24 | 2016-01-19 | Appboy, Inc. | Method and system for collecting and providing application usage analytics |
US20140108457A1 (en) * | 2012-08-29 | 2014-04-17 | Mitesh Gala | Location-based and other criteria-based establishment management systems and methods |
US9069801B2 (en) * | 2012-08-29 | 2015-06-30 | Mitesh Gala | Location-based and other criteria-based establishment management systems and methods |
US8584019B1 (en) * | 2012-08-29 | 2013-11-12 | Mitesh Gala | Location-based and other criteria-based establishment management systems and methods |
US10326662B2 (en) | 2012-10-11 | 2019-06-18 | Netflix, Inc. | System and method for managing playback of streaming digital content |
KR102177013B1 (en) * | 2012-10-11 | 2020-11-10 | 넷플릭스, 인크. | A system and method for managing playback of streaming digital content |
US9565475B2 (en) | 2012-10-11 | 2017-02-07 | Netflix, Inc. | System and method for managing playback of streaming digital content |
KR20150067351A (en) * | 2012-10-11 | 2015-06-17 | 넷플릭스, 인크. | A system and method for managing playback of streaming digital content |
US9727321B2 (en) | 2012-10-11 | 2017-08-08 | Netflix, Inc. | System and method for managing playback of streaming digital content |
WO2014059271A3 (en) * | 2012-10-11 | 2014-06-12 | Netflix, Inc. | A system and method for managing playback of streaming digital content |
US11755303B2 (en) | 2012-10-11 | 2023-09-12 | Netflix, Inc. | System and method for managing playback of streaming digital content |
US20140281962A1 (en) * | 2013-03-14 | 2014-09-18 | Samsung Electronics Co., Ltd. | Mobile device of executing action in display unchecking mode and method of controlling the same |
CN104049891A (en) * | 2013-03-14 | 2014-09-17 | 三星电子株式会社 | Mobile device of executing action in display unchecking mode and method of controlling same |
US9569229B1 (en) | 2013-07-29 | 2017-02-14 | Western Digital Technologies, Inc. | Automatic start of an application at start up for a media player appliance |
US9489190B1 (en) * | 2013-09-18 | 2016-11-08 | Amazon Technologies, Inc. | Message processing engine |
US20190349479A1 (en) * | 2014-05-08 | 2019-11-14 | Ubiquiti Networks, Inc. | Phone systems and methods of communication |
US10868917B2 (en) * | 2014-05-08 | 2020-12-15 | Ubiquiti Inc. | Phone systems and methods of communication |
US10475079B2 (en) * | 2014-06-06 | 2019-11-12 | Adobe Inc. | Application integrated advertising display control |
US9232012B1 (en) | 2014-09-05 | 2016-01-05 | Openpeak Inc. | Method and system for data usage accounting in a computing device |
US9100390B1 (en) | 2014-09-05 | 2015-08-04 | Openpeak Inc. | Method and system for enrolling and authenticating computing devices for data usage accounting |
US9232013B1 (en) | 2014-09-05 | 2016-01-05 | Openpeak Inc. | Method and system for enabling data usage accounting |
US9350818B2 (en) | 2014-09-05 | 2016-05-24 | Openpeak Inc. | Method and system for enabling data usage accounting for unreliable transport communication |
US8938547B1 (en) | 2014-09-05 | 2015-01-20 | Openpeak Inc. | Method and system for data usage accounting in a computing device |
US10410154B2 (en) | 2014-09-05 | 2019-09-10 | Vmware, Inc. | Method and system for enabling data usage accounting through a relay |
US9106538B1 (en) | 2014-09-05 | 2015-08-11 | Openpeak Inc. | Method and system for enabling data usage accounting through a relay |
US10943198B2 (en) | 2014-09-05 | 2021-03-09 | Vmware, Inc. | Method and system for enabling data usage accounting through a relay |
US10348596B1 (en) | 2014-12-03 | 2019-07-09 | Amazon Technologies, Inc. | Data integrity monitoring for a usage analysis system |
US10706073B1 (en) | 2014-12-03 | 2020-07-07 | Amazon Technologies, Inc. | Partitioned batch processing for a usage analysis system |
US10990507B2 (en) * | 2016-02-25 | 2021-04-27 | Dell Products L.P. | System and method for provisioning a virtual machine test environment |
US20170329698A1 (en) * | 2016-02-25 | 2017-11-16 | Dell Products, Lp | System and Method for Provisioning a Virtual Machine Test Environment |
US10778861B2 (en) * | 2016-09-23 | 2020-09-15 | Canon Kabushiki Kaisha | Image forming apparatus, method for controlling image forming apparatus, and storage medium configured to change update processing control depending on whether an update target application is of a type for offering an authentication function |
US20180091682A1 (en) * | 2016-09-23 | 2018-03-29 | Canon Kabushiki Kaisha | Image forming apparatus, method for controlling image forming apparatus, and storage medium |
US20180210630A1 (en) * | 2017-01-26 | 2018-07-26 | Kyocera Document Solutions Inc. | Display device and display method |
US11456927B2 (en) * | 2017-04-24 | 2022-09-27 | Servicenow, Inc. | Installation and upgrade of visualizations for managed networks |
US12016072B2 (en) | 2020-07-21 | 2024-06-18 | Asrris Enterprises Llc | Optimizing access point device onboarding completion time using mobile app |
Also Published As
Publication number | Publication date |
---|---|
CA2747653A1 (en) | 2010-07-15 |
US20100159898A1 (en) | 2010-06-24 |
US8199507B2 (en) | 2012-06-12 |
EP2370999A1 (en) | 2011-10-05 |
KR20110095970A (en) | 2011-08-25 |
EP2370999A4 (en) | 2014-01-01 |
US9753746B2 (en) | 2017-09-05 |
US20180129511A1 (en) | 2018-05-10 |
US20100157543A1 (en) | 2010-06-24 |
KR20140010996A (en) | 2014-01-27 |
JP2012513170A (en) | 2012-06-07 |
EP2370906A4 (en) | 2014-02-05 |
CA2747655A1 (en) | 2010-07-15 |
KR20110095966A (en) | 2011-08-25 |
US20100157990A1 (en) | 2010-06-24 |
KR101299369B1 (en) | 2013-08-22 |
CN102282549A (en) | 2011-12-14 |
JP2014112410A (en) | 2014-06-19 |
WO2010080498A1 (en) | 2010-07-15 |
CN102257613A (en) | 2011-11-23 |
EP2370906A1 (en) | 2011-10-05 |
JP2012513169A (en) | 2012-06-07 |
WO2010080500A1 (en) | 2010-07-15 |
KR101434293B1 (en) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180129511A1 (en) | Application store and intelligence system for networked telephony and digital media services devices | |
US8615581B2 (en) | System for managing devices and method of operation of same | |
US8612582B2 (en) | Managed services portals and method of operation of same | |
US8745213B2 (en) | Managed services platform and method of operation of same | |
US8788655B2 (en) | Systems for accepting and approving applications and methods of operation of same | |
US8650290B2 (en) | Portable computing device and method of operation of same | |
US8856322B2 (en) | Supervisory portal systems and methods of operation of same | |
US7912503B2 (en) | Smart interface system for mobile communications devices | |
US8769528B2 (en) | Fixed-function consumer-electronics device providing general-computing functions with virtual machines | |
US8838087B1 (en) | Provisioning system and methods for interfaceless phone | |
US20090064202A1 (en) | Support layer for enabling same accessory support across multiple platforms | |
US9602652B2 (en) | Method for controlling communication setting of mobile terminal and mobile terminal thereof | |
US20100125646A1 (en) | System For Enabling Host-Independent Software Portability Of A Self-Contained Device | |
US20240015201A1 (en) | Connected cloud applications | |
Kim | On Digital Convergence and Challenges. | |
Van Vugt | Ubuntu Netbooks | |
BERGGREN | Media Browser on Android Platform | |
WO2011095177A1 (en) | International business directory phone (i.b.d phone) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: OPENPEAK INC.,FLORIDA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRZYZANOWSKI, PAUL;HARTER, GLENN;KELLY, MICHAEL;AND OTHERS;SIGNING DATES FROM 20100128 TO 20100205;REEL/FRAME:024594/0185 Owner name: OPENPEAK INC., FLORIDA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRZYZANOWSKI, PAUL;HARTER, GLENN;KELLY, MICHAEL;AND OTHERS;SIGNING DATES FROM 20100128 TO 20100205;REEL/FRAME:024594/0185 |
|
AS | Assignment |
Owner name: OPENPEAK LLC, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OPENPEAK, INC.;REEL/FRAME:042752/0945 Effective date: 20170424 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: OPENPEAK LLC, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NI, HAO;REEL/FRAME:047675/0378 Effective date: 20170425 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FEPP | Fee payment procedure |
Free format text: SURCHARGE FOR LATE PAYMENT, LARGE ENTITY (ORIGINAL EVENT CODE: M1554); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |