With the increase of newer communications technologies, there are numerous modes of communication available. Many people have multiple phone numbers, email addresses, and other contact points at which they may be contacted. Many communication devices include an address book in which a user may store his/her contacts and contact information associated with those contacts. Most current address book systems are static in nature and are deficient in providing real-time information. In a case where a user has multiple communication devices, each communication device may have its own address book. Such separate address books typically require a user to enter the same information in multiple address book databases. A user may synchronize an address book on one device with another address book on another device. However, information may only be updated upon synchronization, not in real-time. Separate address books may be difficult to maintain because of changes to recipient information. Another deficiency in a typical address book system is that presence information may not be provided for a user's contacts. A user may have several points of contact (e.g., mobile phone number, e-mail address, home phone number, etc.) for a given contact, but may not know which method of communication may be the best way to reach the contact at a given time.
Consistent with embodiments of the present invention, systems and methods are disclosed for providing a network-based presence tracking smart address book. Contact information may be stored in a user's smart address book. Because a smart address book is network-based, a single smart address book may be utilized for various communication devices that a user may utilize. A user may utilize various communication mechanisms (e.g., e-mail, instant messaging, voice, etc.) on various communication devices (e.g., personal computer, home phone, mobile phone, personal digital assistant (PDA), set-top box (STB), etc.). Each device may communicate with a network-based smart address book so that a user's contact information may be consistent among his/her various communication devices.
In addition to contact information associated with a contact, embodiments of the present invention may also include real-time presence information with respect to a contact's availability (i.e., presence state). Presence information may convey a contact's ability and/or willingness to communicate on one or more communication devices. For example, a user may have contact information for a contact's mobile phone and home computer. If the contact's mobile phone is turned off and he/she has been using his/her home computer, the presence information may reveal to the user that the specified contact is unavailable for communication via his/her mobile phone, but may be available for communication at his/her home computer, and thus may be contacted via e-mail or instant messaging (IM).
The details of one or more embodiments are set forth in the accompanying drawings and description below. Other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that the following detailed description is explanatory only and is not restrictive of the invention as claimed.
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While embodiments of the invention may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.
Communication media including electronic media, telecommunications media, and broadcast media were once distinct and separate services. Recently, service providers are offering a convergence of services. A user may utilize a plurality of services on a single device. For example, a cable television services set-top box (STB) 150 may be utilized for not only television services, but may also be utilized for telephony, Internet services, e-mail, music, location-based services, etc. And, in accordance with common Internet Protocols (IP), such devices may be utilized as a user interface to communicate over a packet-switched network.
Wireless communication devices, such as a mobile phone 110, PDA 115, or other mobile computing devices may be connected to a wireless voice and data network 165. A wireless network may connect to a public switched telephone network (PSTN) 170 and/or may connect to a packet-switched network (Internet) 125 via a wireless network gateway. Plain old telephone system (POTS) and landline telephones 120 may connect to a wireless network 165 via a public switched telephone network (PSTN) 170. A VoIP network gateway 130 may serve as a translator between the PSTN 170 and IP networks 125. Dedicated VoIP phones 160 allow VoIP calls without the use of a computer 105. A VoIP phone 160 may connect directly to an IP network 125 to communicate with other endpoints. Personal computers 105 may connect to an IP network 125 for various communications, such as voice, e-mail, messaging, faxing, etc. As should be appreciated, transmission technologies for delivery of voice and/or data communications over IP networks such as the Internet or other packet-switched networks is a known technology to those skilled in the art and will not be discussed in extensive detail herein.
Recently, cable set-top boxes (STB) 150 have become more than a device in which to receive digital television, but may be used to provide a variety of services, including but not limited to telephone services, high-speed Internet access, Video on Demand (VOD), and information services. A simplified block diagram illustrating a cable television/services system (hereafter referred to as “CATV”) architecture that serves as an exemplary operating environment for the present invention will be described in further detail later in this document with reference to
According to an embodiment of the present invention, a presence server 145 may be connected to an IP network 100 and may be utilized to receive current presence and availability data of a contact. A contact's presence information may be shared with others who may wish to know the availability or willingness of the contact to communicate. A contact's presence information may also be received by a system, wherein a decision may be made as to when, how, or whether to contact one or more communication devices (e.g., computer 105, mobile phone 110, etc.) An entity that may be associated with, defined by and/or described by presence data may be referred to as a “presentity.” The term “presentity” will be used herein for convenience and may also be used to describe a contact whose presence information is monitored and/or requested by a user or by a system. By revealing more information about a contact, such as a location, status, current activity, or even a person's mood, communication may be enhanced. Multiple communication devices associated with a presentity may be tracked by a presence server 145. A presence server 145 may track the presence of a presentity's computer 105, mobile phone 110, PDA 115, landline/POTS phone 120, STB 150, etc.
According to one embodiment, presence information may be automatically updated to a presence server 145 every time a presentity's presence status changes. For example, if a presentity utilizes his/her mobile phone 110 to make a phone call, a presence server 145 may detect a change in the his/her presence status and may store the contact's presence data in a smart address book database 175. According to another embodiment, a presentity's presence information may be manually entered by the presentity. For example, a presentity may go on vacation and may wish not to be contacted. He/she may manually set his/her presence data as busy or unavailable on all communication devices. According to another embodiment, a presentity's electronic calendar may provide presence data that may be tracked by a presence server 145. For example, a presentity may have a meeting scheduled in his/her electronic calendar. A presence server 145 may detect the scheduled meeting and consider the presentity's presence state as busy. In one embodiment, a presence server 145 and a smart address book database 175 may be located remotely. Alternatively, a smart address book database 175 may be located on a presence server 145.
A smart address book 175 is operative to store a list of one or more contacts including contact information, presence data, and any other data that may be associated with a contact, and be accessed by one or more end point devices 105,110,115,120,150,160 across a network 125. According to an embodiment, a smart address book 175 contains Extensible Markup Language (XML) data structures which may define contact information. As should be understood, XML is only one example data structure type or method and is not limiting of other data structure languages or types that may be utilized. Endpoint devices may utilize a standard session initiated protocol (SIP) format to communicate presence and contact information across a network 125. A smart address book 175 may store a user's contact list, which may contain one or more telephone numbers, e-mail addresses, IP addresses, and availability data associated with each contact number/address.
Having described elements of an architecture 100 that provides a network-based presence tracking smart address book,
A user may wish to receive presence data associated with a contact in his/her address book. A contact may wish to share his/her presence information to convey his/her ability or willingness to communicate at a given time. In OPERATION 215, a user may subscribe to request presence information for one or more contacts. According to an embodiment, a request may be sent to a presence server 145 to request subscription to a presentity's presence information. A presence server 145 may detect a presentity's presence on various communication devices (e.g., instant messenger (IM) client, home phone, mobile phone, VoIP phone, computer, PDA, electronic calendar, etc.). A presentity's presence data may include system-generated status and/or user-set status. For example, “online,” “idle,” and a presentity's location are examples of system-generated status. “Busy,” “invisible,” or a presentity's mood are examples of user-set status. Since its introduction, presence data has become more accurate and more specific. A variety of rich presence information may be detected and shared, such as multiple devices for a presentity, activities (current and planned), surroundings (noise, privacy, in a vehicle, etc.), if a presentity is composing (typing, recording audio/video, IM, etc), etc.
At OPERATION 220, a presentity's presence data may be received by a presence server 145. According to an embodiment, whenever a presentity engages/disengages in communication or other activity which may be detected by a presence server 145, his/her presence information may be updated to reflect his/her presence status. For example, if a presentity is on the phone, his/her presence information may be updated to reflect that he/she is busy or that he/she may not be able/willing to receive another call to the phone that he/she is using. A presentity's electronic calendar may also be utilized to provide presence data to a presence server 145. For example, if a presentity has a scheduled meeting on his/her electronic calendar, a presence server 145 may update his/her presence status as “busy” or “in a meeting.” Alternatively, if a presentity is in a situation in which he/she may not receive voice calls, but may be able available to IM, his/her presence information may reflect that. In some cases, a presentity may utilize a “dumb” communication device, such as a POTS phone 120. A gateway 130 may be utilized to facilitate communications between a POTS phone 120 connected to a PSTN network 170. An IP gateway 130 may convert analog signals into an IP format, which a presence server 145 may utilize to determine presence information.
According to an embodiment, a presence server 145 may receive presence information from a CATV network 300. CATV-related presence information may be provided by a STB 150, which may be collected and sent to a presence server 145 and stored in a smart address book 175. A user may obtain a presentity's presence information and see that he/she is watching TV, or even that he/she is watching a certain channel. According to an embodiment, presence information relative to a STB 150 may be utilized as a parental control mechanism. For example, a user may have a STB 150 monitored in his/her smart address book 175 (e.g., a parent monitoring his/her home STB). He/she may receive an update from a presence server 145 that a certain channel, whose programming may not be deemed suitable by the user, is being watched (e.g., by a child). As should be appreciated, there may be numerous applications for utilizing a STB 150 for providing presence data.
At OPERATION 225, presence data is transmitted and stored in a smart address book 175. A smart address book 175 may be located remotely and accessed via a distributed network 125, or may be located on a presence server 145.
At OPERATION 230, a user may make a request to view contact information for a given contact stored in his/her address book 175. At OPERATION 235, one or more contacts from a user's smart address book 175 and their corresponding contact and presence data may be transmitted and displayed on one or more devices capable of displaying contact data as requested by the user. The method ends at OPERATION 240.
As described herein, embodiments of the present invention may operate in association with components of a cable television services system, such as a cable system set-top box. With reference to
According to embodiments of the present invention, the CATV system 300 is in the form of a distributed client-server computing system for providing video and data flow across the HFC network 185 between server-side services providers (e.g., cable television/services providers) via a server-side (backend) head end 135 and a client-side customer via a client-side set-top box (STB) functionally connected to a customer receiving device, such as the television set 155. As is understood by those skilled in the art, modern CATV systems 300 may provide a variety of services across the HFC network 185 including traditional digital and analog video programming, telephone services, high speed Internet access, video-on-demand, and information services.
On the client side of the CATV system 300, digital and analog video programming and digital and analog data are provided to the customer television set 155 via the set-top box (STB) 150. Interactive television services that allow a customer to input data to the CATV system 300 likewise are provided by the STB 150. As illustrated in
The STB 150 also includes an operating system 322 for directing the functions of the STB 150 in conjunction with a variety of client applications 325. For example, if a client application 325 requires a news flash from a third-party news source to be displayed on the television 155, the operating system 322 may cause the graphics functionality and video processor of the STB 150, for example, to output the news flash to the television 155 at the direction of the client application 325 responsible for displaying news items.
Because a variety of different operating systems 322 may be utilized by a variety of different brands and types of set-top boxes, a middleware layer 324 is provided to allow a given software application to be executed by a variety of different operating systems. According to an embodiment of the present invention, the middleware layer 324 may include a set of application programming interfaces (API) that are exposed to client applications 325 and operating systems 322 that allow the client applications to communicate with the operating systems through common data calls understood via the API set. As described below, a corresponding middleware layer is included on the server side of the CATV system 300 for facilitating communication between the server-side application server and the client-side STB 150. According to one embodiment of the present invention, the middleware layer 342 of the server-side application server and the middleware layer 324 of the client-side STB 150 format data passed between the client side and server side according to the Extensible Markup Language (XML). As should be appreciated by those skilled in the art, although some embodiments described in this specification are oriented to middleware installed and executed on a STB 150, alternative embodiments implemented as firmware or as hardware are well within the scope of the present invention. As should be appreciated, XML is only one example of data formatting, data passed between the client side and the server side may be formatted according to any other suitable formatting language or standard.
The set-top box 150 passes digital and analog video and data signaling to the television 155 via a one-way communication transport 334. According to another embodiment, bidirectional communication may be accomplished between the STB 105 and the television 120. For example, high-definition multimedia interface (HDMI) ports on the STB 105 and television 120 allow for bidirectional data communications between the devices. The STB 150 may receive video and data from the server side of the CATV system 300 via the HFC network 185 through a video/data downlink and data via a data downlink. The STB 150 may transmit data from the client side of the CATV system 300 to the server side of the CATV system 300 via the HFC network 185 via one data uplink. The video/data downlink is an “in band” downlink that allows for digital and analog video and data signaling from the server side of the CATV system 300 through the HFC network 185 to the set-top box 150 for use by the STB 150 and for distribution to the television set 155. As should be appreciated, functionality of a STB may reside in a stand-alone device, or alternatively, be performed by hardware resident elsewhere, such as within a television or by a suitably equipped terminal device. The “in band” signaling space may operate at a variety of frequencies. According to one embodiment, the “in band” signaling space may operate at a frequency between 54 and 1000 megahertz. The signaling space is generally divided into 6 megahertz channels in which may be transmitted a single analog signal or a greater number (e.g., up to ten) digital signals.
The data downlink and the data uplink, illustrated in
Referring still to
The application server 340 is a general-purpose computing system operative to assemble and manage data sent to and received from the client-side set-top box 150 via the HFC network 185. As described above with reference to the set-top box 150, the application server 340 includes a middleware layer 342 for processing and preparing data from the head end of the CATV system 300 for receipt and use by the client-side set-top box 150. For example, the application server 340 via the middleware layer 342 may obtain data from third-party services 140 via the Internet 125 for transmitting to a customer through the HFC network 185 and the set-top box 150. For example, a weather report from a third-party weather service may be downloaded by the application server via the Internet 125. When the application server 340 receives the downloaded weather report, the middleware layer 342 may be utilized to format the weather report for receipt and use by the set-top box 150. According to one embodiment of the present invention, data obtained and managed by the middleware layer 342 of the application server 340 is formatted according to the Extensible Markup Language and is passed to the set-top box 150 through the HFC network 185 where the XML-formatted data may be utilized by a client application 325 in concert with the middleware layer 324, as described above. As should be appreciated by those skilled in the art, a variety of third-party services data, including news data, weather data, sports data and other information content, may be obtained by the application server 340 via distributed computing environments such as the Internet 125 for provision to customers via the HFC network 185 and the set-top box 150. According to an embodiment of the present invention, digital video recording functionality may be located remotely on the head end (server side) 135 and called upon by a client set-top box 150.
According to embodiments of the present invention, the application server 340 obtains customer profile data from services provider data services 360 for preparing a customer profile that may be utilized by the set-top box 150 for tailoring certain content provided to the customer and for pre-populating product/services order forms and customer lead generation forms. As illustrated in
The customer information database 368 may include general information about customers such as place of employment, business address, business telephone number and demographic information such as age, gender, educational level, and the like. The customer information database may also include information on products and services subscribed to by a customer from her cable services provider. For example, in accordance with embodiments of the present invention, the customer information database may contain data to allow a determination as to whether a particular product or service is already provisioned at a customer service address or whether a work order is pending for a particular product or service provisioning at the customer service address. The customer information database may also include information that allows for a determination as to whether prerequisites for provisioning a requested product of service are met by a requesting customer. For example, if a customer requests electronic mail services and high speed Internet access is a prerequisite for electronic mail services, the customer information database may be queried to determine whether the required Internet access is provisioned at the requesting customer location or address.
As should be understood by those skilled in the art, the disparate data services systems 362, 364, 366, 368 are illustrated as a collection of data services for purposes of example only. The example data services systems comprising the data services 360 may operate as separate data services systems, which communicate with a web services system (described below) along a number of different communication paths and according to a number of different communication protocols
Referring still to
Embodiments of the present invention, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
While certain embodiments of the invention have been described, other embodiments may exist. Furthermore, although embodiments of the present invention have been described as being associated with data stored in memory and other storage mediums, data can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or a CD-ROM, data storage via carrier waves, or other forms of RAM or ROM. Further, the disclosed methods' stages may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the invention.
While the specification includes examples, the invention's scope is indicated by the following claims. Furthermore, while the specification has been described in language specific to structural features and/or methodological acts, the claims are not limited to the features or acts described above. Rather, the specific features and acts described above are disclosed as example for embodiments of the invention.