`
`(12) United States Patent
`Bellotti
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8.489,599 B2
`Jul. 16, 2013
`
`(54) CONTEXT AND ACTIVITY-DRIVEN
`CONTENT DELVERY AND INTERACTION
`
`(75) Inventor: Victoria M. E. Bellotti, San Francisco,
`CA (US)
`(73) Assignee: Palo Alto Research Center
`Incorporated, Palo Alto, CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 421 days.
`(21) Appl. No.: 12/326,457
`
`(*) Notice:
`
`(22) Filed:
`
`Dec. 2, 2008
`
`(65)
`
`Prior Publication Data
`US 2010/O138416A1
`Jun. 3, 2010
`
`(2006.01)
`
`(51) Int. Cl.
`G06F 7/30
`(52) U.S. Cl.
`USPC .......................................................... T07f736
`(58) Field of Classification Search
`None
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,611,050 A
`3, 1997 Theimer
`7,630,986 B1* 12/2009 Herz et al. ............................ 1f1
`7,631,007 B2* 12/2009 Morris .........
`705.7.11
`7,797.306 B1* 9/2010 Pather et al. .................. 707/714
`2002.0054174 A1
`5, 2002 Abbott
`2003/0063072 A1* 4/2003 Brandenberg et al. ........ 345,173
`2007/0038603 A1
`2/2007 Guha ................................ 707/3
`2007/0055657 A1* 3, 2007 Yano ................................. 707/3
`2007,025.0901 A1* 10, 2007 McIntire et al. .............. T25,146
`
`2007/0288247 A1* 12/2007 Mackay ............................ 705/1
`2008. O168135 A1* 7, 2008 Redlich et al. .....
`TO9.204
`2008/0172261 A1* 7/2008 Albertson et al. .
`705/7
`2009,0254971 A1* 10, 2009 Herz et al. .........
`... 726, 1
`2009,0265764 A1* 10, 2009 Schultz et al. .................... T26/4
`
`WO
`WO
`
`FOREIGN PATENT DOCUMENTS
`200611 1935 A1
`10, 2006
`2007059.241 A2
`5/2007
`OTHER PUBLICATIONS
`Min Hong Yun et al., “Event-based multimedia object scheduling
`algorithm”. Advanced Communication Technology, 2004. The 6th
`International Conference on Phoenix Park, Korea, Feb. 9-11, 2004,
`vol. 2, pp. 735-740, ISBN: 89-5519-119-7.
`Al-Bin-Ali F. “Design Principles for Inducing Reactivity in Ubiqui
`tous Environments'. Pervasive Services, 2004, IEEE/ACS Interna
`tional Conference on Beirut, Lebanon Jul. 19-23, 2004, pp. 131-139,
`ISBN: 0-7695-2535-0.
`
`* cited by examiner
`Primary Examiner — Bai D. Vu
`(74) Attorney, Agent, or Firm — Shun Yao: Park, Vaughan,
`Fleming & Dowler LLP
`(57)
`ABSTRACT
`One embodiment of the present invention provides a comput
`ing device that delivers personally-defined context-based
`content to a user. This computing device receives a set of
`contextual information with respect to the user, and processes
`the contextual information to determine a context which is
`associated with an activity being performed by the user. The
`computing device then determines whether either or both the
`context and a current activity of the user satisfy a trigger
`condition which has been previously defined by the user. If so,
`the computing device selects content from a content database,
`based on the context, to present to the user, and presents the
`selected content.
`
`25 Claims, 4 Drawing Sheets
`
`
`
`
`
`00
`
`CONTENT MANAGEMENTSYSTEM
`INPUT
`CONTENT DELIVERY
`MECHANISM
`MECHANISM
`108
`
`02
`
`2
`
`
`
`CONTENT
`
`
`
`CONTENT
`MANAGER
`
`CONTENT
`DATABASE
`
`Page 1 of 18
`
`SNAP EXHIBIT 1001
`
`
`
`U.S. Patent
`
`Jul. 16, 2013
`
`Sheet 1 of 4
`
`US 8,489,599 B2
`
`
`
`
`
`100
`
`CONTENT MANAGEMENTSYSTEM
`INPUT
`CONTENT DELIVERY
`MECHANISM
`MECHANISM
`108
`
`02
`
`
`
`2
`
`CONTENT
`
`
`
`CONTENT
`MANAGER
`
`CONTENT
`DATABASE
`
`FIG. T.
`
`Page 2 of 18
`
`
`
`U.S. Patent
`
`Jul. 16, 2013
`
`Sheet 2 of 4
`
`US 8,489,599 B2
`
`200
`CONTENT MANAGEMENTSYSTEM
`
`CONTEXT MANAGER
`
`
`
`
`
`204
`INPUT
`MECHANISM
`
`
`
`FIG. 2A
`
`
`
`CONTENT MANAGEMENTSYSTEM
`
`CONTENT DATABASE
`
`CONTEXT MANAGER
`
`241
`
`CONTENT
`STREAM
`
`INPUT
`MECHANISM
`
`FIG. 2B
`
`Page 3 of 18
`
`
`
`U.S. Patent
`
`Jul. 16, 2013
`
`Sheet 3 of 4
`
`US 8,489,599 B2
`
`DOES CONTEXT
`SATISFY TRIGGER
`
`340
`
`350
`
`
`
`
`
`
`
`
`
`RECORD CONTENT PROVIDED
`BY THE USER
`
`CREATE A CONTENT ENTRY FOR
`THE RECORDED CONTENT
`
`ASSOCATE THE TRIGGER CONDITION
`FORTHE CONTENT ENTRY WITH A
`PREDEFINED CONTEXT
`
`
`
`40
`
`420
`
`430
`
`FIG. 4
`
`Page 4 of 18
`
`
`
`U.S. Patent
`
`Jul. 16, 2013
`
`Sheet 4 of 4
`
`US 8,489,599 B2
`
`
`
`504
`506
`
`54
`
`8 C dy
`STORAGE
`lDEVICE
`
`SENSORS )
`
`A
`
`
`
`
`
`
`
`
`
`
`
`528
`OPERATING SYSTEM
`CONTENT MANAGEMENT
`SYSTEM
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CONTENT DELIVERY
`MECHANISM
`
`530
`
`532
`
`534
`
`536
`
`538
`
`540
`
`CONTEXT DEFINITIONS -542
`CONTENTPACKAGES
`-
`
`Page 5 of 18
`
`
`
`1.
`CONTEXT AND ACTIVITY-DRIVEN
`CONTENT DELVERY AND INTERACTION
`
`BACKGROUND
`
`1. Field of the Invention
`The present invention generally relates to techniques and
`systems for creating and presenting content to a user. More
`specifically, the present invention relates to techniques and
`systems for creating and presenting content based on contex- 10
`tual information.
`2. Related Art
`Advancements in computing technology continue to
`improve communication between people and provide versa
`tile ways to deliver information. These advancements have 15
`allowed communities around the world to interact and share
`information with each other. In particular, mobile devices are
`becoming an integral part of human life, as people often carry
`a mobile device throughout their day. These mobile devices
`can include a mobile phone, a personal digital assistant 20
`(PDA), an MP3 player, a handheld game console, and a laptop
`computer. Newer generations of these mobile devices are
`developed with more computation power and a growing num
`ber of communication features.
`In effect, many of these mobile devices can perpetuate a 25
`fast-paced lifestyle for their users, as they may help users
`schedule the time around their responsibilities. However,
`these technological advances do not effectively help their
`users cope with this increase in pace. Typical working pro
`fessionals may have a number of communication channels 30
`that they monitor, and they often need to remind themselves to
`monitor these channels. Also, these users typically have a list
`of errands they need to complete, and this list may grow
`throughout a work week because they do not remember to
`complete these errands until the weekend. Furthermore, these 35
`users often need to continue advancing their skills, but their
`work and social schedules do not allow much free time for
`extended study.
`Unfortunately, mobile devices are not effective in helping
`working professionals accommodate their responsibilities 40
`around their busy schedule, because these mobile devices are
`not capable of learning and understanding the behavior of
`their users. Furthermore, these mobile devices cannot deter
`mine when and how best to provide their users with informa
`tion or suitable entertainment content, because they do not 45
`take into account the activities that their users are involved in.
`
`SUMMARY
`
`One embodiment of the present invention provides a com- 50
`puting device that delivers personally-defined context-based
`content to a user. This computing device receives a set of
`contextual information with respect to the user, and processes
`the contextual information to determine whether some aspect
`of the current context can be associated with a probable 55
`activity being performed by the user. The computing device
`then determines whether either or both the contextand current
`activity of the user satisfy a trigger condition which has been
`previously defined by the user. If so, the computing device
`selects content from a content database, based on the context 60
`or activity, to present to the user, and presents the selected
`COntent.
`In a variation on this embodiment, the computing device
`allows the user to create content that is associated with a
`user-defined contextual or activity-driven trigger condition. 65
`To do so, the computing device records the content that is
`provided by the user, and creates a content entry in the content
`
`US 8,489,599 B2
`
`2
`database for the recorded content, wherein the content entry
`can be associated with a number of trigger conditions. Then,
`the computing device associates a trigger condition for the
`content entry with a user-defined context or activity. The
`computing device continuously compares previously-defined
`trigger conditions for the content entry with the ongoing
`context of the user and/or user activity. When a trigger con
`dition is met, the computing device retrieves the associated
`content and presents it to the user.
`In a further variation, the computing device allows the user
`to create shareable content. To do so, the computing device
`records the content that is provided by the user, and creates a
`content package for the recorded content. This content pack
`age can include the recorded content, and can include a num
`ber of user-defined trigger conditions. The user is capable of
`sharing the content package with other users by distributing
`the content package to other users, and/or by uploading the
`content package onto a public server. Furthermore, other
`users that download or receive the content package are
`allowed to insert, modify, and/or remove content or trigger
`conditions from the content package.
`In a variation on this embodiment, the computing device
`defines a context by creating a context or activity entry in a
`context manager, and associates the context or activity entry
`with a set of contextual information.
`In a further variation, the computing device evolves the
`presentation of content over time by updating the content
`entries in the content database and updating the context or
`activity entries in the context manager responsive to actions
`performed by the user.
`In a variation on this embodiment, the computing device
`presents the selected content by following a number of pre
`defined or user-defined presentation rules associated with the
`selected content, monitoring actions performed by the user,
`and presenting the selected content based on the actions per
`formed by the user.
`In a variation on this embodiment, the computing device
`presents the selected content by sharing the selected content
`with a remote device.
`In a variation on this embodiment, the contextual informa
`tion includes one or more of time, date, location, proximity to
`a system-detectable tag (e.g., radio frequency identification
`(RFID) tag), device orientation, Velocity, direction, distance,
`vibration, altitude, temperature, pressure, humidity, Sound,
`luminous intensity, camera image, and video stream.
`In a variation on this embodiment, the content includes at
`least one or more of audio clip, image, video stream, lan
`guage lesson, e-mail, weather report, calendar reminder,
`news feed, rich site summary (RSS) feed, and Internet blog.
`
`BRIEF DESCRIPTION OF THE FIGURES
`
`FIG. 1 illustrates a content management system in accor
`dance with an embodiment of the present invention.
`FIG. 2A illustrates a data flow for a content management
`system associated with delivering content to a user in accor
`dance with an embodiment of the present invention.
`FIG. 2B illustrates a data flow for a content management
`system associated with allowing a user to create content in
`accordance with an embodiment of the present invention.
`FIG.3 presents a flow chart illustrating a process for deliv
`ering context-based content to a user in accordance with an
`embodiment of the present invention.
`FIG. 4 presents a flow chart illustrating a process for cre
`ating context-based content in accordance with an embodi
`ment of the present invention.
`
`Page 6 of 18
`
`
`
`3
`FIG. 5 illustrates an exemplary computing device that
`facilitates creating and delivering context-based content in
`accordance with an embodiment of the present invention.
`TABLE 1 illustrates an exemplary set of rules for present
`ing a content package to a user in accordance with an embodi
`ment of the present invention.
`TABLE 2 illustrates an exemplary set of rules for present
`ing a reminder content package to a user in accordance with
`an embodiment of the present invention.
`
`DETAILED DESCRIPTION
`
`The following description is presented to enable any per
`son skilled in the art to make and use the invention, and is
`provided in the context of a particular application and its
`requirements. Various modifications to the disclosed embodi
`ments will be readily apparent to those skilled in the art, and
`the general principles defined herein may be applied to other
`embodiments and applications without departing from the
`spirit and scope of the present invention. Thus, the present
`invention is not limited to the embodiments shown, but is to
`be accorded the widest scope consistent with the principles
`and features disclosed herein.
`The data structures and code described in this detailed
`description are typically stored on a computer-readable Stor
`age medium, which may be any device or medium that can
`store code and/or data for use by a computer system. The
`computer-readable storage medium includes, but is not lim
`ited to, Volatile memory, non-volatile memory, magnetic and
`optical storage devices such as disk drives, magnetic tape,
`CDs (compact discs), DVDs (digital versatile discs or digital
`video discs), or other media capable of storing computer
`readable media now known or later developed.
`The methods and processes described in the detailed
`description section can be embodied as code and/or data,
`which can be stored in a computer-readable storage medium
`as described above. When a computer system reads and
`executes the code and/or data stored on the computer-read
`able storage medium, the computer system performs the
`methods and processes embodied as data structures and code
`and stored within the computer-readable storage medium.
`Furthermore, the methods and processes described below
`can be included in hardware modules. For example, the hard
`ware modules can include, but are not limited to, application
`specific integrated circuit (ASIC) chips, field-programmable
`gate arrays (FPGAs), and other programmable-logic devices
`now known or later developed. When the hardware modules
`are activated, the hardware modules perform the methods and
`processes included within the hardware modules.
`Overview
`Embodiments of the present invention provide a content
`management system for organizing and delivering packages
`of audio and visual content to a user in response to activities
`being performed by the user, and in response to a number of
`environmental factors associated with the user. The user
`activities and environmental factors that trigger a response
`from the content management system are defined by the user
`prior to enabling a given package of content. This content
`management system is intended to help a user manage their
`content and responsibilities around their schedule. Prior to
`operation, a user can upload or input content into the content
`management system, which may be music, study material, a
`to-do list, an RSS feed or any other content suitable for
`delivery in a range of contexts. The user can then specify the
`conditions under which the content can be presented, in terms
`of a sensed contextual information (e.g., temperature) or a
`user-defined context (e.g., a user activity). These conditions
`
`4
`represent the triggers for presenting content, and are labeled
`using user-meaningful terms, such as time of day, day of
`week, a location identifier (e.g., "home’) or a transportation
`modality (e.g., "on the train”), et cetera. The user can also
`specify a target audience for the content presentation, such as
`the user and/or other users.
`In some embodiments, the user may define contexts or
`activities in terms of low-level contextual information that is
`associated with the user. Note that “context' and “activities’
`are not necessarily mutually exclusive. In one embodiment, a
`context can be based on or include one or more user activities.
`For example, if the content management system can sense
`motion, location, and time of day, then the user can define a
`context for walking from one location to another at a particu
`lar time of day, and label the context using human-meaningful
`terms (e.g., “walking to work, or “walking around the mall').
`In another example, the user can define a context for moving
`around the yard, and label the context using a human-mean
`ingful term 'gardening.” In some embodiments, the user may
`define an activity in terms of a high-level category of condi
`tions, such as “concentrating.” “receptive.” or “active.” For
`example, the user may define a context labeled “receptive'
`based on a number of user defined contexts associated with
`mindless tasks (e.g., “walking to work.” “walking around the
`mall'). On the other hand, the user may define a context
`labeled “active' based on a number of user-defined contexts
`associated with physical activities (e.g., jogging.” “garden
`ing'). The user can then define a trigger condition for certain
`content based on a high-level condition category which
`includes several low-level contexts.
`During operation, the content management system can
`gather low-level contextual information from a number of
`input sources (e.g., a global positioning system (GPS) device,
`or an accelerometer), which reflects basic information asso
`ciated with the user. Then, the content management system
`processes this contextual information to determine an
`inferred context, which has been defined in human-meaning
`ful terms that describe an event or environmental factor asso
`ciated with the user (e.g., “on the train after 5 P.M.). In some
`embodiments, the content management system can use this
`context to identify content that is ready to be presented in
`response to a user-defined context. In other embodiments, the
`content management system can use a user-defined context to
`search for and/or create content that can be presented to a user
`in a desired context.
`The capabilities of the content management system can be
`applied to a number of applications. In some embodiments,
`the content management system can present instructional
`content under a given user-defined context. For example, the
`content management system can present visual lectures or
`interactive lessons to a user when the user is commuting to
`work in a bus or in a train. Similarly, the content management
`system can presentaudio-based instructional content to a user
`when the user is driving to work or is jogging. In other
`embodiments, the content management system can present
`entertainment content to the user when the user enters his or
`her living room after a long day of work.
`In some embodiments, a user can create shareable content
`using the content management system on a mobile device or
`a personal computer (PC). The shareable content is a content
`package that a user can download, modify, and share with
`other content management systems. In some embodiments, a
`user can upload a content package onto an Internet website to
`share content the user created or modified using the content
`management system. In some other embodiments, a user can
`download a content package from an Internet website, and
`
`US 8,489,599 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 7 of 18
`
`
`
`US 8,489,599 B2
`
`5
`modify the content package to insert, modify, and/or remove
`content from the content package.
`In some embodiments, the content management system
`can share content with a remote computing device. For
`example, a user can create an instructional or an entertain
`ment content package on a content management System,
`specify a user-defined context for when the content can be
`presented, and share the content package with other content
`management systems. In other embodiments, the content
`management system can communicate content to a remote
`device under a given user-defined context. For example, the
`content management system can send a text message or an
`audio stream to the mobile telephone of a user's spouse to
`alert the spouse that the user is working late.
`Content Management System
`FIG. 1 illustrates a content management system 100 in
`accordance with an embodiment of the present invention. In
`Some embodiments, content management system 100 can
`present content 112 to a user in response to actions being
`performed by the user, or other information that is associated
`with the user. In other embodiments, content management
`system 100 allows a user to create and store content, and
`associate the content with a given user-defined context. In one
`example, content management system 100 can present a
`given class of information to the user when the user is jog
`ging, based on a high-level context labeled “active’ which
`includes the low-level context labeled jogging.” In a second
`example, content management system 100 can remind the
`user to buy groceries as the user is driving past a grocery store
`after work. Furthermore, content management system 100
`can read specific items on the grocery list to the user as the
`user walks across a corresponding aisle of the grocery store.
`In some embodiments, content management system 100
`includes an input mechanism 102, a context manager 104, a
`content database 106, and a content delivery mechanism 108.
`Input mechanism 102 receives a user input 110, which can
`include information provided by the user through an input
`device (e.g., a keyboard or a touch screen), or can include
`contextual information gathered from a number of input
`Sources (e.g., a microphone, a camera, a motion sensor, a
`global positioning mechanism, or an Internet server).
`Context manager 104 can control how content 112 is stored
`in content database 106, and can control how content 112 is
`selected from content database 106 for playback. In some
`embodiments, context manager 104 creates content 112 by
`providing content database 106 with a content package to be
`stored, which includes content 112 and a corresponding user
`defined context that describes when content 112 can be pre
`sented. In response, content database 106 stores content 112,
`and associates content 112 with the specified user-defined
`context. In other embodiments, context manager 104
`retrieves content 112 from content database 106 by providing
`content database 106 with a user-defined context that
`describes actions being performed by the user, and then
`receiving a corresponding content from content database 106.
`Content delivery mechanism 108 can control how content
`112 is presented to the user. In some embodiments, content
`delivery mechanism 108 presents content 112 to a user when
`context manager 104 selects content 112 for playback. In
`Some variations on these embodiments, content delivery
`mechanism 108 can present content 112 in response to
`actions performed by the user, or interactions received from
`the user. For example, content delivery mechanism 108 may
`provide a user with a sequence of tasks to perform, Such that
`content delivery mechanism 108 monitors the actions per
`formed by the user, and advances to presenta Subsequent task
`once the user completes a given task. Context manager 104
`
`40
`
`45
`
`6
`can be configured to determine when the user completes a
`task by monitoring the information gathered by input mecha
`nism 102. Such as a microphone that gathers a verbal utter
`ance of the user confirming the completion of a given task. In
`a second example, content delivery mechanism 108 may react
`to Verbal requests or responses from the user as content deliv
`ery mechanism 108 presents content 112.
`Contextual Information
`Mobile devices often include a number of information
`based capabilities that facilitate integrating these devices into
`the daily routine of their user. These capabilities can be con
`figured to determine contextual information associated with a
`user, and the mobile devices can be configured to utilize this
`contextual information to determine when and how to present
`information to the user. In one embodiment, “contextual
`information' can be defined as input data that is gathered by
`a computing device from a number of input sources, and
`reflects basic information associated with the user and/or the
`operating environment of the computing device. In some
`embodiments of the present invention, contextual informa
`tion is data that is recorded from a number of input sources
`without being interpreted by the computing device.
`In some embodiments of the present invention, content
`management system 100 can determine contextual informa
`tion associated with a user, including:
`Time of day—Content management system 100 can keep
`track of time and date information. In some embodi
`ments, content management system 100 can synchro
`nize its time and date information with a time server
`(e.g., using the network time protocol (NTP)). In some
`embodiments, content management system 100 can take
`advantage of time of day, day of week, date, holidays,
`etc., as a contextual factor when delivering information.
`Geographical location—Location awareness is becoming
`a prominent feature of mobile devices. In some embodi
`ments, content management system 100 can determine
`its geographical location by GPS, cellular tower trian
`gulation, Wi-Fi triangulation, or other means now
`known or later developed.
`Motion detection. Some mobile devices are capable of
`detecting motion (i.e., whether they are moving, shak
`ing, tilting, etc.). Content management system 100 can
`achieve motion detection by using an accelerometer, a
`gyroscope, or other means now known or later devel
`oped.
`Sound detection Mobile devices often include a micro
`phone for capturing Sounds, or can utilize a microphone
`as a peripheral device. In some embodiments, content
`management system 100 can use a microphone to cap
`ture verbal utterances of the user. In other embodiments,
`content management system 100 can use a microphone
`to capture ambient Sounds.
`Image detection—Mobile devices often include a camera
`for recording pictures and/or video, or can utilize a
`peripheral camera. In some embodiments, content man
`agement system 100 can use a camera to determine
`lighting levels.
`Internet information—Mobile devices often have access to
`the Internet, either via a Wi-Fi connection and/or a cel
`lular network. In some embodiments, content manage
`ment system 100 utilizes an Internet connection to
`gather public context and content information. This con
`text information can include a weather report, stock
`report, news event, and any other trigger event that is
`accessible from the Internet. The content information
`can include an audio clip, image, Video stream, language
`lesson, e-mail, weather report, calendar reminder, news
`
`10
`
`15
`
`25
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`Page 8 of 18
`
`
`
`7
`feed, rich site summary (RSS) feed, Internet blog, and
`any other content that is accessible from the Internet.
`In some embodiments of the present invention, content
`management system 100 is designed to detect basic contex
`tual information on the behavior of the user, including but not
`limited to: location, movement, Sound, Verbal utterances
`(e.g., speech), ambient Voices (e.g., from a television or
`radio), keyboard clacking, lighting, brain activity readings,
`Velocity, walking, driving, user input, routines or patterns in
`the behavior of the user, and vocal inflections or biometric
`readings indicating agitation and/or irritation.
`In some embodiments, content management system 100
`can be kept in continuous operation, and can Sustain its aware
`ness of contextual information associated with a user during
`operation. In some variations on these embodiments, content
`management system 100 monitors a number of sensors and/or
`input devices using input mechanism 102 to gather contextual
`information with respect to the user. In other variations, a
`sensor or input device can initiate a specific Software process
`of content management system 100 for gathering new con
`textual information from the sensor or input device. In further
`embodiments, content management system 100 can awaken
`from a sleep mode of operation at predetermined time inter
`vals to poll its current context and determine whether the
`context satisfies trigger conditions which are associated with
`content in database 106. If no relevant contextual triggers are
`satisfied by the context, then content management system 100
`can return to the sleep mode of operation.
`Context
`In some embodiments, content management system 100
`can determine a context associated with a user and/or oper
`ating conditions of the mobile device based on contextual
`information. Whenever input mechanism 102 gathers basic
`contextual information from a number of Sources, context
`manager 104 can interpret the basic contextual information to
`infer a number of user-defined contexts. A context is a set of
`data that describes an event or environmental factor associ
`ated with a user or the operational environment of content
`management system 100. In some variations on these
`embodiments, a context can be inferred from contextual
`information gathered by input mechanism 102. In other varia
`tions, a context can be inferred from a number of contexts
`which have been inferred from contextual information. A
`context can also be inferred from a combination of contexts
`and contextual information.
`For example, content management system 100 can be pro
`grammed to infer specific contexts about the user based on
`contextual information, including but not limited to whether
`the user is sitting down, watching TV, asleep, alert, talking,
`typing at the computer in the home study or at the office,
`walking around the house, walking outside the house, driv
`ing, or performing a household activity (e.g., cooking, or
`getting ready for work). In other examples, content manage
`ment system 100 can be programmed to infer user patterns
`and preferences (e.g., taking the bus rather than walking when
`the weather is bad), possible hazards (e.g., darkness, weather
`warnings, proximity to crime Zones), and the mental State of
`the user (e.g., mood, or concentration level).
`Content
`Mobile devices often include presentation mechanisms for
`reproducing audio and/or video content. In some embodi
`ments of the present invention, content management system
`100 uses these presentation mechanisms to present content
`that is triggered by a given context. In some variations on
`these embodiments, content management system 100 pre
`sents interactive content to the user, where a user can interact
`with the interactive content using input mechanism 102 of
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 8,489,599 B2
`
`10
`
`15
`
`8
`content management system 100 (e.g., pressing buttons,
`touching a location of a touch screen, or communicating
`Verbal utterances into a microphone).
`When content management system 100 infers a user-de
`fined context that is associated with the user, content man
`agement system 100 can use the inferred context to search for
`content in content database 106, and retrieve content that can
`be presented under the given context. In some embodiments,
`content database 106 stores a set of content packages, where
`a content package includes a collection of content, and
`includes a number of contexts that can trigger content man
`agement system 100 to present content in the content pack
`age. In some variations on these embodiments, a content
`package can also include a script or executable code that can
`control how content is presented, and can implement the
`Software mechanisms that interact with the user during pre
`sentation of the content.
`In some embodiments of the present invention, content
`delivery mechanism 108 of content management system 100
`can present content to a user in response to a context associ
`ated with the user. In other embodiments, content manage
`ment system 100 can transmit content to a remote device in
`response to a context associated with the user.
`In some embodiments of the present invention, content
`management system 100 can present content that is provided
`by a central publisher (e.g., a predetermined server). In other
`embodiments, content management system 100 can present
`content that is generated by the user. In a variation on these
`embodiments, content management system 100 can present
`content that is generated on a remote device, and is shared by
`the user of the remote device. For example, content manage
`ment system 100 of a user that is driving toward a grocery
`store can automatically receive a grocery list that his wife
`generated for herself earlie