US20040181593A1 - Method and system for embedded network device installation - Google Patents
Method and system for embedded network device installation Download PDFInfo
- Publication number
- US20040181593A1 US20040181593A1 US10/812,039 US81203904A US2004181593A1 US 20040181593 A1 US20040181593 A1 US 20040181593A1 US 81203904 A US81203904 A US 81203904A US 2004181593 A1 US2004181593 A1 US 2004181593A1
- Authority
- US
- United States
- Prior art keywords
- network device
- content
- network
- message
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims description 64
- 238000009434 installation Methods 0.000 title claims description 15
- 230000008859 change Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 14
- 230000000694 effects Effects 0.000 abstract description 20
- 238000004891 communication Methods 0.000 abstract description 12
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000007935 neutral effect Effects 0.000 abstract description 2
- 239000003795 chemical substances by application Substances 0.000 description 92
- 230000004913 activation Effects 0.000 description 43
- 230000008569 process Effects 0.000 description 37
- 238000007726 management method Methods 0.000 description 26
- 230000002093 peripheral effect Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 19
- 230000003993 interaction Effects 0.000 description 10
- 230000002085 persistent effect Effects 0.000 description 10
- 230000008685 targeting Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000001737 promoting effect Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 208000024780 Urticaria Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- PKOMXLRKGNITKG-UHFFFAOYSA-L calcium;hydroxy(methyl)arsinate Chemical compound [Ca+2].C[As](O)([O-])=O.C[As](O)([O-])=O PKOMXLRKGNITKG-UHFFFAOYSA-L 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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/02—Marketing; Price estimation or determination; Fundraising
Definitions
- CATV coaxial cable television
- Data network communications such as Internet access, have been delivered via the telephone networks through dial-up connections, ISDN (Integrated Services Digital Network), and DSL (Digital Subscriber Line) lines or over hybrid broadcast/data CATV networks, where a portion of the bandwidth transmitted by the coaxial cable is allocated for shared data network functionality using a CSMA/CD-style transmission protocol.
- data connections to the home are provided via satellite links where data are downloaded via the satellite link and uploads are handled through land lines, such as the telephone network.
- Another technique is to transmit data to the home via wireless, CAMA, for example, links.
- the clients or network devices in the residences are personal computers. Typically, they execute application programs such as email clients and browsers that utilize the data network connectivity offered by one of the above techniques.
- the data networks must evolve with deployment of these embedded systems. Where the personal computer can be updated with new network drivers as the network evolves, embedded client systems remain relatively static. Moreover, the process of installation in the residence must be made less complicated so that a network technician is not required every time a new embedded device is connected onto the network.
- the present disclosed system is directed toward a communication and management system that dynamically targets network devices for content deployment, such as application programs, device drivers, configuration files, and registry subhives.
- the present system targets users of network devices for promotions, such as advertisements offered by Internet e-commerce sites.
- Promotions are generally icons or graphic images with links to host web servers overlaying a video display, but also includes audio and video clips or data streams.
- Network devices and their users are targeted through user profiles.
- User profiles are created when network devices register with the system server and are continually updated with information provided by user activity and event logs that are periodically uploaded from each device.
- the present invention implements a scalable messaging system for data transmission between the system server and among the network devices such that it is neutral as to the specific hardware platforms on which it is implemented.
- the present invention concerns a system for driver installation on a network device over a data network.
- the system comprises a system agent that detects an identification message from a peripheral device when attached to the network device. Information concerning this message is then transferred to a system manager.
- the system manager compares the information to a database of driver information and notifies the network device regarding an appropriate driver for the peripheral device. In this way, the system supports changes on the embedded devices.
- the identification message is a plug-and-play string that is generated by the peripheral device, typically when attached to the network device.
- the system agent on the network device, transfers at least part of this string to the system manager.
- the system manager compares the string to a database of strings for supported peripherals.
- the system agent When the appropriate driver for the peripheral is found, the system agent is notified of a location of the driver on the network. Preferably, a bulk download transfer agent then requests download of the file at the location.
- a bulk transfer download manager executing on the server system, answers this request by loading the requested file to the network device.
- the server system maintains a status of the network devices. For example, once the driver has been loaded, the system manager is notified by the network device and updates a database storing a status of the network device.
- the system preferably handles the disconnection of the peripheral at the network device.
- the network device requests uninstallation instructions. This allows the network device to save operating system memory, and to load new peripheral devices if required without restart.
- the system manager provides uninstallation instructions to the network device. Once successful uninstallation of the driver has occurred, the system manager is notified by the system agent. The system manager then updates its database again concerning the status of the network device.
- the invention also features a method for driver installation on a network device over a data network.
- the method comprises the network device detecting an identification message for a peripheral device when attached to the network device.
- the network device transfers information regarding identification of the peripheral device to the server system.
- a system manager of the server system compares the information to a database of driver information to find an appropriate driver.
- the system manager then notifies the network device regarding the appropriate driver for the peripheral devices.
- FIG. 1A is a schematic block diagram depicting a cable network infrastructure in which one embodiment of the present invention functions.
- FIG. 1B is a schematic block diagram depicting a satellite network infrastructure in which another embodiment of the present invention functions.
- FIG. 1C is a schematic block diagram depicting a Digital Subscriber Line (DSL) network infrastructure in which still another embodiment of the present invention functions.
- DSL Digital Subscriber Line
- FIG. 1D is a schematic block diagram depicting a wireless network infrastructure in which another embodiment of the present invention functions.
- FIG. 2A is a block diagram depicting the interaction of the components of the server system and the embedded client system according to the invention.
- FIG. 2B is a process diagram illustrating the interaction between a queue manager and the message router according to the invention.
- FIG. 2C is a process diagram illustrating a process for delivering a message via the message router according to the invention.
- FIG. 3 is a state line diagram illustrating a process for automatically registering a device and generating user profiles for targeting content according to the invention.
- FIG. 4A is a state line diagram illustrating a process for targeting consumers with content (e.g., graphical promotion) and deploying the content to a targeted device according to the invention.
- content e.g., graphical promotion
- FIG. 4B is a process diagram illustrating a process for scheduling activation of content with a predetermined date and time according to the invention.
- FIG. 4C is a process diagram illustrating a process for scheduling activation of content by server activation according to the invention.
- FIG. 4D is a process diagram illustrating a process for event driven activation of content according to the invention.
- FIG. 4E is a block diagram depicting event driven activation involving trigger signals in the video stream according to the invention.
- FIG. 5A is an example of the Document Type Definition used to define the document structure of the user activity and event logs written in XML (Extensible Markup Language) according to the invention.
- FIG. 5B is an example of the representation of events stored in a user activity and event log written in XML according to the invention.
- FIG. 6 is a state line diagram illustrating a process for automatically for updating user profiles through uploading and parsing user activity and event logs according to the invention.
- FIG. 7 is a process diagram illustrating a process for dynamically installing a driver on a network device according to the invention.
- FIG. 8 is a flow diagram showing the uninstallation of the driver on the network device according to the invention.
- the present invention is a communications and management system executing over a data network for targeting content, including promotions, to users of network devices whose attributes match the attributes of a group profile along with maintaining those network devices.
- the system and methods of the present invention can be implemented over a variety of data network infrastructure including cable, satellite, Digital Subscriber Lines (DSL), and wireless networks.
- data network infrastructure including cable, satellite, Digital Subscriber Lines (DSL), and wireless networks.
- DSL Digital Subscriber Lines
- FIG. 1A shows one embodiment of the present invention in which the communications and management system is implemented over a cable network.
- audio and video broadcasts are typically frequency multiplexed with data transmissions on the coaxial cables extending from the head end 50 to the exemplary network devices 80 A, 80 B, 80 C, and 80 D (collectively referred to as 80 ).
- Video content providers 20 as well as Internet content providers 10 deliver their audio/video/data signals to a cable service provider/internet service provider (CSP/ISP) data center 40 .
- the Internet content providers 10 deliver their data to the data center 40 via the Internet 30 .
- video content providers 20 transmit their video signals to the data center 40 via some broadcast medium, such as conventional radio-frequency television broadcasting techniques, or via a digital satellite downlink.
- the CSP/ISP data center 40 transmits the audio/video/data signals to multiple head ends 50 (only one being shown for simplicity of illustration).
- the connection between the data center 40 and the head end 50 is typically a hybrid CATV/data connection, which is supported by an optical fiber infrastructure.
- Part of this infrastructure carries the audio/video signals, which are directed from the data center 40 to the network devices 80 .
- Part of this network also carries the bi-directional data communications associated with network control and internet service provisioning.
- the head end 50 distributes the audio/video/data signals over a cable network of hubs 60 and local nodes 70 to a variety of network devices 80 , such as set-top boxes, web phones, and cable modems.
- Some network devices 80 D such as a web phone, have a built-in video display 310 and speaker system 315 .
- Other network devices 80 C are peripherally attached to a video display device and speaker system such as a television 300 .
- the server system ( 100 A and 100 B, collectively referred to as 100 ), is located at the CSP/ISP data center 40 and the head end 50 of the cable network. Installation of the server system at the data center 40 and the head end 40 allows for scalability.
- the server system 100 A at the data center 40 typically provides centralized management for configuring group profiles and content deployment options, while the server system 100 B at the head end 50 preferably handles the registration, user profile updates, content deployment, and other services among the network devices 80 .
- the server system 100 there are alternative schemes for deploying the server system 100 within the cable network infrastructure depending on the capacity of the server system 100 and number of network devices 80 .
- the server system 100 is deployed at the hub 60 level when the population of devices is sufficiently dense to necessitate such distribution of the communication load.
- FIG. 1B shows an embodiment of the present invention in which the communications and management system is implemented on a satellite network.
- the server system 100 is located at data center 45 .
- the server system 100 transmits data to the network devices 80 via a satellite uplink device 90 to a satellite 93 , which, in turn, transmits the data to a residential satellite downlink dish 95 .
- the data are received by the network devices 80 connected to the downlink feed 97 .
- the network devices 80 transmit data to the server system 100 through a built-in modem, other dial-up device, or a land line system such as ISDN or DSL.
- the modem connects to a central office or point-of-presence (POP) 55 , which, in turn, transmits the return-path data over the Internet 30 to the data center 45 .
- POP point-of-presence
- FIG. 1C shows an embodiment of the present invention in which the communications and management system is implemented on a Digital Subscriber Line (DSL) network.
- the server system 100 is located at data center 45 .
- the server system 100 communicates bi-directionally with the network devices 80 via the Internet 30 or closed network connection, such as frame-relay, to a central office or point-of-presence (POP) 55 .
- the Internet connection between the server system 100 and the central office 55 is over a Virtual Private Network (VPN) providing a private, secure, encrypted connection tunnel.
- VPN Virtual Private Network
- the network devices 80 are connected to the Internet 30 by the central office 55 via Digital Subscriber Lines (DSL).
- DSL Digital Subscriber Lines
- FIG. 1D shows an embodiment of the present invention in which the communications and management system is implemented on a wireless network.
- This environment is similar to the DSL network with the exception that the network devices 80 are connected to the Internet 30 by the central office 55 via wireless, typically CDMA, connections.
- FIG. 2A shows the organization of the server system 100 and the embedded client system 200 interacting to implement the communications and management system.
- the server system 100 includes a management console 110 , a system manager 120 , a data store 130 , a queue manager 140 , a message router 150 , a bulk data transfer manager 160 , and an XML file processor 170 .
- the embedded client system 200 executing in the network devices include a web browser 210 , a system agent 220 , a promotion notification agent 230 , a queue manager 240 , a logging agent, 250 , and a bulk data transfer agent 260 .
- the management console 100 is preferably implemented as a web server.
- the management console 100 is a Microsoft® Internet Information Server (IIS) implementing Active Server Pages (ASP).
- IIS Internet Information Server
- ASP Active Server Pages
- the management console 100 provides, upon request by a system administrator, a web page interface for specifying the content to deploy, the attributes of a group profile that target a market segment of potential consumers, installation information, and criteria for activating the content or displaying the promotions at the network devices.
- the management console 100 Upon submitting the web page, the management console 100 communicates with the system manager 120 , via an Application Programming Interface (API) to store the targeted group profile, activation criteria, and the content and promotions to the data store 130 .
- API Application Programming Interface
- the API is a Microsoft® COM interface.
- Content includes, but is not limited to, applications, device drivers, data files, registry sub-hives, and promotions.
- Promotions are a special type of content that advertise goods and services. Promotions overlay the video display of a network device with a graphic, image, or animated icon that launches a web browser to a host web server in response to the user clicking or selecting it. Promotions also include audio and video clips or data streams. One or more promotions can be displayed on the video display at one time.
- the management console 110 also provides a web page interface to users upon request during the initial registration of their network devices. Users will register through the web page interface, providing data about themselves. Upon submitting the web page, the management console 110 communicates with the system manager 120 , via the COM interface, to store the user data as attributes of a user profile. The attributes of the user profile are associated with the attributes of the group profile in order to target potential consumers who would be interested in the content or promotions.
- the system manager 120 is an application-level process that manages the reading and writing of data to the data store 130 .
- the system manager 120 through its COM interface, allows the management console 110 to store user profiles, content including promotions along with associated group profiles, installation information, and activation criteria.
- the system manager 120 updates the user and group profiles whenever new attributes are received.
- the system manager 120 also interacts with the system agent 220 of the targeted network devices by sending and receiving messages through a messaging protocol.
- the interaction of the system manager 120 and the system agent 220 implement the scheduling of content deployment as well as installation and activation of the content.
- the system manager is implemented as a Microsoft® COM object.
- the queue manager 140 is an application-level process that communicates with the message router 150 on behalf of other processes, such as the system manager 120 , in order to send and receive messages among the embedded client systems 200 .
- the queue manager 140 is implemented as a C++ object.
- the queue manager 140 also manages incoming and outgoing queues on behalf of the other processes in the system server 100 .
- the queue manager 140 handles two types of queues, persistent queues and volatile queues. Messages, whose message type indicates persistent storage, are stored such that the message will not be lost during power outages and lost network connections. A persistent queue is stored in persistent flash memory or in a location on the hard disk of the network device. Other messages, not intended for persistent storage, are stored to volatile queues and might be lost during power outage and lost network connections.
- the data store 130 is a database that stores the attributes of the user profiles, group profiles, content and promotions along with the activation criteria. In addition, the data store 130 stores messages intended for network devices that are unavailable during the initial delivery attempt. The data store provides persistence to the data stored such that the content, profiles, and messages will not be lost during a power outage. In one embodiment, the data store 130 is a Microsoft® SQL version 7 database. Since the data store stores content, it is also known as a content store.
- the bulk data transfer manager 160 is an application-level process that is responsible for the transfer of bulk data to targeted network devices.
- Bulk data include large stream-oriented data, such as a promotions, files, or registry sub-key hives.
- the bulk data transfer manager 160 does not transmit data over the messaging protocol. Instead, it transmits serialized data over a network transport protocol, such as TCP/IP.
- the bulk data transfer manager 160 has access to the data store 130 for transmitting content and promotions.
- the XML File Processor 170 is an application-level process that is responsible for parsing out the user attributes from the raw user activity and event logs and updating the appropriate user profiles.
- the logs are stored as XML files in the data store 130 .
- the system agent 220 is an application-level process that communicates with the system manager 120 handling various request messages and registration. In handling the various request messages, the system agent communicates with the other embedded client system components in order to effect a proper response or behavior.
- the system agent 220 is implemented as a C++ object.
- the queue manager 240 is an application-level process that communicates with the message router 150 on behalf of other processes, such as the system agent 220 , in order to send and receive messages to the system server 100 and other network devices.
- the queue manager 240 is implemented as a C++ object.
- the queue manager 240 also manages incoming and outgoing queues on behalf of the other processes in the embedded client system 200 .
- the queue manager 240 handles two types of queues, persistent queues and volatile queues. Messages, whose message type indicates persistent storage, are stored such that the message will not be lost during power outages and lost network connections. A persistent queue is stored in persistent flash memory or in a location on the hard disk of the network device. Other messages, not intended for persistent storage, are stored to volatile queues and might be lost during power outage and lost network connections.
- the bulk data transfer agent 260 is an application-level process that handles requests from the system agent 220 to either download content and promotions or upload user activity and event logs.
- the bulk data transfer agent 260 communicates with the bulk data transfer manager 160 of the system server 100 over a network transport protocol, such as TCP/IP.
- the bulk data transfer agent 260 notifies the system agent 220 upon completion or failure of the data transfer.
- the system agent 220 is implemented as a C++ object.
- the promotion notification agent 230 is an application-level process that triggers and handles the display of promotions.
- the promotion notification agent 230 overlays the promotion or promotions onto the video signal that gets displayed on a monitor connected to a set-top box or to a web phone display.
- the promotion notification agent 230 coordinates the activation of promotions.
- a promotion notification agent 230 will display the promotion in response to an event, invocation by the system manager 120 , or scheduling information provided with the promotion itself.
- the web browser 210 is an application-level process that displays web pages from web host servers such as the management console 110 of the system server 100 enabling registration of user attributes.
- the logging agent 250 is an application-level component that monitors and logs a variety of user activities and events.
- the logging agent 250 stores the log files in XML format.
- User activities and events that are tracked by the logging agent 250 are channel events, promotion events, power events, peripheral events, and application events.
- Channel events occur whenever the network device stays tuned to a channel for a configurable amount of time.
- Promotion events occur in response to consumer actions taken with respect to promotions displayed on the video display. For example, a promotion event is recorded when the consumer clicks or selects the promotion icon to navigate to the web server hosting the promotion.
- the interaction of the server system 100 and the embedded client system 200 provides a system for targeting and scheduling deployment of promotional content to consumers of a targeted market segment, for managing the activation of the promotional content, and for tracking consumer response to the promotion.
- Application-level processes such as the system manager 120 of the server system and the system agent 220 of the network device, communicate over the data network through messages.
- Messages transfer requests for action, responses to requests, and small data transfers.
- Messages are transported in the payload of a network transport protocol, such as TCP/IP.
- Messages are sent to destinations using a globally unique identifier, GUID, in order to identify the destination network device or application.
- GUID globally unique identifier
- the interaction of the message router 150 with the queue managers of the source and destination processes implements the messaging protocol. Any queue manager whether it is executing on the system server 100 or the embedded client system 200 communicates with the message router 150 in the same manner.
- FIG. 2B illustrates the interaction between a queue manager and the message router 150 according to the invention.
- the system manager 120 when the system manager 120 needs to transmit a message to a system agent 220 , the system manager 120 , in step 1000 , sends the message to the queue manager 140 indicating the message type, a globally unique identifier (i.e., GUID) of the destination device, and the message data.
- GUID globally unique identifier
- step 1002 the queue manager 140 stores the message in a queue for the system manager 120 and then attempts to establish a connection with the message router 150 .
- step 1004 the queue manager 140 determines the IP address of the message router 150 .
- step 1006 the queue manager 140 creates and opens a socket pair connection to the message router 150 for transmitting serialized data.
- step 1008 the queue manager 140 sends a message to the message router 150 indicating that the queue manager 140 is alive and connected and ready to transmit serialized data.
- the queue manager 140 has one of its properties being the location or name of the message router 150 .
- the queue manager 140 determines the IP address of the message router 150 . If the queue manager 140 cannot resolve the IP address of the message router 150 , the queue manager 140 resorts to a broadcasting scheme. The queue manager 140 broadcasts a locator message on its subnet attempting to locate the message router 150 . If there is a message router 150 on that subnet, the message router 150 responds back with its IP address. This address is cached by the queue manager 140 for future connections.
- step 1006 the queue manager 140 , knowing the IP address of the message router 150 , creates and opens a socket pair on predetermined, known ports for transmitting serialized data.
- step 1008 once the socket pair is opened, the queue manager 140 sends a message notifying the message router 150 that the queue manager 140 is alive and connected and has socket pairs on which to read or write serialized data.
- step 1010 the queue manager 140 writes the message for delivery to the message router 150 through the established TCP/IP socket connection
- FIG. 2C illustrates the process of delivering the message once received by the message router 150 .
- the message router 150 Upon completion of the writing of the message, the message router 150 extracts the message type and the destination GUID from the message in step 1012 .
- step 1014 the message router 150 resolves the destination GUID by looking-up the IP address associated with the GUID in the data store 130 .
- step 1016 the message is encapsulated in an IP packet, with the appropriate destination IP address.
- the IP address of the network device becomes known to the system server 100 during initial registration of the network device and is stored as an attribute of the user profile.
- the message router 150 determines the type of the message.
- the message type indicates the quality of service that the message router 150 provides for delivery of the message.
- the message router 150 simply transmits the message in step 1022 .
- the message router 150 will not keep track of whether the message was actually received.
- the message router 150 will transmit the message and wait for an acknowledgment from the destination device in step 1024 .
- step 1029 the message router waits for the network device 80 to become active in order to deliver the message.
- the message router 150 is notified that the network device is active by receiving a message from the network device 80 indicating its active status.
- the message router is notified of the active status of a previously unavailable network device by the system manager 120 which monitors the status of the network devices 80 .
- the message router proceeds back to step 1018 to begin the process of delivery again.
- step 1030 the delivery is complete and the message is removed from the data store 130 if the network device was previously unavailable.
- the server system 100 In order for the server system 100 to target content and promotions to a particular market segment, the server system 100 references its stored user profiles, each user profile being a collection of user and device attributes associated with a network device. All network devices whose user profiles match the attributes of the group profile, targeted by a system administrator, are scheduled for content deployment.
- the system server does not have a user profile for the network device.
- the present invention provides an automated system and method for initially registering and generating a user profile for an network device.
- FIG. 3 is a state line diagram showing the interaction of the server system 100 and the embedded client system 200 for generating an initial user profile for a network device.
- step 1 the system agent 220 of the network device generates and transmits a registration request message containing a number of device attributes to the system manager 120 .
- the device attributes describes the network device and is configured during the manufacturing process of the device itself.
- the network device may be configured with a model number attribute for a particular group of network devices, such as intelligent set-top boxes, version 1.0.
- step 2 the system manager 120 receives the registration request message and, in response, retrieves a globally unique identifier, GUID, from an available pool of GUIDs stored in the data store 130 .
- GUID globally unique identifier
- step 3 the system manager 120 generates and transmits a registration response message containing the assigned GUID to the system agent 220 of the registering device.
- the assigned GUID is used by the network device to identify itself in messages transmitted to the system server 100 and to other network devices.
- the assigned GUID is also used by the system server 100 to associate the network device with a user profile within the data store 130 .
- step 4 the system agent 220 launches a web browser 210 .
- the web browser 210 transmits an HTTP request to the URL (Uniform Resource Locator) of the management console 110 for a registration web page.
- the assigned GUID is included in the URL string in order to identify the registering network device.
- step 5 the management console 110 receives the HTTP request.
- the management console 110 makes a call via the COM interface of the system manager 120 to retrieve the device and user attributes, if any, associated with the GUID of the registering network device.
- the management console 110 generates the registration web page customized for the registering network device.
- the web page is transmitted via HTTP to the web browser 210 .
- step 6 the web browser 210 displays the registration web page wherein the user submits information which will be used to generate a user profile of user attributes associated with the network device.
- information includes, but is not limited to, name and address information, channels frequently watched, requests for installation of optional value-add services and applications, and various demographic and personal information.
- the web browser 210 Upon submitting the registration data, the web browser 210 transmits the user attributes, represented as HTML data via HTTP, to the management console 110 .
- step 7 the management console 110 interprets the HTML data stream and makes calls via the COM interface of the system manager 120 to update the user profiles in the data store 130 with the provided user attributes.
- step 8 the system manager 120 updates the user profile of the registering network device with the user attributes on the data store 130 . After updating the user profile, the system manager 120 associates the user profile with group profiles whose attributes match user attributes of the user profile.
- the user profile will be added to the group profile for network devices with the same model number attribute.
- the user profile is added to any number of group profiles that target particular attributes of the registered user or network device. These group profiles are used by the system manager 120 for targeting consumers of particular market segments for various e-commerce promotions or application services.
- the device is capable of being targeted for deployment of content or promotions.
- FIG. 4A is a state line diagram showing the interaction of the server system and the embedded client system for deployment of content and promotions to a network device. Deployment includes, but is not limited to, downloading and installing.
- the content Before content can be deployed to a targeted device, the content must be stored in the data store 130 along with a group profile and an activation schedule.
- the group profile indicates the attributes of network devices to target.
- the activation schedule indicates when to activate the content or promotions. Activation can be event driven, scheduled from the system server 100 , or initiated by the system manager 120 .
- a system administrator with access to the management console 110 populates a server-based web page indicating the content to deploy as well as the criteria with which to define the group profile. Additionally, the system administrator indicates when to activate the content.
- the management console 110 Upon submitting the data, the management console 110 makes a call to the COM interface of the system manager 120 to generate a group profile in the data store 130 with user profiles whose attributes match the criteria defined by the system administrator.
- step 2 the system manager 120 updates the data store 130 creating the group profile and populating the group profile with user profiles with matching attributes.
- step 3 the management console 110 make a call through the COM interface of the system manager 120 to download the content or promotion to the data store 130 .
- step 4 the system manager 120 writes the content to the data store 130 .
- the system manager 120 is configured to schedule deployment of content during off-peak hours when bandwidth utilization is typically at a minimum. For example, during the hours of 3:00 AM and 5:00 AM, more bandwidth is available for efficient deployment of content and promotions. Alternatively, the system manager 120 monitors network utilization and is configured to schedule deployment of content when the detected bandwidth utilization falls below a predetermined level.
- step 5 the system manager 120 sends a download and install request message to each of the system agents 220 of the network devices whose user attributes match the attributes of the group profile.
- the download and install message informs the system agent 220 to download install the content or promotion referenced by a GUID.
- the system manager 120 sends a download, install, and start request message which indicates, in addition, when or under what event conditions the content should be activated (i.e. promotion displayed or an application launched).
- step 6 the system agent 220 makes a C++ object method call to the bulk data transfer agent 260 to download the content having the provided GUID.
- step 7 the bulk data transfer agent 260 sets up a TCP/IP socket connection to the bulk data transfer manager 160 of the server system to initiate the delivery of the application.
- step 8 the bulk data transfer manager 160 delivers the requested content to the bulk data transfer agent 260 through the TCP/IP socket connection.
- the bulk data transfer agent 260 and the bulk data transfer manager 160 can detect that a connection was broken and will continue the download the content from the point in the transfer where the break occurred.
- step 9 the bulk data transfer agent 260 notifies the system agent 220 the result of the data transfer via an C++ object method call.
- step 10 the system agent 220 sends a message to the system manager 120 indicating the result of the data transfer.
- the present invention provides a system and method for activating that content. Activation allows the user to interact with the installed content, such as playing a game or initiating an e-commerce transaction.
- Scheduled activation allows the system administrator to specify when to activate the content
- event driven activation allows the system administrator to specify an event which triggers the activation of the content.
- Scheduled activation is implemented in two ways, predetermined scheduling and activation by the system server.
- FIG. 4B illustrates the steps associated with content activation via predetermined scheduling.
- Predetermined scheduling based upon date and time provides the most autonomy to the network device. After the content is deployed, the network device simply waits for the specified date and time to arrive, at which time it displays the content.
- step 1110 when the group profiles are configured and the content is downloaded to the data store 130 , the system administrator also specifies the date and time to activate the content. Where the content is a promotion, a duration period is specified along with the activation date and time.
- step 1112 the system manager 120 sends the download, install, and start request message to the system agent 220 of a targeted network device.
- the message indicates the date and time to activate the installed content.
- the system agent 220 waits for the specified activation date and time in step 1116 .
- step 1118 the content is activated by the system agent 220 at the specified date and time.
- the system agent 220 transfers the predetermined date, time, and duration to the promotion notification agent 230 in step 1120 .
- step 1122 the promotion notification agent 230 waits for the specified activation date and time.
- step 1124 the promotion is activated by the promotion notification agent 230 at the specified activation date and time.
- the promotion notification agent 230 overlays the promotion on a portion of the video display built-in or attached to the network device. If the promotion is audio clip or data stream, the audio is played through a speaker built-in or attached to the network device. If the promotion is a video clip or data stream, the video overlays a portion of the video display built-in or attached to the network device.
- FIG. 4C illustrates the steps associated with server activation of content.
- Server activation of content allows control to reside at the server system 100 , therefore, maximizing the control by the institution operating the server system 100 .
- the content is installed on the network device in step 1210 with no activation information.
- step 1212 the system agent 220 waits for a start message from the system server 100 .
- step 1214 upon request of the system administrator, the system manager 120 sends a start message to the system agent 220 specifying the installed content to activate.
- the system agent activates the content in response to receiving the message in step 1218 . This may include, but not limited to, launching an application installed within the network device.
- the system agent 220 notifies the promotion notification agent 230 via a C++ object method call to activate the specified promotion in step 1220 .
- step 1222 the promotion is activated by the promotion notification agent 230 .
- Event driven activation is particularly suited for coordinating the activation of content with a particular event or a particular moment in a corresponding analog and/or digital video stream.
- Event activation has advantages associated with high scalability.
- the content can be loaded in the days or weeks preceding the general time period when it is to be displayed.
- events that trigger content activation are channel events, power events, and peripheral events.
- a power event is an event relating to the power supply, such as the network device being powered on or off.
- a peripheral event is an event relating to peripheral devices being connected or disconnected from the network device, such as a joy stick or other gaming console.
- a channel event is an event relating to the channel being watched by the user.
- FIG. 4D illustrates the steps associated with event driven activation according to the invention.
- step 1310 when the group profiles are configured and the content is downloaded to the data store 130 , the system administrator also specifies an event map.
- An event map associates events to content indicating when to activate the content. Where the content is a promotion, a duration period is specified as well.
- step 1312 the system manager 120 sends the event map in a message, such as a download, install, and start message, to the system agent 220 of a targeted network device.
- a message such as a download, install, and start message
- the system agent 220 waits for the specified event or events that trigger the activation of the content in step 1316 .
- step 1318 the system agent 220 activates the content when the specified event or events occur.
- the system agent 220 transfers the event map to the promotion notification agent 230 in step 1320 .
- step 1322 the promotion notification agent 230 waits for the specified event or events to occur.
- step 1324 the promotion notification agent 230 activates the promotions associated with the event or events that occurred.
- An example of event driven activation is where the event map provides for the activation of promotions involving sporting goods when the potential consumer has been watching a particular sports channel for a period of time.
- the watching of the sports channel for a period of time triggers a channel event.
- the channel event triggers the activation of the promotion or promotions.
- the present invention provides an additional implementation of event driven activation involving technology from ATVEF (Advanced Television Enhancement Forum).
- ATVEF provides a standard for embedding HTML tags within a video signal.
- the promotion content agent 230 monitors the video signal for the embedded triggers, such as the HTML tag.
- the capture of this embedded trigger causes the activation of one or more promotions in real-time coinciding with the video signal.
- Such a system has advantages in that very little video signal editing is required. Only a small trigger has to be embedded in the video signal, requiring little analog video editing capabilities at the data center.
- the content is simultaneously activated on all of the network devices allowing high levels of synchronization to the video signal.
- the promotion can be synchronized to occur during a television commercial.
- the provider of the commercial simply embeds an initialization or start HTML tag within its video signal.
- the promotion notification agent 230 activates the appropriate promotion or promotions specified in the event map for that HTML tag.
- FIG. 4E shows one embodiment of this system on a conventional set-top box 80 for an analog or an analog/digital video display device such as a television 300 .
- the data and audio/video stream is received by the set-top box 80 .
- This data audio/video stream is received from the head end 50 via the hub 60 .
- the promotion content agent 230 of the embedded client system 200 monitors the video stream for the embedded trigger signal. When the trigger signal is detected, the promotion content agent 230 inserts the associated graphical promotion content indicated in the event map into the analog or digital video stream to the display 310 of the television 300 . As a result, the promotion 320 appears on the display screen 310 , overlaying the video.
- a selecting device such as a remote control device, sends a URL to the web browser 210 bringing the browser window to the forefront of the display 310 of the television 300 .
- a selecting device such as a remote control device
- the present invention includes a system and method for updating user profiles through uploading distributed user activity and event logs to the system server 100 , parsing out the user and device attributes from the logs, and updating the user profiles in the data store 130 .
- the logs provide useful information, because the logs track a variety of information which the system can use in order to more accurately target users for content and promotional deployment.
- the logs track channel events and e-commerce transactions initiated through the display of promotions.
- the logs track peripheral events, such as the addition of a joystick and console for gaming purposes, power events, application events, and promotion events. Continuous updating of user profiles through this system and method improves the targeting of consumers for content deployment, and in particular, for promotional content deployment.
- the network device includes a logging component 250 that monitors and logs user activity and events in an generic file format.
- the logging component 250 monitors user activity at a user interface device such as the television remote channel control.
- the generic file format is Extensible Markup Language (XML).
- XML Extensible Markup Language
- the format of the log files, using XML, correspond to the structure of the user profiles in the data store 130 . This allows for processing of the logs in an automated fashion.
- the user activity and event logs include a description of the structure of the document itself.
- the description of the structure of the document is the Document Type Definition (DTD).
- DTD Document Type Definition
- FIG. 5A is an example of a DTD for an event log where each event that occurs is recorded with the GUID of the device, the time of the event, the event type, and a description of the event.
- FIG. 5B is an example of an event log written in XML using the DTD of FIG. 5A.
- the event log contains two events, stored in the structure described by the DTD.
- FIG. 5B demonstrates how a channel event and an application event are described within this log.
- the uploading and parsing of these user activity and event logs will provide additional user attributes for targeting consumers including information regarding responses to prior promotions. If the logs indicate that a user is interested in a particular type of promotion, the system server modifies the user attributes of his user profile such that they match the attributes of a group profile associated with that type of promotion.
- FIG. 6 is a state line diagram showing the interaction of the server system 100 and the embedded client system 200 for updating user profiles through the upload and parsing of user activity and event logs.
- step 1 the system manager 120 sends a message to the system agent 220 to upload its activity logs to the server system.
- step 2 the system agent 220 makes a C++ object method call to the bulk data transfer agent 260 to upload the user activity and event logs.
- step 3 the bulk data transfer agent 260 sets up a TCP/IP socket connection to the bulk data transfer manager 160 of the server system to initiate the delivery of the logs.
- step 4 the bulk data transfer agent 260 delivers the logs to the bulk data transfer manager 160 through the TCP/IP socket connection where they are stored in the data store 130 .
- the bulk data transfer agent 260 and the bulk data transfer manager 260 can detect that a connection was broken and will continue the download the content from the point in the transfer where the break occurred.
- step 5 the bulk data transfer agent 260 notifies the system agent 220 the result of the data transfer via a C++ object method call.
- step 6 the system agent 220 sends a message to the system manager 120 indicating the result of the data transfer.
- step 7 the system manager 120 makes a call to the XML file processor 170 to update the user profiles from the user activity and event logs.
- step 8 an XML file processor 170 at the server system parses the logs stored on the database and updates the user attributes of the user profile of the network device. This system and method for scheduling remote uploads of the user activity and event logs provides improves the efficiency for targeting consumers for content and promotion.
- the present invention provides a system and method by which the network device notifies the server system 100 of a change to its hardware configuration and, in return, receives the appropriate device drivers to support the new hardware configuration.
- FIG. 7 shows the dynamic installation of device drivers on the network device according to the present invention.
- the dynamic driver installation process is triggered when the user installs a peripheral device on a network device for which the network device requires a driver.
- the process occurs when the user plugs in a peripheral device such as a joy stick into a port such as a serial port or USB (universal serial bus) port.
- step 1002 the system agent 220 intercepts the plug and play string from the peripheral device when it is attached to the USB port.
- step 1004 the system agent 220 then sends this plug and play string to the system manager 120 via the message router 150 and the queue managers along the path between the system agent 220 and the system manager 120 .
- step 1006 the system manager 220 then searches for a matching driver in its data store 130 . Specifically, it compares the plug and play string received from the network device to plug and play strings of supported operating systems and supporting peripheral devices for which drivers are available.
- step 1008 assuming the valid device driver has been located, the system manager 120 sends a message to the system agent 220 to download the driver providing its location in the data store 130 .
- step 1010 the system agent requests the bulk data transfer agent 260 on the network device to download the driver.
- the bulk data transfer agent 260 then contacts the bulk data transfer manager 160 and downloads and stores the device driver on the network device.
- the system manager 120 instructs the system agent 220 on how to install the device driver on the network device.
- step 1012 in the typical implementation, the device driver is dynamically loaded onto the network device.
- step 1014 when the driver has been successfully installed, the system agent 220 notifies the system manager 120 .
- the system manager updates the status of the network device in the system manager's data store 130 .
- FIG. 8 illustrates the mirror process in which the peripheral device driver is uninstalled.
- step 1016 the system agent 220 is notified when the peripheral is disconnected by the user from the network device.
- step 1018 the system agent 220 then requests an uninstall program from the system manager 120 .
- step 1020 typically, the bulk data transfer agent 260 obtains the uninstalled program from the bulk data transfer manager 160 .
- step 1022 the driver is then uninstalled.
- step 1024 upon the successful uninstall, the system agent 220 notifies the system manager 120 that the driver has been installed and the system manager 120 updates the network device's status.
Abstract
The present disclosed system is directed toward a communication and management system that dynamically targets network devices for content deployment, such as application programs, device drivers, configuration files, and registry subhives. Moreover, the present system targets users of network devices for promotions, such as advertisements offered by Internet e-commerce sites. Promotions are generally icons or graphic images with links to host web servers overlaying a video display, but also includes audio and video clips or data streams. Network devices and their users are targeted through user profiles. User profiles are created when network devices register with the system server and are continually updated with information provided by user activity and event logs that are periodically uploaded from each device. The present system implements a scalable messaging system for data transmission between the system server and among the network devices such that it is neutral as to the specific hardware platforms on which it is implemented.
Description
- This application is a continuation of U.S. application Ser. No. 09/515,032, filed Mar. 6, 2000, which claims the benefit of U.S. Provisional Application No. 60/185,202, filed on Feb. 25, 2000. The entire teachings of the above applications are incorporated herein by reference.
- Generally, under the current state of technology and in the past, television has been delivered to the residential home either through radio-frequency broadcasts, satellite downlink, or over coaxial cable television (CATV) network. Data network communications, such as Internet access, have been delivered via the telephone networks through dial-up connections, ISDN (Integrated Services Digital Network), and DSL (Digital Subscriber Line) lines or over hybrid broadcast/data CATV networks, where a portion of the bandwidth transmitted by the coaxial cable is allocated for shared data network functionality using a CSMA/CD-style transmission protocol. Less commonly, data connections to the home are provided via satellite links where data are downloaded via the satellite link and uploads are handled through land lines, such as the telephone network. Another technique is to transmit data to the home via wireless, CAMA, for example, links.
- Almost universally, the clients or network devices in the residences are personal computers. Typically, they execute application programs such as email clients and browsers that utilize the data network connectivity offered by one of the above techniques.
- The trend, however, is towards a more ubiquitous computing model where the network devices in the home will be embedded systems designed for a particular function or purpose. This has already occurred to some degree. Today, for example, CATV network set-top boxes typically have limited data communication capabilities. Their main function is to handle channel access issues between residential users and a server on the cable TV network.
- In the future, the functionality offered by these set-top boxes or other embedded platforms, such as a game system, will be expanded. For example, they may offer Internet browsing capabilities and e-commerce serving capabilities. Moreover, it is anticipated that common-household appliances will also have network functionality, in which they will be attached to the network to automate various tasks.
- The data networks must evolve with deployment of these embedded systems. Where the personal computer can be updated with new network drivers as the network evolves, embedded client systems remain relatively static. Moreover, the process of installation in the residence must be made less complicated so that a network technician is not required every time a new embedded device is connected onto the network.
- As the ubiquitous computing model is deployed, many of the network devices installed on the data networks will be embedded devices, as opposed to the more complex systems such as personal computers. This has advantages in that embedded devices tend to be more stable due to stable configuration and operating systems.
- The disadvantage, however, is in the flexibility of the network devices. It is more difficult for those systems to be adapted to changes in configuration or changes to the network. As a result, the network infrastructure must be more intelligent to maintain these embedded devices.
- One issue that arises involves driver installation. Many times a peripheral device is connected to an embedded device. It would be desirable if the network could handle the installation of the drivers necessary to enable the network device to use the peripheral.
- The present disclosed system is directed toward a communication and management system that dynamically targets network devices for content deployment, such as application programs, device drivers, configuration files, and registry subhives.
- Moreover, the present system targets users of network devices for promotions, such as advertisements offered by Internet e-commerce sites. Promotions are generally icons or graphic images with links to host web servers overlaying a video display, but also includes audio and video clips or data streams.
- Network devices and their users are targeted through user profiles. User profiles are created when network devices register with the system server and are continually updated with information provided by user activity and event logs that are periodically uploaded from each device.
- The present invention implements a scalable messaging system for data transmission between the system server and among the network devices such that it is neutral as to the specific hardware platforms on which it is implemented.
- In general, according to one aspect, the present invention concerns a system for driver installation on a network device over a data network. The system comprises a system agent that detects an identification message from a peripheral device when attached to the network device. Information concerning this message is then transferred to a system manager. The system manager compares the information to a database of driver information and notifies the network device regarding an appropriate driver for the peripheral device. In this way, the system supports changes on the embedded devices.
- In general, according to one aspect, the identification message is a plug-and-play string that is generated by the peripheral device, typically when attached to the network device. The system agent, on the network device, transfers at least part of this string to the system manager. The system manager then compares the string to a database of strings for supported peripherals.
- When the appropriate driver for the peripheral is found, the system agent is notified of a location of the driver on the network. Preferably, a bulk download transfer agent then requests download of the file at the location. A bulk transfer download manager, executing on the server system, answers this request by loading the requested file to the network device.
- Preferably, the server system maintains a status of the network devices. For example, once the driver has been loaded, the system manager is notified by the network device and updates a database storing a status of the network device.
- Further, the system preferably handles the disconnection of the peripheral at the network device. Preferably, when the peripheral is disconnected, the network device requests uninstallation instructions. This allows the network device to save operating system memory, and to load new peripheral devices if required without restart. Preferably, the system manager provides uninstallation instructions to the network device. Once successful uninstallation of the driver has occurred, the system manager is notified by the system agent. The system manager then updates its database again concerning the status of the network device.
- In general, according to another aspect, the invention also features a method for driver installation on a network device over a data network. The method comprises the network device detecting an identification message for a peripheral device when attached to the network device. The network device transfers information regarding identification of the peripheral device to the server system. A system manager of the server system compares the information to a database of driver information to find an appropriate driver. The system manager then notifies the network device regarding the appropriate driver for the peripheral devices.
- The above and other features of the invention including various novel details of construction and combinations of parts, and other advantages, will now be more particularly described with reference to the accompanying drawings and pointed out in the claims. It will be understood that the particular method and device embodying the invention are shown by way of illustration and not as a limitation of the invention. The principles and features of this invention may be employed in various and numerous embodiments without departing from the scope of the invention.
- In the accompanying drawings, reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale; emphasis has instead been placed upon illustrating the principles of the invention. Of the drawings:
- FIG. 1A is a schematic block diagram depicting a cable network infrastructure in which one embodiment of the present invention functions.
- FIG. 1B is a schematic block diagram depicting a satellite network infrastructure in which another embodiment of the present invention functions.
- FIG. 1C is a schematic block diagram depicting a Digital Subscriber Line (DSL) network infrastructure in which still another embodiment of the present invention functions.
- FIG. 1D is a schematic block diagram depicting a wireless network infrastructure in which another embodiment of the present invention functions.
- FIG. 2A is a block diagram depicting the interaction of the components of the server system and the embedded client system according to the invention.
- FIG. 2B is a process diagram illustrating the interaction between a queue manager and the message router according to the invention.
- FIG. 2C is a process diagram illustrating a process for delivering a message via the message router according to the invention.
- FIG. 3 is a state line diagram illustrating a process for automatically registering a device and generating user profiles for targeting content according to the invention.
- FIG. 4A is a state line diagram illustrating a process for targeting consumers with content (e.g., graphical promotion) and deploying the content to a targeted device according to the invention.
- FIG. 4B is a process diagram illustrating a process for scheduling activation of content with a predetermined date and time according to the invention.
- FIG. 4C is a process diagram illustrating a process for scheduling activation of content by server activation according to the invention.
- FIG. 4D is a process diagram illustrating a process for event driven activation of content according to the invention.
- FIG. 4E is a block diagram depicting event driven activation involving trigger signals in the video stream according to the invention.
- FIG. 5A is an example of the Document Type Definition used to define the document structure of the user activity and event logs written in XML (Extensible Markup Language) according to the invention.
- FIG. 5B is an example of the representation of events stored in a user activity and event log written in XML according to the invention.
- FIG. 6 is a state line diagram illustrating a process for automatically for updating user profiles through uploading and parsing user activity and event logs according to the invention.
- FIG. 7 is a process diagram illustrating a process for dynamically installing a driver on a network device according to the invention.
- FIG. 8 is a flow diagram showing the uninstallation of the driver on the network device according to the invention.
- The present invention is a communications and management system executing over a data network for targeting content, including promotions, to users of network devices whose attributes match the attributes of a group profile along with maintaining those network devices.
- The system and methods of the present invention can be implemented over a variety of data network infrastructure including cable, satellite, Digital Subscriber Lines (DSL), and wireless networks.
- FIG. 1A shows one embodiment of the present invention in which the communications and management system is implemented over a cable network. In this environment, audio and video broadcasts are typically frequency multiplexed with data transmissions on the coaxial cables extending from the
head end 50 to theexemplary network devices -
Video content providers 20 as well as Internet content providers 10 (i.e. host web servers) deliver their audio/video/data signals to a cable service provider/internet service provider (CSP/ISP)data center 40. TheInternet content providers 10 deliver their data to thedata center 40 via theInternet 30. Typically,video content providers 20 transmit their video signals to thedata center 40 via some broadcast medium, such as conventional radio-frequency television broadcasting techniques, or via a digital satellite downlink. - The CSP/
ISP data center 40 transmits the audio/video/data signals to multiple head ends 50 (only one being shown for simplicity of illustration). The connection between thedata center 40 and thehead end 50 is typically a hybrid CATV/data connection, which is supported by an optical fiber infrastructure. Part of this infrastructure carries the audio/video signals, which are directed from thedata center 40 to thenetwork devices 80. Part of this network also carries the bi-directional data communications associated with network control and internet service provisioning. - The
head end 50 distributes the audio/video/data signals over a cable network ofhubs 60 andlocal nodes 70 to a variety ofnetwork devices 80, such as set-top boxes, web phones, and cable modems. Somenetwork devices 80D, such as a web phone, have a built-invideo display 310 andspeaker system 315.Other network devices 80C are peripherally attached to a video display device and speaker system such as atelevision 300. - In one embodiment of the present invention, the server system (100A and 100B, collectively referred to as 100), is located at the CSP/
ISP data center 40 and thehead end 50 of the cable network. Installation of the server system at thedata center 40 and thehead end 40 allows for scalability. Theserver system 100A at thedata center 40 typically provides centralized management for configuring group profiles and content deployment options, while theserver system 100B at thehead end 50 preferably handles the registration, user profile updates, content deployment, and other services among thenetwork devices 80. - There are alternative schemes for deploying the
server system 100 within the cable network infrastructure depending on the capacity of theserver system 100 and number ofnetwork devices 80. For example, theserver system 100 is deployed at thehub 60 level when the population of devices is sufficiently dense to necessitate such distribution of the communication load. - FIG. 1B shows an embodiment of the present invention in which the communications and management system is implemented on a satellite network. In this environment, the
server system 100 is located atdata center 45. - The
server system 100 transmits data to thenetwork devices 80 via asatellite uplink device 90 to asatellite 93, which, in turn, transmits the data to a residentialsatellite downlink dish 95. The data are received by thenetwork devices 80 connected to thedownlink feed 97. - For the return, upload, path, the
network devices 80 transmit data to theserver system 100 through a built-in modem, other dial-up device, or a land line system such as ISDN or DSL. The modem connects to a central office or point-of-presence (POP) 55, which, in turn, transmits the return-path data over theInternet 30 to thedata center 45. - FIG. 1C shows an embodiment of the present invention in which the communications and management system is implemented on a Digital Subscriber Line (DSL) network. In this environment, the
server system 100 is located atdata center 45. - The
server system 100 communicates bi-directionally with thenetwork devices 80 via theInternet 30 or closed network connection, such as frame-relay, to a central office or point-of-presence (POP) 55. In one embodiment, the Internet connection between theserver system 100 and thecentral office 55 is over a Virtual Private Network (VPN) providing a private, secure, encrypted connection tunnel. - The
network devices 80 are connected to theInternet 30 by thecentral office 55 via Digital Subscriber Lines (DSL). - FIG. 1D shows an embodiment of the present invention in which the communications and management system is implemented on a wireless network. This environment is similar to the DSL network with the exception that the
network devices 80 are connected to theInternet 30 by thecentral office 55 via wireless, typically CDMA, connections. - FIG. 2A shows the organization of the
server system 100 and the embeddedclient system 200 interacting to implement the communications and management system. - In brief overview, the
server system 100 includes amanagement console 110, asystem manager 120, adata store 130, aqueue manager 140, amessage router 150, a bulkdata transfer manager 160, and anXML file processor 170. The embeddedclient system 200 executing in the network devices include aweb browser 210, asystem agent 220, apromotion notification agent 230, aqueue manager 240, a logging agent, 250, and a bulkdata transfer agent 260. - In more detail, the
management console 100 is preferably implemented as a web server. In one embodiment of the present invention, themanagement console 100 is a Microsoft® Internet Information Server (IIS) implementing Active Server Pages (ASP). - The
management console 100 provides, upon request by a system administrator, a web page interface for specifying the content to deploy, the attributes of a group profile that target a market segment of potential consumers, installation information, and criteria for activating the content or displaying the promotions at the network devices. Upon submitting the web page, themanagement console 100 communicates with thesystem manager 120, via an Application Programming Interface (API) to store the targeted group profile, activation criteria, and the content and promotions to thedata store 130. In one embodiment the API is a Microsoft® COM interface. - Content includes, but is not limited to, applications, device drivers, data files, registry sub-hives, and promotions. Promotions are a special type of content that advertise goods and services. Promotions overlay the video display of a network device with a graphic, image, or animated icon that launches a web browser to a host web server in response to the user clicking or selecting it. Promotions also include audio and video clips or data streams. One or more promotions can be displayed on the video display at one time.
- The
management console 110 also provides a web page interface to users upon request during the initial registration of their network devices. Users will register through the web page interface, providing data about themselves. Upon submitting the web page, themanagement console 110 communicates with thesystem manager 120, via the COM interface, to store the user data as attributes of a user profile. The attributes of the user profile are associated with the attributes of the group profile in order to target potential consumers who would be interested in the content or promotions. - The
system manager 120 is an application-level process that manages the reading and writing of data to thedata store 130. Thesystem manager 120, through its COM interface, allows themanagement console 110 to store user profiles, content including promotions along with associated group profiles, installation information, and activation criteria. In addition, thesystem manager 120 updates the user and group profiles whenever new attributes are received. - The
system manager 120 also interacts with thesystem agent 220 of the targeted network devices by sending and receiving messages through a messaging protocol. The interaction of thesystem manager 120 and thesystem agent 220 implement the scheduling of content deployment as well as installation and activation of the content. In one embodiment, the system manager is implemented as a Microsoft® COM object. - The
queue manager 140 is an application-level process that communicates with themessage router 150 on behalf of other processes, such as thesystem manager 120, in order to send and receive messages among the embeddedclient systems 200. In one embodiment, thequeue manager 140 is implemented as a C++ object. Thequeue manager 140 also manages incoming and outgoing queues on behalf of the other processes in thesystem server 100. - The
queue manager 140 handles two types of queues, persistent queues and volatile queues. Messages, whose message type indicates persistent storage, are stored such that the message will not be lost during power outages and lost network connections. A persistent queue is stored in persistent flash memory or in a location on the hard disk of the network device. Other messages, not intended for persistent storage, are stored to volatile queues and might be lost during power outage and lost network connections. - The
data store 130 is a database that stores the attributes of the user profiles, group profiles, content and promotions along with the activation criteria. In addition, thedata store 130 stores messages intended for network devices that are unavailable during the initial delivery attempt. The data store provides persistence to the data stored such that the content, profiles, and messages will not be lost during a power outage. In one embodiment, thedata store 130 is a Microsoft® SQL version 7 database. Since the data store stores content, it is also known as a content store. - The bulk
data transfer manager 160 is an application-level process that is responsible for the transfer of bulk data to targeted network devices. Bulk data include large stream-oriented data, such as a promotions, files, or registry sub-key hives. The bulkdata transfer manager 160 does not transmit data over the messaging protocol. Instead, it transmits serialized data over a network transport protocol, such as TCP/IP. The bulkdata transfer manager 160 has access to thedata store 130 for transmitting content and promotions. - The
XML File Processor 170 is an application-level process that is responsible for parsing out the user attributes from the raw user activity and event logs and updating the appropriate user profiles. In one embodiment, the logs are stored as XML files in thedata store 130. - In more detail of the embedded
client system 200, thesystem agent 220 is an application-level process that communicates with thesystem manager 120 handling various request messages and registration. In handling the various request messages, the system agent communicates with the other embedded client system components in order to effect a proper response or behavior. In one embodiment, thesystem agent 220 is implemented as a C++ object. - As in the system server, the
queue manager 240 is an application-level process that communicates with themessage router 150 on behalf of other processes, such as thesystem agent 220, in order to send and receive messages to thesystem server 100 and other network devices. In one embodiment, thequeue manager 240 is implemented as a C++ object. Thequeue manager 240 also manages incoming and outgoing queues on behalf of the other processes in the embeddedclient system 200. - The
queue manager 240 handles two types of queues, persistent queues and volatile queues. Messages, whose message type indicates persistent storage, are stored such that the message will not be lost during power outages and lost network connections. A persistent queue is stored in persistent flash memory or in a location on the hard disk of the network device. Other messages, not intended for persistent storage, are stored to volatile queues and might be lost during power outage and lost network connections. - The bulk
data transfer agent 260 is an application-level process that handles requests from thesystem agent 220 to either download content and promotions or upload user activity and event logs. The bulkdata transfer agent 260 communicates with the bulkdata transfer manager 160 of thesystem server 100 over a network transport protocol, such as TCP/IP. The bulkdata transfer agent 260 notifies thesystem agent 220 upon completion or failure of the data transfer. In one embodiment, thesystem agent 220 is implemented as a C++ object. - The
promotion notification agent 230 is an application-level process that triggers and handles the display of promotions. Thepromotion notification agent 230 overlays the promotion or promotions onto the video signal that gets displayed on a monitor connected to a set-top box or to a web phone display. Thepromotion notification agent 230 coordinates the activation of promotions. Apromotion notification agent 230 will display the promotion in response to an event, invocation by thesystem manager 120, or scheduling information provided with the promotion itself. - The
web browser 210 is an application-level process that displays web pages from web host servers such as themanagement console 110 of thesystem server 100 enabling registration of user attributes. - The
logging agent 250 is an application-level component that monitors and logs a variety of user activities and events. In one embodiment, thelogging agent 250 stores the log files in XML format. User activities and events that are tracked by thelogging agent 250 are channel events, promotion events, power events, peripheral events, and application events. - Channel events occur whenever the network device stays tuned to a channel for a configurable amount of time. Promotion events occur in response to consumer actions taken with respect to promotions displayed on the video display. For example, a promotion event is recorded when the consumer clicks or selects the promotion icon to navigate to the web server hosting the promotion.
- The interaction of the
server system 100 and the embeddedclient system 200 provides a system for targeting and scheduling deployment of promotional content to consumers of a targeted market segment, for managing the activation of the promotional content, and for tracking consumer response to the promotion. - Application-level processes, such as the
system manager 120 of the server system and thesystem agent 220 of the network device, communicate over the data network through messages. - Messages transfer requests for action, responses to requests, and small data transfers. Messages are transported in the payload of a network transport protocol, such as TCP/IP. Messages are sent to destinations using a globally unique identifier, GUID, in order to identify the destination network device or application. This messaging protocol allows application-level processes to transmit data without knowing about the network transport interface, the device's network address, or whether the device is active on the data network.
- The interaction of the
message router 150 with the queue managers of the source and destination processes implements the messaging protocol. Any queue manager whether it is executing on thesystem server 100 or the embeddedclient system 200 communicates with themessage router 150 in the same manner. - FIG. 2B illustrates the interaction between a queue manager and the
message router 150 according to the invention. For example, when thesystem manager 120 needs to transmit a message to asystem agent 220, thesystem manager 120, instep 1000, sends the message to thequeue manager 140 indicating the message type, a globally unique identifier (i.e., GUID) of the destination device, and the message data. The details on how a network device obtains a GUID is described later with reference to FIG. 3. - In
step 1002, thequeue manager 140 stores the message in a queue for thesystem manager 120 and then attempts to establish a connection with themessage router 150. - In brief overview, there are three steps in order for the
queue manager 140 to establish a connection to themessage router 150. Instep 1004, thequeue manager 140 determines the IP address of themessage router 150. Instep 1006, thequeue manager 140 creates and opens a socket pair connection to themessage router 150 for transmitting serialized data. Instep 1008, thequeue manager 140 sends a message to themessage router 150 indicating that thequeue manager 140 is alive and connected and ready to transmit serialized data. - In more detail of
step 1004, thequeue manager 140 has one of its properties being the location or name of themessage router 150. Using DNS, or IP host name services, thequeue manager 140 determines the IP address of themessage router 150. If thequeue manager 140 cannot resolve the IP address of themessage router 150, thequeue manager 140 resorts to a broadcasting scheme. Thequeue manager 140 broadcasts a locator message on its subnet attempting to locate themessage router 150. If there is amessage router 150 on that subnet, themessage router 150 responds back with its IP address. This address is cached by thequeue manager 140 for future connections. - In
step 1006, thequeue manager 140, knowing the IP address of themessage router 150, creates and opens a socket pair on predetermined, known ports for transmitting serialized data. - In
step 1008, once the socket pair is opened, thequeue manager 140 sends a message notifying themessage router 150 that thequeue manager 140 is alive and connected and has socket pairs on which to read or write serialized data. - In
step 1010, thequeue manager 140 writes the message for delivery to themessage router 150 through the established TCP/IP socket connection - FIG. 2C illustrates the process of delivering the message once received by the
message router 150. - Upon completion of the writing of the message, the
message router 150 extracts the message type and the destination GUID from the message instep 1012. - In
step 1014, themessage router 150 resolves the destination GUID by looking-up the IP address associated with the GUID in thedata store 130. - In
step 1016, the message is encapsulated in an IP packet, with the appropriate destination IP address. In one embodiment, the IP address of the network device becomes known to thesystem server 100 during initial registration of the network device and is stored as an attribute of the user profile. - In
step 1018, themessage router 150 determines the type of the message. The message type indicates the quality of service that themessage router 150 provides for delivery of the message. - If the message type is a standard datagram, the
message router 150 simply transmits the message instep 1022. Themessage router 150 will not keep track of whether the message was actually received. - If the message type indicates guaranteed delivery, the
message router 150 will transmit the message and wait for an acknowledgment from the destination device instep 1024. - If no acknowledgment is received after several attempts, the destination is deemed unavailable and the message is stored in the
data store 130 for later retransmission when the destination is active on the data network instep 1028. Specifically, instep 1029, the message router waits for thenetwork device 80 to become active in order to deliver the message. In one embodiment, themessage router 150 is notified that the network device is active by receiving a message from thenetwork device 80 indicating its active status. In an alternative embodiment, the message router is notified of the active status of a previously unavailable network device by thesystem manager 120 which monitors the status of thenetwork devices 80. When the network device becomes active, the message router proceeds back to step 1018 to begin the process of delivery again. - If the acknowledgment is received, then, in step1030, the delivery is complete and the message is removed from the
data store 130 if the network device was previously unavailable. - The interaction of the
message router 150 and thequeue manager 140 for delivering messages occurs whenever a message is sent or received using the messaging protocol. - In order for the
server system 100 to target content and promotions to a particular market segment, theserver system 100 references its stored user profiles, each user profile being a collection of user and device attributes associated with a network device. All network devices whose user profiles match the attributes of the group profile, targeted by a system administrator, are scheduled for content deployment. - However, when a network device is connected to the network infrastructure for the first time, the system server does not have a user profile for the network device. The present invention provides an automated system and method for initially registering and generating a user profile for an network device.
- FIG. 3 is a state line diagram showing the interaction of the
server system 100 and the embeddedclient system 200 for generating an initial user profile for a network device. - In
step 1, thesystem agent 220 of the network device generates and transmits a registration request message containing a number of device attributes to thesystem manager 120. - The device attributes describes the network device and is configured during the manufacturing process of the device itself. For example, the network device may be configured with a model number attribute for a particular group of network devices, such as intelligent set-top boxes, version 1.0.
- In
step 2, thesystem manager 120 receives the registration request message and, in response, retrieves a globally unique identifier, GUID, from an available pool of GUIDs stored in thedata store 130. - In
step 3, thesystem manager 120 generates and transmits a registration response message containing the assigned GUID to thesystem agent 220 of the registering device. - The assigned GUID is used by the network device to identify itself in messages transmitted to the
system server 100 and to other network devices. The assigned GUID is also used by thesystem server 100 to associate the network device with a user profile within thedata store 130. - In
step 4, thesystem agent 220 launches aweb browser 210. Theweb browser 210 transmits an HTTP request to the URL (Uniform Resource Locator) of themanagement console 110 for a registration web page. The assigned GUID is included in the URL string in order to identify the registering network device. - In
step 5, themanagement console 110 receives the HTTP request. In response, themanagement console 110 makes a call via the COM interface of thesystem manager 120 to retrieve the device and user attributes, if any, associated with the GUID of the registering network device. Themanagement console 110 generates the registration web page customized for the registering network device. The web page is transmitted via HTTP to theweb browser 210. - In
step 6, theweb browser 210 displays the registration web page wherein the user submits information which will be used to generate a user profile of user attributes associated with the network device. Such information includes, but is not limited to, name and address information, channels frequently watched, requests for installation of optional value-add services and applications, and various demographic and personal information. - Upon submitting the registration data, the
web browser 210 transmits the user attributes, represented as HTML data via HTTP, to themanagement console 110. - In
step 7, themanagement console 110 interprets the HTML data stream and makes calls via the COM interface of thesystem manager 120 to update the user profiles in thedata store 130 with the provided user attributes. - In
step 8, thesystem manager 120 updates the user profile of the registering network device with the user attributes on thedata store 130. After updating the user profile, thesystem manager 120 associates the user profile with group profiles whose attributes match user attributes of the user profile. - For example, the user profile will be added to the group profile for network devices with the same model number attribute. The user profile is added to any number of group profiles that target particular attributes of the registered user or network device. These group profiles are used by the
system manager 120 for targeting consumers of particular market segments for various e-commerce promotions or application services. - Once the network device is registered and is associated with a user profile, the device is capable of being targeted for deployment of content or promotions.
- FIG. 4A is a state line diagram showing the interaction of the server system and the embedded client system for deployment of content and promotions to a network device. Deployment includes, but is not limited to, downloading and installing.
- Before content can be deployed to a targeted device, the content must be stored in the
data store 130 along with a group profile and an activation schedule. The group profile indicates the attributes of network devices to target. The activation schedule indicates when to activate the content or promotions. Activation can be event driven, scheduled from thesystem server 100, or initiated by thesystem manager 120. - In
step 1, a system administrator with access to themanagement console 110 populates a server-based web page indicating the content to deploy as well as the criteria with which to define the group profile. Additionally, the system administrator indicates when to activate the content. Upon submitting the data, themanagement console 110 makes a call to the COM interface of thesystem manager 120 to generate a group profile in thedata store 130 with user profiles whose attributes match the criteria defined by the system administrator. - In
step 2, thesystem manager 120 updates thedata store 130 creating the group profile and populating the group profile with user profiles with matching attributes. - In
step 3, themanagement console 110 make a call through the COM interface of thesystem manager 120 to download the content or promotion to thedata store 130. - In
step 4, thesystem manager 120 writes the content to thedata store 130. - The
system manager 120 is configured to schedule deployment of content during off-peak hours when bandwidth utilization is typically at a minimum. For example, during the hours of 3:00 AM and 5:00 AM, more bandwidth is available for efficient deployment of content and promotions. Alternatively, thesystem manager 120 monitors network utilization and is configured to schedule deployment of content when the detected bandwidth utilization falls below a predetermined level. - In
step 5, thesystem manager 120 sends a download and install request message to each of thesystem agents 220 of the network devices whose user attributes match the attributes of the group profile. The download and install message informs thesystem agent 220 to download install the content or promotion referenced by a GUID. - Alternatively, the
system manager 120 sends a download, install, and start request message which indicates, in addition, when or under what event conditions the content should be activated (i.e. promotion displayed or an application launched). - In
step 6, thesystem agent 220 makes a C++ object method call to the bulkdata transfer agent 260 to download the content having the provided GUID. - In
step 7, the bulkdata transfer agent 260 sets up a TCP/IP socket connection to the bulkdata transfer manager 160 of the server system to initiate the delivery of the application. - In
step 8, the bulkdata transfer manager 160 delivers the requested content to the bulkdata transfer agent 260 through the TCP/IP socket connection. In cases where the connection is broken, the bulkdata transfer agent 260 and the bulkdata transfer manager 160 can detect that a connection was broken and will continue the download the content from the point in the transfer where the break occurred. - In
step 9, the bulkdata transfer agent 260 notifies thesystem agent 220 the result of the data transfer via an C++ object method call. - In
step 10, thesystem agent 220 sends a message to thesystem manager 120 indicating the result of the data transfer. - After the content is installed on the targeted network device, the present invention provides a system and method for activating that content. Activation allows the user to interact with the installed content, such as playing a game or initiating an e-commerce transaction.
- There are two types of activation that the present invention implements—scheduled activation and event driven activation. Scheduled activation allows the system administrator to specify when to activate the content, whereas event driven activation allows the system administrator to specify an event which triggers the activation of the content.
- Scheduled activation is implemented in two ways, predetermined scheduling and activation by the system server.
- FIG. 4B illustrates the steps associated with content activation via predetermined scheduling. Predetermined scheduling based upon date and time provides the most autonomy to the network device. After the content is deployed, the network device simply waits for the specified date and time to arrive, at which time it displays the content.
- In
step 1110, when the group profiles are configured and the content is downloaded to thedata store 130, the system administrator also specifies the date and time to activate the content. Where the content is a promotion, a duration period is specified along with the activation date and time. - In
step 1112, thesystem manager 120 sends the download, install, and start request message to thesystem agent 220 of a targeted network device. In addition to requesting thesystem agent 220 to install content, the message indicates the date and time to activate the installed content. - If the content is a not a promotion, the
system agent 220 waits for the specified activation date and time instep 1116. - In
step 1118, the content is activated by thesystem agent 220 at the specified date and time. - If the content is a promotion, the
system agent 220 transfers the predetermined date, time, and duration to thepromotion notification agent 230 instep 1120. - In
step 1122, thepromotion notification agent 230 waits for the specified activation date and time. - In
step 1124, the promotion is activated by thepromotion notification agent 230 at the specified activation date and time. - If the promotion is a icon or graphic linked to a URL of a host web server, the
promotion notification agent 230 overlays the promotion on a portion of the video display built-in or attached to the network device. If the promotion is audio clip or data stream, the audio is played through a speaker built-in or attached to the network device. If the promotion is a video clip or data stream, the video overlays a portion of the video display built-in or attached to the network device. - FIG. 4C illustrates the steps associated with server activation of content. Server activation of content allows control to reside at the
server system 100, therefore, maximizing the control by the institution operating theserver system 100. - As described previously, the content is installed on the network device in
step 1210 with no activation information. - In
step 1212, thesystem agent 220 waits for a start message from thesystem server 100. - In
step 1214, upon request of the system administrator, thesystem manager 120 sends a start message to thesystem agent 220 specifying the installed content to activate. - If the installed content is not a promotion, the system agent activates the content in response to receiving the message in
step 1218. This may include, but not limited to, launching an application installed within the network device. - If the installed content is a promotion, the
system agent 220 notifies thepromotion notification agent 230 via a C++ object method call to activate the specified promotion instep 1220. - In
step 1222, the promotion is activated by thepromotion notification agent 230. - Event driven activation is particularly suited for coordinating the activation of content with a particular event or a particular moment in a corresponding analog and/or digital video stream.
- Event activation has advantages associated with high scalability. The content can be loaded in the days or weeks preceding the general time period when it is to be displayed.
- In one embodiment, events that trigger content activation are channel events, power events, and peripheral events. A power event is an event relating to the power supply, such as the network device being powered on or off. A peripheral event is an event relating to peripheral devices being connected or disconnected from the network device, such as a joy stick or other gaming console. A channel event is an event relating to the channel being watched by the user.
- FIG. 4D illustrates the steps associated with event driven activation according to the invention.
- In
step 1310, when the group profiles are configured and the content is downloaded to thedata store 130, the system administrator also specifies an event map. An event map associates events to content indicating when to activate the content. Where the content is a promotion, a duration period is specified as well. - In
step 1312, thesystem manager 120 sends the event map in a message, such as a download, install, and start message, to thesystem agent 220 of a targeted network device. - If the content is not a promotion, the
system agent 220 waits for the specified event or events that trigger the activation of the content instep 1316. - In
step 1318, thesystem agent 220 activates the content when the specified event or events occur. - Conversely, if the content is a promotion, the
system agent 220 transfers the event map to thepromotion notification agent 230 instep 1320. - In
step 1322, thepromotion notification agent 230 waits for the specified event or events to occur. - In
step 1324, thepromotion notification agent 230 activates the promotions associated with the event or events that occurred. - An example of event driven activation is where the event map provides for the activation of promotions involving sporting goods when the potential consumer has been watching a particular sports channel for a period of time. The watching of the sports channel for a period of time triggers a channel event. The channel event triggers the activation of the promotion or promotions.
- The present invention provides an additional implementation of event driven activation involving technology from ATVEF (Advanced Television Enhancement Forum). ATVEF provides a standard for embedding HTML tags within a video signal.
- The
promotion content agent 230 monitors the video signal for the embedded triggers, such as the HTML tag. The capture of this embedded trigger causes the activation of one or more promotions in real-time coinciding with the video signal. - Such a system has advantages in that very little video signal editing is required. Only a small trigger has to be embedded in the video signal, requiring little analog video editing capabilities at the data center.
- The content, is simultaneously activated on all of the network devices allowing high levels of synchronization to the video signal. For example, the promotion can be synchronized to occur during a television commercial.
- The provider of the commercial simply embeds an initialization or start HTML tag within its video signal. In response to the
promotion notification agent 230 capturing the HTML tag, thepromotion notification agent 230 activates the appropriate promotion or promotions specified in the event map for that HTML tag. - FIG. 4E shows one embodiment of this system on a conventional set-
top box 80 for an analog or an analog/digital video display device such as atelevision 300. Specifically, the data and audio/video stream is received by the set-top box 80. This data audio/video stream is received from thehead end 50 via thehub 60. - The
promotion content agent 230 of the embeddedclient system 200 monitors the video stream for the embedded trigger signal. When the trigger signal is detected, thepromotion content agent 230 inserts the associated graphical promotion content indicated in the event map into the analog or digital video stream to thedisplay 310 of thetelevision 300. As a result, thepromotion 320 appears on thedisplay screen 310, overlaying the video. - User selection of this promotion through a selecting device, such as a remote control device, sends a URL to the
web browser 210 bringing the browser window to the forefront of thedisplay 310 of thetelevision 300. In this way, user selection of the promotion allows the user to receive and view data from the URL enabling e-commerce transactions. - Therefore, the event-driven activation, as well as the other scheduling options, presents promotions in an appropriate context to further increase the likelihood of consumer e-commerce transactions.
- In addition to the initial registration process, the present invention includes a system and method for updating user profiles through uploading distributed user activity and event logs to the
system server 100, parsing out the user and device attributes from the logs, and updating the user profiles in thedata store 130. - The logs provide useful information, because the logs track a variety of information which the system can use in order to more accurately target users for content and promotional deployment. In one embodiment, the logs track channel events and e-commerce transactions initiated through the display of promotions. In another embodiment, the logs track peripheral events, such as the addition of a joystick and console for gaming purposes, power events, application events, and promotion events. Continuous updating of user profiles through this system and method improves the targeting of consumers for content deployment, and in particular, for promotional content deployment.
- In brief overview, the network device includes a
logging component 250 that monitors and logs user activity and events in an generic file format. For example, thelogging component 250 monitors user activity at a user interface device such as the television remote channel control. In one embodiment, the generic file format is Extensible Markup Language (XML). The format of the log files, using XML, correspond to the structure of the user profiles in thedata store 130. This allows for processing of the logs in an automated fashion. - In addition, the user activity and event logs include a description of the structure of the document itself. Using XML, the description of the structure of the document is the Document Type Definition (DTD). Providing a description of the document structure within the logs themselves, allows for the
server system 100 to process logs with different document structures. This avoids the necessity of having to update theserver system 100 every time a new document structure is used within the logs. - FIG. 5A is an example of a DTD for an event log where each event that occurs is recorded with the GUID of the device, the time of the event, the event type, and a description of the event.
- FIG. 5B is an example of an event log written in XML using the DTD of FIG. 5A. The event log contains two events, stored in the structure described by the DTD. FIG. 5B demonstrates how a channel event and an application event are described within this log.
- The uploading and parsing of these user activity and event logs will provide additional user attributes for targeting consumers including information regarding responses to prior promotions. If the logs indicate that a user is interested in a particular type of promotion, the system server modifies the user attributes of his user profile such that they match the attributes of a group profile associated with that type of promotion.
- FIG. 6 is a state line diagram showing the interaction of the
server system 100 and the embeddedclient system 200 for updating user profiles through the upload and parsing of user activity and event logs. - In
step 1, thesystem manager 120 sends a message to thesystem agent 220 to upload its activity logs to the server system. - In
step 2, thesystem agent 220 makes a C++ object method call to the bulkdata transfer agent 260 to upload the user activity and event logs. - In
step 3, the bulkdata transfer agent 260 sets up a TCP/IP socket connection to the bulkdata transfer manager 160 of the server system to initiate the delivery of the logs. - In
step 4, the bulkdata transfer agent 260 delivers the logs to the bulkdata transfer manager 160 through the TCP/IP socket connection where they are stored in thedata store 130. - In cases where the connection is broken, the bulk
data transfer agent 260 and the bulkdata transfer manager 260 can detect that a connection was broken and will continue the download the content from the point in the transfer where the break occurred. - In
step 5, the bulkdata transfer agent 260 notifies thesystem agent 220 the result of the data transfer via a C++ object method call. - In
step 6, thesystem agent 220 sends a message to thesystem manager 120 indicating the result of the data transfer. - In
step 7, thesystem manager 120 makes a call to theXML file processor 170 to update the user profiles from the user activity and event logs. - In
step 8, anXML file processor 170 at the server system parses the logs stored on the database and updates the user attributes of the user profile of the network device. This system and method for scheduling remote uploads of the user activity and event logs provides improves the efficiency for targeting consumers for content and promotion. - There are situations where a user will change the hardware configuration of a network device in order to expand its capabilities. In that situation, the present invention provides a system and method by which the network device notifies the
server system 100 of a change to its hardware configuration and, in return, receives the appropriate device drivers to support the new hardware configuration. - FIG. 7 shows the dynamic installation of device drivers on the network device according to the present invention.
- Specifically, the dynamic driver installation process is triggered when the user installs a peripheral device on a network device for which the network device requires a driver. In the typical example, the process occurs when the user plugs in a peripheral device such as a joy stick into a port such as a serial port or USB (universal serial bus) port.
- In
step 1002, thesystem agent 220 intercepts the plug and play string from the peripheral device when it is attached to the USB port. - In
step 1004 thesystem agent 220 then sends this plug and play string to thesystem manager 120 via themessage router 150 and the queue managers along the path between thesystem agent 220 and thesystem manager 120. - In
step 1006, thesystem manager 220 then searches for a matching driver in itsdata store 130. Specifically, it compares the plug and play string received from the network device to plug and play strings of supported operating systems and supporting peripheral devices for which drivers are available. - In
step 1008, assuming the valid device driver has been located, thesystem manager 120 sends a message to thesystem agent 220 to download the driver providing its location in thedata store 130. - In
step 1010, the system agent requests the bulkdata transfer agent 260 on the network device to download the driver. The bulkdata transfer agent 260 then contacts the bulkdata transfer manager 160 and downloads and stores the device driver on the network device. In parallel, thesystem manager 120 instructs thesystem agent 220 on how to install the device driver on the network device. - In
step 1012, in the typical implementation, the device driver is dynamically loaded onto the network device. - In
step 1014, when the driver has been successfully installed, thesystem agent 220 notifies thesystem manager 120. The system manager, in turn, updates the status of the network device in the system manager'sdata store 130. - FIG. 8 illustrates the mirror process in which the peripheral device driver is uninstalled.
- In
step 1016, thesystem agent 220 is notified when the peripheral is disconnected by the user from the network device. - In
step 1018, thesystem agent 220 then requests an uninstall program from thesystem manager 120. - In
step 1020, typically, the bulkdata transfer agent 260 obtains the uninstalled program from the bulkdata transfer manager 160. - In
step 1022, the driver is then uninstalled. - In
step 1024, upon the successful uninstall, thesystem agent 220 notifies thesystem manager 120 that the driver has been installed and thesystem manager 120 updates the network device's status. - While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
Claims (16)
1. A system for event driven content installation on a network device over a data network, the system comprising:
a network device detecting a change in a configuration of the network device and transferring information regarding the configuration change;
a remote server receiving the information regarding the configuration change and searching a database for content corresponding to the configuration change;
the remote server sending a message notifying the network device of a location of the content corresponding to the configuration change;
the network device requesting download of the content at the location identified in the message; and
the server downloading the content to the network device in response to the request.
2. The system of claim 1 wherein the configuration change is an addition of hardware associated with the network device.
3. The system of claim 2 wherein the content is a driver, application program, configuration file, registry data or promotion associated with the additional hardware.
4. The system of claim 1 wherein the configuration change is a removal of hardware associated with the network device.
5. The system of claim 4 wherein the content is an uninstall program for removal of software associated with the removed hardware.
6. The system of claim 1 wherein the content is a driver, application program, configuration file, registry data or promotion.
7. The system of claim 1 wherein the remote server comprises a bulk download manager that downloads the content to the network device.
8. The system of claim 1 wherein the remote server comprises a system manager that receives the information regarding the configuration change and sends the message notifying the network device of the location of the content in the database.
9. The system of claim 1 wherein the network device comprises a system agent that detects the change in the configuration of the network device and transfers information regarding the configuration change.
10. The system of claim 1 wherein the network device comprises a bulk download agent that requests the download of the content.
11. A method for event driven content installation on a network device over a data network, the method comprising:
detecting a change in a configuration of a network device;
transferring information regarding the configuration change to a remote server;
receiving a message from the server that provides a location in a database of the content corresponding to the configuration change; and
downloading the content from the database location identified in the message.
12. The method of claim 11 wherein the configuration change is an addition or removal of hardware associated with the network device.
13. The method of claim 11 wherein the content is a driver, application program, configuration file, registry data or promotion.
14. A method for event driven content installation on a network device over a data network, the method comprising:
receiving the information from a remote network device regarding a change in a configuration of the network device;
searching a database for content corresponding to the configuration change;
sending a message to the network device including a location of the content corresponding to the configuration change;
receiving a request for a download of the content at the location from the network device; and
downloading the content to the network device in response to the request.
15. The method of claim 14 wherein the configuration change is an addition or removal of hardware associated with the remote network device.
16. The method of claim 14 wherein the content is a driver, application program, configuration file, registry data or promotion.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/812,039 US20040181593A1 (en) | 2000-02-25 | 2004-03-29 | Method and system for embedded network device installation |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18520200P | 2000-02-25 | 2000-02-25 | |
US09/515,032 US6714992B1 (en) | 2000-02-25 | 2000-03-06 | Method and system for embedded network device installation |
US10/812,039 US20040181593A1 (en) | 2000-02-25 | 2004-03-29 | Method and system for embedded network device installation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/515,032 Continuation US6714992B1 (en) | 2000-02-25 | 2000-03-06 | Method and system for embedded network device installation |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040181593A1 true US20040181593A1 (en) | 2004-09-16 |
Family
ID=26880912
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/515,032 Expired - Lifetime US6714992B1 (en) | 2000-02-25 | 2000-03-06 | Method and system for embedded network device installation |
US10/812,039 Abandoned US20040181593A1 (en) | 2000-02-25 | 2004-03-29 | Method and system for embedded network device installation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/515,032 Expired - Lifetime US6714992B1 (en) | 2000-02-25 | 2000-03-06 | Method and system for embedded network device installation |
Country Status (3)
Country | Link |
---|---|
US (2) | US6714992B1 (en) |
AU (1) | AU2001238361A1 (en) |
WO (1) | WO2001063411A2 (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052781A1 (en) * | 1999-09-10 | 2002-05-02 | Avantgo, Inc. | Interactive advertisement mechanism on a mobile device |
US20030074256A1 (en) * | 2000-11-28 | 2003-04-17 | Navic Systems, Inc. | Promotion packaging for transmission groups |
US20030130887A1 (en) * | 2001-10-03 | 2003-07-10 | Thurston Nathaniel | Non-deterministic method and system for the optimization of a targeted content delivery |
US20040073912A1 (en) * | 2000-10-27 | 2004-04-15 | Meza Joseph R. | Automatic embedded host configuration system and method |
US20060224782A1 (en) * | 2005-03-31 | 2006-10-05 | Fujitsu Limited | Information processing apparatus managing a peripheral device connected to a computer |
US20070013943A1 (en) * | 2005-07-14 | 2007-01-18 | Konica Minolta Business Technologies Inc. | Apparatus and method for managing successive jobs in devices in a network |
US20070070990A1 (en) * | 2005-09-21 | 2007-03-29 | Chong Koan S | Method and apparatus for detecting subscriber service address change |
US20070098427A1 (en) * | 2005-10-27 | 2007-05-03 | Kenji Katsuhara | Image forming device |
US20070288967A1 (en) * | 2005-09-07 | 2007-12-13 | Candelore Brant L | Method and system for downloading content to a content downloader |
US20070288985A1 (en) * | 2006-06-13 | 2007-12-13 | Candelore Brant L | Method and system for uploading content to a target device |
US20070288986A1 (en) * | 2006-06-13 | 2007-12-13 | Candelore Brant L | Method and system for downloading content to a target device |
US20090168995A1 (en) * | 2007-11-26 | 2009-07-02 | Banga Jasminder S | Systems and Methods of Information/Network Processing Consistent with Creation, Encryption and/or Insertion of UIDs/Tags |
US7571221B2 (en) * | 2002-04-03 | 2009-08-04 | Hewlett-Packard Development Company, L.P. | Installation of network services in an embedded network server |
US7840647B2 (en) | 1999-09-10 | 2010-11-23 | Ianywhere Solutions, Inc. | System, method, and computer program product for executing scripts on mobile devices |
US7857222B2 (en) | 2007-08-16 | 2010-12-28 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US7916631B2 (en) | 2000-11-28 | 2011-03-29 | Microsoft Corporation | Load balancing in set top cable box environment |
US20110154324A1 (en) * | 2009-12-23 | 2011-06-23 | International Business Machines Corporation | Virtual Machine Administration For Data Center Resource Managers |
US7987420B1 (en) | 1999-09-10 | 2011-07-26 | Ianywhere Solutions, Inc. | System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices |
US8539123B2 (en) | 2011-10-06 | 2013-09-17 | Honeywell International, Inc. | Device management using a dedicated management interface |
US8595308B1 (en) | 1999-09-10 | 2013-11-26 | Ianywhere Solutions, Inc. | System, method, and computer program product for server side processing in a mobile device environment |
US8621123B2 (en) | 2011-10-06 | 2013-12-31 | Honeywell International Inc. | Device management using virtual interfaces |
US8881140B1 (en) * | 2009-09-04 | 2014-11-04 | Symantec Corporation | Systems and methods for virtualizing software associated with external computer hardware devices |
US9497092B2 (en) | 2009-12-08 | 2016-11-15 | Hand Held Products, Inc. | Remote device management interface |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677384B2 (en) * | 2003-12-12 | 2014-03-18 | At&T Intellectual Property I, L.P. | Methods and systems for network based capture of television viewer generated clickstreams |
US7587323B2 (en) * | 2001-12-14 | 2009-09-08 | At&T Intellectual Property I, L.P. | System and method for developing tailored content |
US7020652B2 (en) * | 2001-12-21 | 2006-03-28 | Bellsouth Intellectual Property Corp. | System and method for customizing content-access lists |
US20060253884A1 (en) * | 1997-01-06 | 2006-11-09 | Gray James H | Methods and systems for network based capture of television viewer generated clickstreams |
WO1998031114A1 (en) * | 1997-01-06 | 1998-07-16 | Bellsouth Corporation | Method and system for tracking network use |
US20100257037A1 (en) * | 2001-12-14 | 2010-10-07 | Matz William R | Method and system for targeted incentives |
US20050283401A1 (en) * | 1997-01-06 | 2005-12-22 | Swix Scott R | Method and system for targeting incentives |
US8640160B2 (en) * | 1997-01-06 | 2014-01-28 | At&T Intellectual Property I, L.P. | Method and system for providing targeted advertisements |
US6983478B1 (en) * | 2000-02-01 | 2006-01-03 | Bellsouth Intellectual Property Corporation | Method and system for tracking network use |
US7617508B2 (en) * | 2003-12-12 | 2009-11-10 | At&T Intellectual Property I, L.P. | Methods and systems for collaborative capture of television viewer generated clickstreams |
US20060031882A1 (en) * | 1997-01-06 | 2006-02-09 | Swix Scott R | Systems, methods, and devices for customizing content-access lists |
US7802276B2 (en) * | 1997-01-06 | 2010-09-21 | At&T Intellectual Property I, L.P. | Systems, methods and products for assessing subscriber content access |
US20060075456A1 (en) * | 1997-01-06 | 2006-04-06 | Gray James Harold | Methods and systems for collaborative capture of television viewer generated clickstreams |
US6976066B1 (en) * | 2000-05-22 | 2005-12-13 | Microsoft Corporation | Network and method for implementing network platform services for a computing device |
FI20001630A (en) * | 2000-06-30 | 2001-12-31 | Nokia Mobile Phones Ltd | Determining quality of service for data streams |
US20020065950A1 (en) * | 2000-09-26 | 2002-05-30 | Katz James S. | Device event handler |
FI20002311A (en) * | 2000-10-19 | 2002-04-20 | Nokia Corp | Method for managing network element settings |
JP2002169909A (en) * | 2000-12-04 | 2002-06-14 | Fujitsu Ltd | Public opening verifying system, recording server for browsing access log, recording server for publishing access log, server for digital signature and information terminal for browsing access |
JP3977059B2 (en) * | 2000-12-22 | 2007-09-19 | キヤノン株式会社 | Information processing apparatus, method, and control program |
US20020087625A1 (en) * | 2001-01-04 | 2002-07-04 | Kim Toll | Sharing user profiles between processor-based systems |
US7945592B2 (en) | 2001-03-20 | 2011-05-17 | Verizon Business Global Llc | XML based transaction detail records |
US7406306B2 (en) * | 2001-03-20 | 2008-07-29 | Verizon Business Global Llc | Method for billing in a telecommunications network |
US8380840B2 (en) | 2001-12-17 | 2013-02-19 | Verizon Business Global Llc | Method for recording events in an IP network |
US7734285B2 (en) * | 2001-04-03 | 2010-06-08 | Qualcomm Incorporated | Method and apparatus for network initiated uninstallation of application program over wireless network |
US20020194497A1 (en) * | 2001-04-30 | 2002-12-19 | Mcguire Jacob | Firewall configuration tool for automated deployment and management of network devices |
JP5215511B2 (en) * | 2001-05-02 | 2013-06-19 | ケープレックス・インク | User operation history storage device using object-oriented technology |
US20020188762A1 (en) * | 2001-05-04 | 2002-12-12 | Tomassetti Stephen Robert | Data structure for an entertainment and communications network |
US6931646B2 (en) * | 2001-06-29 | 2005-08-16 | Intel Corporation | Accessing a translated resource descriptor of a hardware device |
US7184793B2 (en) * | 2001-07-26 | 2007-02-27 | Kyocera Wireless Corp. | System and method for over the air area code update |
US7197302B2 (en) * | 2001-07-26 | 2007-03-27 | Kyocera Wireless Corp. | System and method for interchangeable modular hardware components for wireless communication devices |
US7027806B2 (en) * | 2001-07-26 | 2006-04-11 | Kyocera Wireless, Corp. | System and method for field downloading a wireless communications device software code section |
US7386846B2 (en) | 2001-07-26 | 2008-06-10 | Kyocera Wireless Corp. | System and method for the management of wireless communications device system software downloads in the field |
US7200389B2 (en) * | 2001-07-26 | 2007-04-03 | Kyocera Wireless Corp. | Dynamic interface software for wireless communication devices |
US7328007B2 (en) * | 2001-07-26 | 2008-02-05 | Kyocera Wireless Corp. | System and method for organizing wireless communication device system software |
US9554268B2 (en) | 2001-07-26 | 2017-01-24 | Kyocera Corporation | System and method for updating persistent data in a wireless communications device |
US7143407B2 (en) * | 2001-07-26 | 2006-11-28 | Kyocera Wireless Corp. | System and method for executing wireless communications device dynamic instruction sets |
US7159214B2 (en) | 2001-07-26 | 2007-01-02 | Kyocera Wireless Corp. | System and method for compacting field upgradeable wireless communication device software code sections |
US7184759B2 (en) * | 2001-07-26 | 2007-02-27 | Kyocera Wireless Corp. | Modular software components for wireless communication devices |
US6757849B2 (en) * | 2001-08-03 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | System and method for developing customized integration tests and network peripheral device evaluations |
US6961537B2 (en) * | 2001-08-10 | 2005-11-01 | Kyocera Wireless Corp. | System and method for peer-to-peer handset communication |
US7254386B2 (en) | 2001-08-10 | 2007-08-07 | Kyocera Wireless Corp. | System and method for improved security in handset reprovisioning and reprogramming |
US6952830B2 (en) * | 2001-08-16 | 2005-10-04 | Occam Networks, Inc. | System and method to uniformly access devices |
US20030051012A1 (en) * | 2001-09-07 | 2003-03-13 | Via Technologies, Inc. | Method and system for online plug-and-play driver installation |
US7212979B1 (en) | 2001-12-14 | 2007-05-01 | Bellsouth Intellectuall Property Corporation | System and method for identifying desirable subscribers |
US7159180B2 (en) * | 2001-12-14 | 2007-01-02 | America Online, Inc. | Proxy platform integration system |
US20110178877A1 (en) * | 2001-12-14 | 2011-07-21 | Swix Scott R | Advertising and content management systems and methods |
US9967633B1 (en) | 2001-12-14 | 2018-05-08 | At&T Intellectual Property I, L.P. | System and method for utilizing television viewing patterns |
US20050071863A1 (en) * | 2001-12-21 | 2005-03-31 | Matz William R. | System and method for storing and distributing television viewing patterns form a clearinghouse |
US7086075B2 (en) | 2001-12-21 | 2006-08-01 | Bellsouth Intellectual Property Corporation | Method and system for managing timed responses to A/V events in television programming |
US8086491B1 (en) * | 2001-12-31 | 2011-12-27 | At&T Intellectual Property I, L. P. | Method and system for targeted content distribution using tagged data streams |
US7330913B1 (en) * | 2002-02-11 | 2008-02-12 | Novell, Inc. | Method and apparatus for maintaining peripheral device support information |
US7181512B1 (en) * | 2002-05-06 | 2007-02-20 | Accenture Global Services Gmbh | Workstation deployment |
US7237252B2 (en) * | 2002-06-27 | 2007-06-26 | Digeo, Inc. | Method and apparatus to invoke a shopping ticker |
US7266835B2 (en) * | 2002-06-27 | 2007-09-04 | Digeo, Inc. | Method and apparatus for secure transactions in an interactive television ticker |
US7254815B2 (en) * | 2003-04-24 | 2007-08-07 | International Business Machines Corporation | Method and apparatus for implementing distributed event management in an embedded support processor computer system |
US7296027B2 (en) | 2003-08-06 | 2007-11-13 | Sbc Knowledge Ventures, L.P. | Rhetorical content management with tone and audience profiles |
US20050108316A1 (en) * | 2003-11-18 | 2005-05-19 | Sbc Knowledge Ventures, L.P. | Methods and systems for organizing related communications |
US20050125564A1 (en) * | 2003-12-04 | 2005-06-09 | Matsushita Electric Industrial Co., Ltd. | Profiling service for the automatic service discovery and control middleware frameworks |
US7164907B2 (en) * | 2004-01-13 | 2007-01-16 | Qualcomm Inc. | Automated over the air plug-in device recognition and software driver download |
US7949733B2 (en) * | 2004-02-02 | 2011-05-24 | Fuji Xerox Co., Ltd. | Driver management method, driver management apparatus, and driver management program |
US7415106B2 (en) * | 2004-03-09 | 2008-08-19 | Sbc Knowledge Ventures, Lp | Network-based voice activated auto-attendant service with B2B connectors |
JP2005267089A (en) * | 2004-03-17 | 2005-09-29 | Fuji Xerox Co Ltd | Driver management method and device and program |
CN1954627B (en) * | 2004-05-18 | 2010-10-13 | 京瓷无线公司 | Modular data components for wireless communication devices |
WO2005115036A1 (en) * | 2004-05-18 | 2005-12-01 | Kyocera Wireless Corp. | Modular data components for wireless communication devices |
AU2008200175B2 (en) * | 2004-05-18 | 2009-04-02 | Kyocera Corporation | System and method for interchangeable modular hardware components for wireless communication devices |
US20050278731A1 (en) * | 2004-06-09 | 2005-12-15 | Navic Systems, Inc. | System and method of anonymous settop event collection and processing in a multimedia network |
US8095925B2 (en) * | 2004-09-15 | 2012-01-10 | Kyocera Mita Corporation | Seamless network installation of device drivers |
US8849908B2 (en) * | 2005-10-13 | 2014-09-30 | Kaydon A. Stanzione | Internet based data, voice and video alert notification communications system |
US20080046930A1 (en) * | 2006-08-17 | 2008-02-21 | Bellsouth Intellectual Property Corporation | Apparatus, Methods and Computer Program Products for Audience-Adaptive Control of Content Presentation |
US7634488B2 (en) * | 2006-11-13 | 2009-12-15 | Ricoh Company, Ltd. | Remote distribution/installation utility and associated method of deploying executable code |
CN101506814B (en) * | 2006-11-13 | 2011-12-14 | M-Biz全球有限责任公司 | Method for allowing full version content embedded in mobile device and system thereof |
US20080148311A1 (en) * | 2006-12-13 | 2008-06-19 | Tischer Steven N | Advertising and content management systems and methods |
US20080163199A1 (en) * | 2006-12-30 | 2008-07-03 | Rao Siddhartha Ashok | Multi-product package creation and editing |
US8117612B2 (en) | 2007-01-05 | 2012-02-14 | Microsoft Corporation | Enterprise device driver management for operating system deployment |
US20080167943A1 (en) * | 2007-01-05 | 2008-07-10 | O'neil Douglas R | Real time pricing, purchasing and auctioning of advertising time slots based on real time viewership, viewer demographics, and content characteristics |
US20080250450A1 (en) | 2007-04-06 | 2008-10-09 | Adisn, Inc. | Systems and methods for targeted advertising |
US8220005B2 (en) * | 2007-08-30 | 2012-07-10 | Ricoh Company, Limited | Apparatus, system, and computer program product for processing information |
WO2009047438A1 (en) * | 2007-09-18 | 2009-04-16 | Thomson Licensing | Semi-permament application hosting |
US20090083141A1 (en) * | 2007-09-25 | 2009-03-26 | Ari Craine | Methods, systems, and computer program products for detecting and predicting user content interest |
US8122149B2 (en) | 2007-12-28 | 2012-02-21 | Microsoft Corporation | Model-based datacenter management |
US8341660B2 (en) * | 2008-01-30 | 2012-12-25 | Microsoft Corporation | Program promotion feedback |
US8510661B2 (en) * | 2008-02-11 | 2013-08-13 | Goldspot Media | End to end response enabling collection and use of customer viewing preferences statistics |
US8701051B2 (en) | 2008-02-11 | 2014-04-15 | Goldspot Media, Inc. | Hot spot use in advertising |
US9189794B2 (en) * | 2008-02-11 | 2015-11-17 | Goldspot Media, Inc. | Method and apparatus for maximizing brand exposure in a minimal mobile display |
US20100043004A1 (en) * | 2008-08-12 | 2010-02-18 | Ashwini Kumar Tambi | Method and system for computer system diagnostic scheduling using service level objectives |
US8719069B2 (en) | 2009-07-23 | 2014-05-06 | Brocade Communications Systems, Inc. | Method and apparatus for providing virtual machine information to a network interface |
US9582310B2 (en) | 2015-01-28 | 2017-02-28 | Brocade Communications Systems, Inc. | Method and apparatus for determining the identity of a virtual machine |
US10503442B2 (en) * | 2015-01-28 | 2019-12-10 | Avago Technologies International Sales Pte. Limited | Method and apparatus for registering and storing virtual machine unique information capabilities |
US10437770B2 (en) * | 2015-01-28 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Method and apparatus for providing virtual machine information to a network interface |
CN108418903B (en) * | 2018-05-28 | 2024-02-02 | 苏州德姆斯信息技术有限公司 | Remote access system and access method for embedded software log |
Citations (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099319A (en) * | 1989-10-23 | 1992-03-24 | Esch Arthur G | Video information delivery method and apparatus |
US5109384A (en) * | 1988-11-02 | 1992-04-28 | Tseung Lawrence C N | Guaranteed reliable broadcast network |
US5195183A (en) * | 1989-01-31 | 1993-03-16 | Norand Corporation | Data communication system with communicating and recharging docking apparatus for hand-held data terminal |
US5220674A (en) * | 1987-07-17 | 1993-06-15 | Digital Equipment Corporation | Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination |
US5440632A (en) * | 1992-12-02 | 1995-08-08 | Scientific-Atlanta, Inc. | Reprogrammable subscriber terminal |
US5481542A (en) * | 1993-11-10 | 1996-01-02 | Scientific-Atlanta, Inc. | Interactive information services control system |
US5515098A (en) * | 1994-09-08 | 1996-05-07 | Carles; John B. | System and method for selectively distributing commercial messages over a communications network |
US5539449A (en) * | 1993-05-03 | 1996-07-23 | At&T Corp. | Integrated television services system |
US5580177A (en) * | 1994-03-29 | 1996-12-03 | Hewlett-Packard Company | Printer/client network with centrally updated printer drivers and printer status monitoring |
US5583563A (en) * | 1995-01-12 | 1996-12-10 | Us West Marketing Resources Group, Inc. | Method and system for delivering an application in an interactive television network |
US5589892A (en) * | 1993-09-09 | 1996-12-31 | Knee; Robert A. | Electronic television program guide schedule system and method with data feed access |
US5630204A (en) * | 1995-05-01 | 1997-05-13 | Bell Atlantic Network Services, Inc. | Customer premise wireless distribution of broad band signals and two-way communication of control signals over power lines |
US5636346A (en) * | 1994-05-09 | 1997-06-03 | The Electronic Address, Inc. | Method and system for selectively targeting advertisements and programming |
US5646676A (en) * | 1995-05-30 | 1997-07-08 | International Business Machines Corporation | Scalable interactive multimedia server system for providing on demand data |
US5724521A (en) * | 1994-11-03 | 1998-03-03 | Intel Corporation | Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner |
US5740549A (en) * | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
US5774170A (en) * | 1994-12-13 | 1998-06-30 | Hite; Kenneth C. | System and method for delivering targeted advertisements to consumers |
US5818438A (en) * | 1995-04-25 | 1998-10-06 | Bellsouth Corporation | System and method for providing television services |
US5818397A (en) * | 1993-09-10 | 1998-10-06 | Radio Frequency Systems, Inc. | Circularly polarized horizontal beamwidth antenna having binary feed network with microstrip transmission line |
US5819035A (en) * | 1995-10-20 | 1998-10-06 | Matsushita Electric Industrial Co., Ltd. | Post-filter for removing ringing artifacts of DCT coding |
US5819036A (en) * | 1995-12-14 | 1998-10-06 | Time Warner Cable | Method for message addressing in a full service network |
US5838927A (en) * | 1996-11-22 | 1998-11-17 | Webtv Networks | Method and apparatus for compressing a continuous, indistinct data stream |
US5841468A (en) * | 1996-04-26 | 1998-11-24 | Convergence. Com | System and method for routing data messages through a cable transmission system |
US5848397A (en) * | 1996-04-19 | 1998-12-08 | Juno Online Services, L.P. | Method and apparatus for scheduling the presentation of messages to computer users |
US5854897A (en) * | 1996-12-27 | 1998-12-29 | Quantum Systems, Inc. | Network communications marketing system |
US5915243A (en) * | 1996-08-29 | 1999-06-22 | Smolen; Daniel T. | Method and apparatus for delivering consumer promotions |
US5916307A (en) * | 1996-06-05 | 1999-06-29 | New Era Of Networks, Inc. | Method and structure for balanced queue communication between nodes in a distributed computing application |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US5940074A (en) * | 1996-06-03 | 1999-08-17 | Webtv Networks, Inc. | Remote upgrade of software over a network |
US5940073A (en) * | 1996-05-03 | 1999-08-17 | Starsight Telecast Inc. | Method and system for displaying other information in a TV program guide |
US5951639A (en) * | 1996-02-14 | 1999-09-14 | Powertv, Inc. | Multicast downloading of software and data modules and their compatibility requirements |
US5961602A (en) * | 1997-02-10 | 1999-10-05 | International Business Machines Corporation | Method for optimizing off-peak caching of web data |
US5974461A (en) * | 1996-06-03 | 1999-10-26 | Webtv Networks, Inc. | Method for automatically regenerating information at a client system in the event of power or communication disruption between the client system and the server |
US5978381A (en) * | 1997-06-06 | 1999-11-02 | Webtv Networks, Inc. | Transmitting high bandwidth network content on a low bandwidth communications channel during off peak hours |
US5983353A (en) * | 1997-01-21 | 1999-11-09 | Dell Usa, L.P. | System and method for activating a deactivated device by standardized messaging in a network |
US6002293A (en) * | 1998-03-24 | 1999-12-14 | Analog Devices, Inc. | High transconductance voltage reference cell |
US6009409A (en) * | 1997-04-02 | 1999-12-28 | Lucent Technologies, Inc. | System and method for scheduling and controlling delivery of advertising in a communications network |
US6018766A (en) * | 1996-02-01 | 2000-01-25 | Mpath Interactive, Inc. | Server-group messaging system for interactive applications |
US6026368A (en) * | 1995-07-17 | 2000-02-15 | 24/7 Media, Inc. | On-line interactive system and method for providing content and advertising information to a targeted set of viewers |
US6038561A (en) * | 1996-10-15 | 2000-03-14 | Manning & Napier Information Services | Management and analysis of document information text |
US6047327A (en) * | 1996-02-16 | 2000-04-04 | Intel Corporation | System for distributing electronic information to a targeted group of users |
US6067529A (en) * | 1998-08-12 | 2000-05-23 | Ericsson Inc. | System and method for sending a short message containing purchase information to a destination terminal |
US6075971A (en) * | 1998-03-27 | 2000-06-13 | Intel Corporation | Method and apparatus for providing and monitoring coupons via a network |
US6084628A (en) * | 1998-12-18 | 2000-07-04 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method of providing targeted advertising during video telephone calls |
US6112246A (en) * | 1998-10-22 | 2000-08-29 | Horbal; Mark T. | System and method for accessing information from a remote device and providing the information to a client workstation |
US6119098A (en) * | 1997-10-14 | 2000-09-12 | Patrice D. Guyot | System and method for targeting and distributing advertisements over a distributed network |
US6133912A (en) * | 1998-05-04 | 2000-10-17 | Montero; Frank J. | Method of delivering information over a communication network |
US6166730A (en) * | 1997-12-03 | 2000-12-26 | Diva Systems Corporation | System for interactively distributing information services |
US6167441A (en) * | 1997-11-21 | 2000-12-26 | International Business Machines Corporation | Customization of web pages based on requester type |
US6182050B1 (en) * | 1998-05-28 | 2001-01-30 | Acceleration Software International Corporation | Advertisements distributed on-line using target criteria screening with method for maintaining end user privacy |
US6185607B1 (en) * | 1998-05-26 | 2001-02-06 | 3Com Corporation | Method for managing network data transfers with minimal host processor involvement |
US6199136B1 (en) * | 1998-09-02 | 2001-03-06 | U.S. Philips Corporation | Method and apparatus for a low data-rate network to be represented on and controllable by high data-rate home audio/video interoperability (HAVi) network |
US6208870B1 (en) * | 1998-10-27 | 2001-03-27 | Lucent Technologies Inc. | Short message service notification forwarded between multiple short message service centers |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6243865B1 (en) * | 1998-04-01 | 2001-06-05 | Multiscience System Ptl Ltd. | Method of relaying digital video & audio data via a communication media |
US6247012B1 (en) * | 1996-10-28 | 2001-06-12 | Pfu Limited | Information reception and delivery system using global and local directory tables in an intranet |
US6293865B1 (en) * | 1996-11-14 | 2001-09-25 | Arcade Planet, Inc. | System, method and article of manufacture for tournament play in a network gaming system |
US6317761B1 (en) * | 1998-05-15 | 2001-11-13 | Unicast Communications Corporation | Technique for implementing browser-initiated user-transparent advertising and for interstitially displaying an advertisement, so distributed, through a web browser in response to a user click-stream |
US6317116B1 (en) * | 1995-12-13 | 2001-11-13 | Immersion Corporation | Graphical click surfaces for force feedback applications to provide selection of functions using cursor interaction with a trigger position of a graphical object |
US6338094B1 (en) * | 1998-09-08 | 2002-01-08 | Webtv Networks, Inc. | Method, device and system for playing a video file in response to selecting a web page link |
US6351747B1 (en) * | 1999-04-12 | 2002-02-26 | Multex.Com, Inc. | Method and system for providing data to a user based on a user's query |
US6377782B1 (en) * | 1999-03-01 | 2002-04-23 | Mediacell, Inc. | Method and apparatus for communicating between a client device and a linear broadband network |
US6430564B1 (en) * | 1999-03-01 | 2002-08-06 | Hewlett-Packard Company | Java data manager for embedded device |
US6434535B1 (en) * | 1998-11-13 | 2002-08-13 | Iomega Corporation | System for prepayment of electronic content using removable media and for prevention of unauthorized copying of same |
US6434747B1 (en) * | 2000-01-19 | 2002-08-13 | Individual Network, Inc. | Method and system for providing a customized media list |
US6446261B1 (en) * | 1996-12-20 | 2002-09-03 | Princeton Video Image, Inc. | Set top device for targeted electronic insertion of indicia into video |
US6463468B1 (en) * | 1999-06-01 | 2002-10-08 | Netzero, Inc. | Targeted network video download interface |
US6476825B1 (en) * | 1998-05-13 | 2002-11-05 | Clemens Croy | Hand-held video viewer and remote control device |
US6480801B2 (en) * | 1999-01-19 | 2002-11-12 | Sun Microsystems, Inc. | Universal serial bus test system |
US6493770B1 (en) * | 1997-07-02 | 2002-12-10 | Cypress Semiconductor Corp. | System for reconfiguring a peripheral device by downloading information from a host and electronically simulating a physical disconnection and reconnection to reconfigure the device |
US6567854B1 (en) * | 1999-10-21 | 2003-05-20 | Genuity Inc. | Internet service delivery via server pushed personalized advertising dashboard |
US6603769B1 (en) * | 1998-05-28 | 2003-08-05 | Cisco Technology, Inc. | Method and system for improving traffic operation in an internet environment |
US6629145B1 (en) * | 2000-03-01 | 2003-09-30 | Avaya Technology Corp. | System and method of network independent remote configuration of internet server appliance |
US6807558B1 (en) * | 1995-06-12 | 2004-10-19 | Pointcast, Inc. | Utilization of information “push” technology |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787019A (en) * | 1996-05-10 | 1998-07-28 | Apple Computer, Inc. | System and method for handling dynamic changes in device states |
US6023585A (en) * | 1997-05-02 | 2000-02-08 | Webtv Networks, Inc. | Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices |
-
2000
- 2000-03-06 US US09/515,032 patent/US6714992B1/en not_active Expired - Lifetime
-
2001
- 2001-02-15 AU AU2001238361A patent/AU2001238361A1/en not_active Abandoned
- 2001-02-15 WO PCT/US2001/004979 patent/WO2001063411A2/en active Application Filing
-
2004
- 2004-03-29 US US10/812,039 patent/US20040181593A1/en not_active Abandoned
Patent Citations (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220674A (en) * | 1987-07-17 | 1993-06-15 | Digital Equipment Corporation | Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination |
US5109384A (en) * | 1988-11-02 | 1992-04-28 | Tseung Lawrence C N | Guaranteed reliable broadcast network |
US5195183A (en) * | 1989-01-31 | 1993-03-16 | Norand Corporation | Data communication system with communicating and recharging docking apparatus for hand-held data terminal |
US5099319A (en) * | 1989-10-23 | 1992-03-24 | Esch Arthur G | Video information delivery method and apparatus |
US5440632A (en) * | 1992-12-02 | 1995-08-08 | Scientific-Atlanta, Inc. | Reprogrammable subscriber terminal |
US5539449A (en) * | 1993-05-03 | 1996-07-23 | At&T Corp. | Integrated television services system |
US6014184A (en) * | 1993-09-09 | 2000-01-11 | News America Publications, Inc. | Electronic television program guide schedule system and method with data feed access |
US5589892A (en) * | 1993-09-09 | 1996-12-31 | Knee; Robert A. | Electronic television program guide schedule system and method with data feed access |
US5818397A (en) * | 1993-09-10 | 1998-10-06 | Radio Frequency Systems, Inc. | Circularly polarized horizontal beamwidth antenna having binary feed network with microstrip transmission line |
US5481542A (en) * | 1993-11-10 | 1996-01-02 | Scientific-Atlanta, Inc. | Interactive information services control system |
US5580177A (en) * | 1994-03-29 | 1996-12-03 | Hewlett-Packard Company | Printer/client network with centrally updated printer drivers and printer status monitoring |
US5636346A (en) * | 1994-05-09 | 1997-06-03 | The Electronic Address, Inc. | Method and system for selectively targeting advertisements and programming |
US5515098A (en) * | 1994-09-08 | 1996-05-07 | Carles; John B. | System and method for selectively distributing commercial messages over a communications network |
US5724521A (en) * | 1994-11-03 | 1998-03-03 | Intel Corporation | Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner |
US5774170A (en) * | 1994-12-13 | 1998-06-30 | Hite; Kenneth C. | System and method for delivering targeted advertisements to consumers |
US5583563A (en) * | 1995-01-12 | 1996-12-10 | Us West Marketing Resources Group, Inc. | Method and system for delivering an application in an interactive television network |
US5818438A (en) * | 1995-04-25 | 1998-10-06 | Bellsouth Corporation | System and method for providing television services |
US5892508A (en) * | 1995-04-25 | 1999-04-06 | Bellsouth Corporation | System and method for providing television services |
US5630204A (en) * | 1995-05-01 | 1997-05-13 | Bell Atlantic Network Services, Inc. | Customer premise wireless distribution of broad band signals and two-way communication of control signals over power lines |
US5646676A (en) * | 1995-05-30 | 1997-07-08 | International Business Machines Corporation | Scalable interactive multimedia server system for providing on demand data |
US5740549A (en) * | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
US6807558B1 (en) * | 1995-06-12 | 2004-10-19 | Pointcast, Inc. | Utilization of information “push” technology |
US6026368A (en) * | 1995-07-17 | 2000-02-15 | 24/7 Media, Inc. | On-line interactive system and method for providing content and advertising information to a targeted set of viewers |
US5819035A (en) * | 1995-10-20 | 1998-10-06 | Matsushita Electric Industrial Co., Ltd. | Post-filter for removing ringing artifacts of DCT coding |
US6317116B1 (en) * | 1995-12-13 | 2001-11-13 | Immersion Corporation | Graphical click surfaces for force feedback applications to provide selection of functions using cursor interaction with a trigger position of a graphical object |
US5819036A (en) * | 1995-12-14 | 1998-10-06 | Time Warner Cable | Method for message addressing in a full service network |
US6018766A (en) * | 1996-02-01 | 2000-01-25 | Mpath Interactive, Inc. | Server-group messaging system for interactive applications |
US5951639A (en) * | 1996-02-14 | 1999-09-14 | Powertv, Inc. | Multicast downloading of software and data modules and their compatibility requirements |
US6047327A (en) * | 1996-02-16 | 2000-04-04 | Intel Corporation | System for distributing electronic information to a targeted group of users |
US5848397A (en) * | 1996-04-19 | 1998-12-08 | Juno Online Services, L.P. | Method and apparatus for scheduling the presentation of messages to computer users |
US5841468A (en) * | 1996-04-26 | 1998-11-24 | Convergence. Com | System and method for routing data messages through a cable transmission system |
US5940073A (en) * | 1996-05-03 | 1999-08-17 | Starsight Telecast Inc. | Method and system for displaying other information in a TV program guide |
US5974461A (en) * | 1996-06-03 | 1999-10-26 | Webtv Networks, Inc. | Method for automatically regenerating information at a client system in the event of power or communication disruption between the client system and the server |
US5940074A (en) * | 1996-06-03 | 1999-08-17 | Webtv Networks, Inc. | Remote upgrade of software over a network |
US5916307A (en) * | 1996-06-05 | 1999-06-29 | New Era Of Networks, Inc. | Method and structure for balanced queue communication between nodes in a distributed computing application |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US5915243A (en) * | 1996-08-29 | 1999-06-22 | Smolen; Daniel T. | Method and apparatus for delivering consumer promotions |
US6038561A (en) * | 1996-10-15 | 2000-03-14 | Manning & Napier Information Services | Management and analysis of document information text |
US6247012B1 (en) * | 1996-10-28 | 2001-06-12 | Pfu Limited | Information reception and delivery system using global and local directory tables in an intranet |
US6293865B1 (en) * | 1996-11-14 | 2001-09-25 | Arcade Planet, Inc. | System, method and article of manufacture for tournament play in a network gaming system |
US5838927A (en) * | 1996-11-22 | 1998-11-17 | Webtv Networks | Method and apparatus for compressing a continuous, indistinct data stream |
US6446261B1 (en) * | 1996-12-20 | 2002-09-03 | Princeton Video Image, Inc. | Set top device for targeted electronic insertion of indicia into video |
US5854897A (en) * | 1996-12-27 | 1998-12-29 | Quantum Systems, Inc. | Network communications marketing system |
US5983353A (en) * | 1997-01-21 | 1999-11-09 | Dell Usa, L.P. | System and method for activating a deactivated device by standardized messaging in a network |
US5961602A (en) * | 1997-02-10 | 1999-10-05 | International Business Machines Corporation | Method for optimizing off-peak caching of web data |
US6009409A (en) * | 1997-04-02 | 1999-12-28 | Lucent Technologies, Inc. | System and method for scheduling and controlling delivery of advertising in a communications network |
US5978381A (en) * | 1997-06-06 | 1999-11-02 | Webtv Networks, Inc. | Transmitting high bandwidth network content on a low bandwidth communications channel during off peak hours |
US6493770B1 (en) * | 1997-07-02 | 2002-12-10 | Cypress Semiconductor Corp. | System for reconfiguring a peripheral device by downloading information from a host and electronically simulating a physical disconnection and reconnection to reconfigure the device |
US6119098A (en) * | 1997-10-14 | 2000-09-12 | Patrice D. Guyot | System and method for targeting and distributing advertisements over a distributed network |
US6167441A (en) * | 1997-11-21 | 2000-12-26 | International Business Machines Corporation | Customization of web pages based on requester type |
US6166730A (en) * | 1997-12-03 | 2000-12-26 | Diva Systems Corporation | System for interactively distributing information services |
US6002293A (en) * | 1998-03-24 | 1999-12-14 | Analog Devices, Inc. | High transconductance voltage reference cell |
US6075971A (en) * | 1998-03-27 | 2000-06-13 | Intel Corporation | Method and apparatus for providing and monitoring coupons via a network |
US6243865B1 (en) * | 1998-04-01 | 2001-06-05 | Multiscience System Ptl Ltd. | Method of relaying digital video & audio data via a communication media |
US6133912A (en) * | 1998-05-04 | 2000-10-17 | Montero; Frank J. | Method of delivering information over a communication network |
US6476825B1 (en) * | 1998-05-13 | 2002-11-05 | Clemens Croy | Hand-held video viewer and remote control device |
US6317761B1 (en) * | 1998-05-15 | 2001-11-13 | Unicast Communications Corporation | Technique for implementing browser-initiated user-transparent advertising and for interstitially displaying an advertisement, so distributed, through a web browser in response to a user click-stream |
US6185607B1 (en) * | 1998-05-26 | 2001-02-06 | 3Com Corporation | Method for managing network data transfers with minimal host processor involvement |
US6182050B1 (en) * | 1998-05-28 | 2001-01-30 | Acceleration Software International Corporation | Advertisements distributed on-line using target criteria screening with method for maintaining end user privacy |
US6603769B1 (en) * | 1998-05-28 | 2003-08-05 | Cisco Technology, Inc. | Method and system for improving traffic operation in an internet environment |
US6067529A (en) * | 1998-08-12 | 2000-05-23 | Ericsson Inc. | System and method for sending a short message containing purchase information to a destination terminal |
US6345256B1 (en) * | 1998-08-13 | 2002-02-05 | International Business Machines Corporation | Automated method and apparatus to package digital content for electronic distribution using the identity of the source content |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6199136B1 (en) * | 1998-09-02 | 2001-03-06 | U.S. Philips Corporation | Method and apparatus for a low data-rate network to be represented on and controllable by high data-rate home audio/video interoperability (HAVi) network |
US6338094B1 (en) * | 1998-09-08 | 2002-01-08 | Webtv Networks, Inc. | Method, device and system for playing a video file in response to selecting a web page link |
US6112246A (en) * | 1998-10-22 | 2000-08-29 | Horbal; Mark T. | System and method for accessing information from a remote device and providing the information to a client workstation |
US6208870B1 (en) * | 1998-10-27 | 2001-03-27 | Lucent Technologies Inc. | Short message service notification forwarded between multiple short message service centers |
US6434535B1 (en) * | 1998-11-13 | 2002-08-13 | Iomega Corporation | System for prepayment of electronic content using removable media and for prevention of unauthorized copying of same |
US6084628A (en) * | 1998-12-18 | 2000-07-04 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method of providing targeted advertising during video telephone calls |
US6480801B2 (en) * | 1999-01-19 | 2002-11-12 | Sun Microsystems, Inc. | Universal serial bus test system |
US6430564B1 (en) * | 1999-03-01 | 2002-08-06 | Hewlett-Packard Company | Java data manager for embedded device |
US6377782B1 (en) * | 1999-03-01 | 2002-04-23 | Mediacell, Inc. | Method and apparatus for communicating between a client device and a linear broadband network |
US6351747B1 (en) * | 1999-04-12 | 2002-02-26 | Multex.Com, Inc. | Method and system for providing data to a user based on a user's query |
US6463468B1 (en) * | 1999-06-01 | 2002-10-08 | Netzero, Inc. | Targeted network video download interface |
US6567854B1 (en) * | 1999-10-21 | 2003-05-20 | Genuity Inc. | Internet service delivery via server pushed personalized advertising dashboard |
US6434747B1 (en) * | 2000-01-19 | 2002-08-13 | Individual Network, Inc. | Method and system for providing a customized media list |
US6629145B1 (en) * | 2000-03-01 | 2003-09-30 | Avaya Technology Corp. | System and method of network independent remote configuration of internet server appliance |
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840647B2 (en) | 1999-09-10 | 2010-11-23 | Ianywhere Solutions, Inc. | System, method, and computer program product for executing scripts on mobile devices |
US7987420B1 (en) | 1999-09-10 | 2011-07-26 | Ianywhere Solutions, Inc. | System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices |
US20080120184A1 (en) * | 1999-09-10 | 2008-05-22 | Sybase 365, Inc. | Interactive Advertisement Mechanism on a Mobile Device |
US8595308B1 (en) | 1999-09-10 | 2013-11-26 | Ianywhere Solutions, Inc. | System, method, and computer program product for server side processing in a mobile device environment |
US20020052781A1 (en) * | 1999-09-10 | 2002-05-02 | Avantgo, Inc. | Interactive advertisement mechanism on a mobile device |
US9456048B2 (en) | 1999-12-30 | 2016-09-27 | Ianywhere Solutions, Inc. | System, method, and computer program product for server side processing in a mobile device environment |
US20040073912A1 (en) * | 2000-10-27 | 2004-04-15 | Meza Joseph R. | Automatic embedded host configuration system and method |
US7287257B2 (en) * | 2000-10-27 | 2007-10-23 | Oxford Semiconductor, Inc. | Automatic embedded host configuration system and method |
US20070198356A1 (en) * | 2000-11-28 | 2007-08-23 | Lacroix John | Promotion packaging transmission groups |
US7216090B2 (en) * | 2000-11-28 | 2007-05-08 | Navic Systems, Inc. | Promotion packaging for transmission groups |
US20030074256A1 (en) * | 2000-11-28 | 2003-04-17 | Navic Systems, Inc. | Promotion packaging for transmission groups |
US7916631B2 (en) | 2000-11-28 | 2011-03-29 | Microsoft Corporation | Load balancing in set top cable box environment |
US20030130887A1 (en) * | 2001-10-03 | 2003-07-10 | Thurston Nathaniel | Non-deterministic method and system for the optimization of a targeted content delivery |
US7571221B2 (en) * | 2002-04-03 | 2009-08-04 | Hewlett-Packard Development Company, L.P. | Installation of network services in an embedded network server |
DE102005034020B4 (en) * | 2005-03-31 | 2014-12-24 | Fujitsu Ltd. | An information processing method and apparatus managing a peripheral device connected to a computer |
DE102005034020A1 (en) * | 2005-03-31 | 2006-10-05 | Fujitsu Ltd., Kawasaki | Laptop computer with replaceable peripheral devices has control unit that executes basic program to operate computer, identifies peripheral device connected to computer, and executes corresponding program of connected peripheral device |
US20060224782A1 (en) * | 2005-03-31 | 2006-10-05 | Fujitsu Limited | Information processing apparatus managing a peripheral device connected to a computer |
US7694033B2 (en) | 2005-03-31 | 2010-04-06 | Fujitsu Limited | Information processing apparatus managing a peripheral device connected to a computer |
US20070013943A1 (en) * | 2005-07-14 | 2007-01-18 | Konica Minolta Business Technologies Inc. | Apparatus and method for managing successive jobs in devices in a network |
US8694143B2 (en) * | 2005-07-14 | 2014-04-08 | Konica Minolta Business Technologies, Inc. | Apparatus and method for managing successive jobs in devices in a network |
US20070288967A1 (en) * | 2005-09-07 | 2007-12-13 | Candelore Brant L | Method and system for downloading content to a content downloader |
US9100712B2 (en) | 2005-09-07 | 2015-08-04 | Sony Corporation | Method and system for downloading content to a content downloader |
US8863194B2 (en) | 2005-09-07 | 2014-10-14 | Sony Corporation | Method and system for downloading content to a content downloader |
US8424041B2 (en) | 2005-09-07 | 2013-04-16 | Sony Corporation | Method and system for downloading content to a content downloader |
US7804822B2 (en) * | 2005-09-21 | 2010-09-28 | At&T Intellectual Property Ii, L.P. | Method and apparatus for detecting subscriber service address change |
US20070070990A1 (en) * | 2005-09-21 | 2007-03-29 | Chong Koan S | Method and apparatus for detecting subscriber service address change |
US20070098427A1 (en) * | 2005-10-27 | 2007-05-03 | Kenji Katsuhara | Image forming device |
US20070288986A1 (en) * | 2006-06-13 | 2007-12-13 | Candelore Brant L | Method and system for downloading content to a target device |
US20070288985A1 (en) * | 2006-06-13 | 2007-12-13 | Candelore Brant L | Method and system for uploading content to a target device |
US9509801B2 (en) | 2007-08-16 | 2016-11-29 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US8556174B2 (en) | 2007-08-16 | 2013-10-15 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US7857222B2 (en) | 2007-08-16 | 2010-12-28 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US8297508B2 (en) | 2007-08-16 | 2012-10-30 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US9929906B2 (en) | 2007-08-16 | 2018-03-27 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US8025233B2 (en) | 2007-08-16 | 2011-09-27 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US8925818B2 (en) | 2007-08-16 | 2015-01-06 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US9258188B2 (en) | 2007-08-16 | 2016-02-09 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US20090168995A1 (en) * | 2007-11-26 | 2009-07-02 | Banga Jasminder S | Systems and Methods of Information/Network Processing Consistent with Creation, Encryption and/or Insertion of UIDs/Tags |
US8881140B1 (en) * | 2009-09-04 | 2014-11-04 | Symantec Corporation | Systems and methods for virtualizing software associated with external computer hardware devices |
US10976891B2 (en) | 2009-12-08 | 2021-04-13 | Hand Held Products, Inc. | Remote device management interface |
US9497092B2 (en) | 2009-12-08 | 2016-11-15 | Hand Held Products, Inc. | Remote device management interface |
US20110154324A1 (en) * | 2009-12-23 | 2011-06-23 | International Business Machines Corporation | Virtual Machine Administration For Data Center Resource Managers |
US8539123B2 (en) | 2011-10-06 | 2013-09-17 | Honeywell International, Inc. | Device management using a dedicated management interface |
US9298667B2 (en) | 2011-10-06 | 2016-03-29 | Honeywell International, Inc | Device management using virtual interfaces cross-reference to related applications |
US9053055B2 (en) | 2011-10-06 | 2015-06-09 | Honeywell International | Device management using virtual interfaces cross-reference to related applications |
US8918564B2 (en) | 2011-10-06 | 2014-12-23 | Honeywell International Inc. | Device management using virtual interfaces |
US8868803B2 (en) | 2011-10-06 | 2014-10-21 | Honeywell Internation Inc. | Managing data communication between a peripheral device and a host |
US10049075B2 (en) | 2011-10-06 | 2018-08-14 | Honeywell International, Inc. | Device management using virtual interfaces |
US8621123B2 (en) | 2011-10-06 | 2013-12-31 | Honeywell International Inc. | Device management using virtual interfaces |
Also Published As
Publication number | Publication date |
---|---|
WO2001063411A2 (en) | 2001-08-30 |
WO2001063411A3 (en) | 2003-09-04 |
US6714992B1 (en) | 2004-03-30 |
AU2001238361A1 (en) | 2001-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6714992B1 (en) | Method and system for embedded network device installation | |
US7689672B2 (en) | Collecting user attributes and device attributes to target users with promotions | |
US6845396B1 (en) | Method and system for content deployment and activation | |
US7330824B1 (en) | Method and system for content profiling and activation | |
US7650423B2 (en) | System and method for providing update information | |
JP5368605B2 (en) | A system for sending and dynamic presentation of multimedia assets on networks with limited line capacity | |
US6539429B2 (en) | Method and apparatus for transmitting and displaying information between a remote network and a local computer | |
JP4227515B2 (en) | Selecting content according to the communication environment | |
US6226739B1 (en) | Method and computer program for distributing software to a personal palm-type device through a global software distribution package transmittable over the world wide web | |
WO2001063448A2 (en) | Method and system of user profile generation | |
US20020023092A1 (en) | Information delivery system, information delivery apparatus, receiver apparatus, and information delivery method | |
JPH1153441A (en) | Information processing method | |
KR20000059522A (en) | Control Method for Video On Demand Client's Movie List | |
RU2400016C2 (en) | Method and system for transmitting data relating to tele and audio broadcasting to mobile data processing unit | |
JP2002325236A (en) | Method for contents transmission processing, device for receiving contents and broadcasting device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0509 Effective date: 20141014 |