Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a user's preference and availability
Abstract
This record has no abstract on file.
Term
Term ended
Expired 24 May 2024, 2.3 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
25 claims: 5 independent, 20 dependent
- 1エンティティの間の通信およびコラボレーションを容易にするための コンピュータにより実現される システムであって、 以下のコンピュータ実行可能コンポーネントを含むシステムにおいて、 1つまたは複数のユーザのアクティビティパターンに従ってトレーニングされ てモデルを構築する 学習コンポーネントと、 前記モデルはコンピュータ上で動作可能な割り込みワークベンチに調節されていて、 サブジェクトの活動と全体のオフィスのコンテキストを記録するために使用されるビデオカメラと、 イベント及びコンテキスト・キャプチャに関するモデル構築の第一のフェーズを提供するコンポーネントと、 前記学習コンポーネント 及びモデル を使用して、前記1つまたは複数のユーザの状態に関係する予測を生成する予想コンポーネントと を備えたことを特徴とするシステム。
- 2前記予想コンポーネントは、識別されたユーザの存在および可用性に関する1つまたは複数のクエリを受信し、識別された前記ユーザの現在または将来に関係する1つまたは複数の予測を生成することを特徴とする請求項1に記載のシステム。
- 3前記クエリおよび1つまたは複数の戻された状態は、1つまたは複数の自動アプリケーションまたは許可された人々によって生成および受信されることを特徴とする請求項2に記載のシステム。
- 4前記クエリは、前記アプリケーションまたは前記許可された人々によって、識別されたユーザの存在、可用性、位置、通信能力、デバイス可用性のうち少なくとも1つに関する回答を得るために発信されることを特徴とする請求項3に記載のシステム。
- 5前記予想コンポーネントは、どのくらい長く人が不在であると期待されるか、または、どのくらい長く人が使用可能でない可能性があるかに関係する相補的情報を 決定 することを特徴とする請求項1に記載のシステム。
- 6存在状態は、ユーザがある位置に到着するか、そこから去るまでの時間、前記ユーザが少なくとも時間tに渡ってある位置にいるようになるまでの時間、前記ユーザがデバイスへのアクセスを有するまでの時間、前記ユーザが電子メールまたは他のメッセージをレビューするまでの時間、前記ユーザが進行中の会話を終了するまでの時間、前記ユーザがミーティングに出席する尤度、経時的な割り込みの期待コストのうち少なくとも1つを含むことを特徴とする請求項1に記載のシステム。
- 7前記学習コンポーネントは、存在状態について推論するための1つまたは複数の学習モデルを含み、前記学習モデルは、統計モデル、数学モデル、ベイズ依存性モデル、ナイーブベイズ分類器、サポートベクトルマシン(SVM)、ニューラルネットワークおよび隠れマルコフモデルのうち少なくとも1つを含むことができることを特徴とする請求項1に記載のシステム。
- 8前記学習コンポーネントは、前記1つまたは複数のユーザに関連付けられた複数の異なるデータソースからのデータを集約するユーザイベントデータストア を用いて 、トレーニングされることを特徴とする請求項1に記載のシステム。
- 9前記データソースは、ユーザイベントデータを記録またはログするデータ獲得コンポーネントを含み、前記データソースは、携帯電話、加速度計、マイクロフォンによって記録された音響アクティビティ、全地球測位システム(GPS)、電子カレンダ、時間情報、視覚監視デバイス、無線デバイスおよびコンピュータデスクトップアクティビティのうち少なくとも1つを含むことを特徴とする請求項8に記載のシステム。
- 10前記予想コンポーネントは、サーバー、サーバーファーム、クライアントアプリケーション、ウェブサービス、および、回答を自動システムまたは許可された人々に提供する自動アプリケーションのうち少なくとも1つとして実施されることを特徴とする請求項1に記載のシステム。
- 11前記データ獲得コンポーネントは、ユーザが、ユーザの存在を定義するために利用されたオーディオおよびビデオソースのパラメータを構成および定義することができる信号処理レイヤを含むことを特徴とする請求項9に記載のシステム。
- 12前記予想コンポーネントは、クエリによって定義されるような、不在および存在の期間、ならびに、アポイントメント開始および終了時間の間の移行のような、ランドマークの間の時間的関係を表す変数の公式化および離散化のカスタム調整を可能にするための前記クエリと一致する事例のセットを、イベントデータベースから構成することを特徴とする請求項1に記載のシステム。
- 13前記イベントデータベースは、存在および不在の期間をイベントとしてイベントログにおいてログすることを特徴とする請求項12に記載のシステム。
- 14前記イベントは、各機能および位置によって定義されるソースデバイスによって注釈を付けられることを特徴とする請求項13に記載のシステム。
- 15前記ユーザが異なるタイプのデバイスへのアクセスを有するまでの時間に渡る確率分布をシステムが予想することができるようにする機能によって索引付けされた、特定のデバイスによる、イベントのタグ付けをさらに備えたことを特徴とする請求項14に記載のシステム。
- 16前記ソースデバイスが、ユーザの位置の予想を可能にする固定位置に割り当てられることをさらに備えたことを特徴とする請求項14に記載のシステム。
- 17システム上で実行中であるアプリケーション、現在フォーカスが合っているアプリケーション、またはフォーカスが外れたばかりのアプリケーションを含めて、ユーザの、コンピューティングシステムとの対話の履歴を監視するためのイベントシステムをさらに備えたことを特徴とする請求項1に記載のシステム。
- 18前記予想コンポーネントは、ユーザが電子メールをチェック中であるか、通知をレビュー中であるときを識別することを特徴とする請求項1に記載のシステム。
- 19前記予想コンポーネントは、ユーザが通信をレビューする可能性が高くなるまでの時間を、前記ユーザが最後に前記通信をレビューしてからどのくらいの時間が経過しているかが与えられると、予想することを特徴とする請求項18に記載のシステム。
- 20前記予想コンポーネントは、ユーザがアプリケーションを使用するか、あるいは前記アプリケーションの使用をやめるまでの時間を判定することを特徴とする請求項1に記載のシステム。
- 21前記予想コンポーネントは、現在の会話が終了する可能性が高い時間を予測することを特徴とする請求項1に記載のシステム。
- 22請求項1に記載の前記学習コンポーネントおよび前記予想コンポーネントを 実現 するためのコンピュータ可読命令を記憶していることを特徴とするコンピュータ読み取り可能な記録媒体。
- 23前記学習コンポーネントおよび前記予想コンポーネントのうち少なくとも1つは、メッセージ送信者またはシステムに、ユーザの期待された存在および可用性に基づいて、連絡を確立して情報を得た上で意志決定を行なう尤度に関して有用な情報を提供するために、通信システム、通知システム、メッセージングシステム、優先度システム、自動ミーティングまたは対話型通信スケジューラまたは再スケジューラ、スマートキャッシングシステム、オーディオシステム、カレンダリングシステム、スケジューリングシステム、自動保守システム、自動エージェント、ビデオシステム、デジタルアシスタント、およびユーザ追跡システムのうち少なくとも1つに関連付けられることを特徴とする請求項1に記載のシステム。
- 24エンティティの間の通信およびコラボレーションを容易にするための コンピュータにより実現される システムであって、 以下のコンピュータ実行可能なコンポーネントを含むシステムにおいて、 1つまたは複数のユーザのアクティビティパターンに従ってモデルを構成するツールと、 前記モデルはコンピュータ上で動作可能な割り込みワークベンチに調節されていて、 サブジェクトの活動と全体のオフィスのコンテキストを記録するために使用されるビデオカメラと、 イベント及びコンテキスト・キャプチャに関するモデル構築の第一のフェーズを提供するコンポーネントと、 前記モデルを使用して、前記1つまたは複数のユーザの状態に関係する予測を生成する予想コンポーネントと を備えたことを特徴とするシステム。
- 25エンティティの間の通信およびコラボレーションを容易にするための コンピュータにより実現される システムであって、 以下のコンピュータ実行可能なコンポーネントを含むシステムにおいて、 異なる位置でのユーザの存在および不在、および/または、ユーザによる異なるデバイスおよび/または通信チャネルへのアクセスに関係する経時的な変化についての情報を収集するデータ収集コンポーネントと、 1つまたは複数のユーザのアクティビティパターンに従ってトレーニングされ てモデルを構築する 学習コンポーネントと、 前記モデルはコンピュータ上で動作可能な割り込みワークベンチに調節されていて、 サブジェクトの活動と全体のオフィスのコンテキストを記録するために使用されるビデオカメラと、 イベント及びコンテキスト・キャプチャに関するモデル構築の第一のフェーズを提供するコンポーネントと、 前記学習コンポーネント 及びモデル を使用して、前記1つまたは複数のユーザの状態に関係する予測を、ユーザの現在および将来の可用性および存在についての特定のクエリおよび/または状況について生成する予想コンポーネントと を備えたことを特徴とするシステム。
Independent claims25
163 paragraphs, as filed
The present invention generally relates to computer systems, and more particularly, systems that support collaboration and communication by collecting data from one or more devices and learn prediction models that provide predictions of user presence and availability. And how. Specifically, this method and architecture provides information about the presence and availability of users in multiple locations and / or the current or future status of user access to one or more devices or channels of communication. To people or communication agents.
Electronic calendar systems for storing reminders and communicating with others about meeting times and locations offer one type of opportunity for people to collaborate, but many collaborations are under uncertainty. It is based on configured opportunistic communications. This informal coordination between people often relies on people's shared understanding of the current and future positions and activities of friends and acquaintances. For example, when using an online group calendar system, people often use it for each collaboration, such as knowing what the current state of the person they are trying to reach is. The challenge is trying to figure out if it is possible. However, knowing the current state of people does not always facilitate future or desired collaboration between communicating parties.
In just one example, traditional email systems provide an example of the difficulties of communication and message coordination between parties. In one possible scenario, the employee can be located in a foreign or remote area, where voice communication via telephone or other media is not always possible. Employees may have shown in advance to colleagues, managers and loved ones that email provides the surest way for them to actually receive and then respond to messages. There is. Assuming that this employee remembers to configure the email system, a traditional email system can indicate that the message sent was received and opened by the employee, "1. It can contain a given / preconfigured response, such as "I'm on vacation for a week" or "I'm out of the office in the afternoon", but now when will employees actually be able to respond? And / or there is no auto-generated instruction provided to the message sender as to how long it will take. So if a family crisis is about to occur or you need to convey an important business message, the message sender simply guesses when the employee might receive the message and is timely. You can only want the message to be received and answered. A similar difficulty arises when trying to schedule a meeting with a party who has difficulty determining whether or not they can attend a set meeting at some point in the future.
As is common in everyday situations, messages are sent with varying degrees of urgency, importance and priority. Often, important meetings need to be arranged with instant notifications to address critical business or personal issues. Therefore, one or more messages are sent to one or more parties to indicate the urgency of the meeting. Also, messages are often communicated through multiple communication modalities in an attempt to reach potential parties. For example, a business manager can send an email to a critical party and follow the email by phone, page or fax to the party, where voice mail is usually left for the unresponsive party. Unfortunately, managers are often uncertain about whether non-responding parties are receiving messages, and often have some confidence in deciding when all parties can be available for a meeting. I can't. Therefore, modern communication systems allow messages to be sent at high speeds anywhere in the world via multiple media, but to provide improved coordination, communication and collaboration between the parties. And there is a need for systems and methods to mitigate the uncertainties associated with when and / or how long it will take for a message recipient to receive a particular message.
Some documents disclose technical contents related to the above-mentioned conventional techniques (see, for example, Non-Patent Documents 1 and 2).
<nplcit num="1"><text>P. Dagum, P., A. Galpher, E. Horvitz, A. Seiver, "Uncertain reasoning and forecasting", International Journal of Forecasting 11 (1): 73-87, March 1995 (http: // www. research.microsoft.com/~horvitz/FORECAST.HTM)</text></nplcit><nplcit num="2"><text>Chickering et al. "A Bayesian Approach to Learning Bayesian Networks with Local Structure" (MSR-TR-97-07, August 1997)</text></nplcit>
<p> The conventional system has various problems as described above, and further improvement is desired.</p><p> The present invention has been made in light of these circumstances, the object of which is a system and method that supports collaboration and communication by learning a predictive model that provides a predictor of user presence and availability. Is to provide.</p>
<p> In the following, a simplified summary of the invention is presented to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key / important elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some of the concepts of the invention in a simplified form as a prelude to the more detailed description presented below.</p><p> The present invention relates to systems and methods that support collaboration and communication by learning prediction models that provide predictions of user presence and availability.</p><p> Data is collected, for example, by examining the user's calendar content, date and time and day of the week, as well as the user's activity and proximity from multiple devices, in which this data determines the user's presence and availability. Used to build one or more training models for prediction. The present invention facilitates real-time, near-real-time, and / or long-term planning of messaging and collaboration, with probabilistic predictions of the user's current and future conditions, authorized people and / or. Do it by providing it to an automated application (eg, the time it takes for someone to arrive at or leave a location, at least the time it takes to stay in a location for at least time t, and have access to the device. Time to review, time to review an email, time to end an ongoing conversation, time to attend a meeting, etc.). The predictions received by such people or applications can then be used to facilitate more efficient and timely communication between the parties. This is because the party or system attempting to communicate can be given an expectation or clue to the possible time or device to reach the user in it, based on the trained habits of the user's activity in the past. is there.</p><p> In one aspect of the invention, a Bayesian inference system is provided, which supports availability predictive machinery and systems within the framework of various automated applications. To build a general-purpose predictive model, data is collected or aggregated with respect to user activity and location from multiple sources, such as data from the calendar, as well as data about user activity on multiple devices. Is included. You can also generate predictions about your presence and absence at other events of interest to support collaboration and communication. For example, a user or application identifies whether and when a user will access a message waiting in their inbox, or identifies an appropriate future time to interrupt the user with a notification. It may be desirable to do so.</p><p> Another aspect includes predicting when a user will have easy access to a computing system for a communication device with a particular function. For example, an automated system or other user may want to know when a user is likely to have easy access to a full-featured computer for video conferencing. Moreover, the present invention provides an advanced model for dealing with multiple contextual cues, such as details captured in calendar information, rather than simply coordinating in the presence of a meeting.</p><p> The expected presence and availability information described above can be utilized by a number of applications. For example, the present invention can be used to facilitate meetings, coordination and communication between message senders and recipients, in which a generic predictive model consists of the user's past existence, actions and calendar. The timing of user availability for receiving messages, receiving communications and / or attending meetings is expected. Such estimates can be used to report or display the user's situation to colleagues globally and / or selectively (depending on the colleague's relationship with the user), and such estimates. Can be used in a variety of applications, such as automated meeting or interactive communication schedulers or reschedulers, smart caching systems, and relay systems.</p><p> Other applications of the invention are feasible and include more subdivided estimates outside the concept of availability. For example, the present invention can use similar methods to infer the amount of time it takes for a user to become available for a particular type of interaction or communication, based on availability and context patterns. For example, a user currently traveling in a car can determine the expected time before it becomes available for audio and / or video conferencing, learning statistics, and this particular. This can be done by building a model that can estimate the availability of the type. In another example, when a user is available to be interrupted by a particular class of alerts or notifications is determined based on availability patterns and estimates of workload and interrupt associated costs. be able to.</p><p> In another aspect of the invention, the predictive component of availability is utilized to allow the user to review or review when the message is considered urgent and received by the user's system. It is presumed that you are more likely to be in a setting where you would be, and these messages are answered by adaptive office out-of-office messages, which are likely to be absent over a certain amount of time. And / or when the message is at least some urgent and / or from one or more people who are of particular importance to the user. Such selective messages can be populated by dynamically calculated availability status to allow users to review messages, such as email, or to review messages. Or you can focus on predicting how long it will take to be more likely to be in a particular situation (eg, "return to the office"). Another aspect is the time it takes for a user to review different types of information, based on the review history, and one or more, each associated with one or more feasible types of communication. The type setting can include determining the time it takes for the user to be present. Such information can be sent to the message sender with respect to the user's ability or likelihood to use the communication or respond within a given time frame.</p><p> The present invention can use information about the likelihood of a user's return or current availability in other systems and processes. This may include voice mail systems, calendering systems, scheduling systems, automated maintenance systems, automated agents, and user tracking systems, which provide useful information feedback to message senders and / or systems. To provide with respect to the likelihood of establishing contact and informed decisions based on the expected presence and availability of the user.</p><p> Another aspect of the invention provides a system and method of constructing and using a model of user attention focus and workload as part of leveraging the role of interrupts in the user. These methods can infer the user's workload from the observed events and, specifically, estimate the cost of interrupting the user associated with different types of alerts and communications. Such interrupt models fuse information from multiple sensory pathways, including, for example, desktop events, calendar information analysis, visual posture, and environmental acoustic analysis.</p><p> The model can be configured to estimate the state of a user's interruptability from multiple event sources, which can provide a well-characterized expected cost of interrupts. This can include combining a model of attention with an event system that provides a stream of events, including desktop activity and sensory observation. In addition to learning a model of attention and interruptability from data, the present invention also provides a probability distribution over attention and an assessment that encodes preferences for interrupt costs in different situations. Then the expected cost of the interrupt can be estimated. The learning paradigm is processed with a set of tools in which the trained model is reviewed (eg, an interrupt workbench), and the experiments provided to probe the classification accuracy of the model. "Model removal" learning is also considered, which removes perceptual detection from the study and includes, for example, the discriminating power of events that represent interactions with client computing systems and calendar information.</p><p> For the practice of the aforementioned and related purposes, certain exemplary embodiments of the invention are described herein in connection with the following description and accompanying drawings. These aspects represent a variety of ways in which the present invention can be practiced, all of which are intended to be incorporated by the present invention. Other advantages and novel features will become apparent from the detailed description of the invention below when considered with the drawings.</p>
Hereinafter, embodiments to which the present invention can be applied will be described in detail with reference to the drawings. The present invention relates to systems and methods for facilitating collaboration and communication between entities, such as between automated applications, parties to communication and / or combinations thereof. The systems and methods of the present invention include services that support collaboration and communication (eg, web services, automated applications) by learning prediction models that provide one or more predictions of user presence and availability. The predictive model consists of data collected, for example, by analyzing the content of the user's calendar, the date and time, and the day of the week, as well as the user's activity and proximity from multiple devices. Various applications are provided that use the presence and availability information provided by the model to facilitate collaboration and communication between entities.
Some application examples include, for example, automated meetings or interactive communication schedulers or reschedulers, smart caching systems, communication systems, audio systems, calendering systems, scheduling systems, notification systems, messaging systems, automated maintenance systems, automated It may include agents, video systems, digital assistants, and user tracking systems that contact message senders and / or systems with useful information based on the user's expected presence and availability. This is to provide the likelihood of making decisions after establishing and informed.
When used in this application, "components," "services," "models," and "systems" are intended to refer to computer-related entities, which may be hardware, hardware and software combinations, software, or. One of the running software. For example, a component can be a process, processor, object, executable, thread of execution, program and / or computer running on a processor, without limitation. As an example, both an application running on a server and a server can be components. One or more components can reside within processes and / or threads of execution, components can be localized on one computer, and / or distributed among two or more computers. it can.
As used herein, the term "estimate" is generally the process of inferring or estimating the state of a system, environment and / or user from a set of observations as captured via events and / or data. Point to. Estimates can be used, for example, to identify a particular context or action, or to generate a probability distribution across multiple states. The estimation can be stochastic, i.e., the calculation of the probability distribution across multiple states of interest, based on the examination of data and events. Estimates can also refer to the techniques used to compose high-level events from events and / or sets of data. Such an estimate results in a new event or action consisting of an observed event and / or a set of stored event data, which indicates whether these events are closely correlated in time. , And whether the events and data come from one or more events and data sources.
First referring to FIG. 1, System 100 illustrates existence and availability expectations according to one aspect of the invention. Prediction Service 110 (or Prediction Component) receives one or more queries 114 regarding the existence or availability of the identified user and one or more related to the identified user's current and / or future state 120. Generate a prediction for. Query 114, and returned state 120, can be generated and received by one or more automated applications and / or authorized people 130, but state information 120 can be generated without receiving query 114. Understand what you can do (for example, a scheduling system that automatically sends manpower availability reports to managers at regular intervals). Generally, query 114 is issued by an application, authorized people 130, or other entity to get an answer about the existence, availability, location, communication capacity, device availability, etc. of the identified user. However, complementary information, such as an alternative to existence information, can also be queried and answered respectively, and predictive service 110 can provide how long a person is expected to be absent, or an alternative to availability information. Note that it can provide, for example, how long a person may not be available.
A query 114 can be sent towards the expected service 110 to determine a number of different user states (120), such as: The time it takes for a user to arrive at or leave a location, The time it takes for the user to stay in a certain position for at least time t, The time it takes for a user to have easy access to a device (eg, a full desktop system), · The time it takes for a user to review an email or other message, The time it takes for the user to end an ongoing conversation, Likelihood that the user will attend the meeting, Virtually includes the expected cost of interruption over time and any time, location, device and / or communication-based forecast or response.
To generate the state information 120, the prediction service 110 uses a learning component 134, which can include one or more learning models for inferring about the user state 120. Such a model can include virtually any type of system, which produces a Bayesian dependency model, such as a Bayesian network, a naive Bayes classifier, and / or a support vector machine (SVM). It can include statistical / mathematical models and processes, including the use of Bayesian learning. Other types of models or systems may include, for example, neural networks and hidden Markov models. It should be understood that although complex inference models can be used according to the present invention, other methods can also be used. For example, deterministic assumptions can be used rather than more in-depth probabilistic methods (for example, the fact that desktop activity does not span the amount of time in X implies that the rule is not working by the user. be able to). Therefore, in addition to inference under uncertainty, it is also possible to make logical decisions regarding the status, location, context, focus, etc. of the user and / or related devices, as described in more detail below.
The training component 134 can be trained from the user event data store 140, which collects or aggregates data from multiple different data sources associated with one or more users. Such sources can include a variety of data acquisition components 150, which include user event data (eg, acoustic activity recorded by mobile phones, accelerometers, microphones, Global Positioning System (GPS), etc. Record or log electronic calendars, visual surveillance devices, desktop activity, etc.). Before proceeding to a more detailed discussion of the existence and availability forecasts of the present invention, it should be noted that the forecast service 110 can be implemented in virtually any way that supports forecasting and query processing. For example, an anticipatory service 110 can be run as a server, server farm, within a client application, or a web service, or other automated application that provides answers to automated systems 124 and / or authorized people 130. It can be more generalized to include.
It should be noted that the present invention may determine and share certain types of sub-goals for each contact user's interests in the current status and expectations of existence and availability. These may include: (1) Location (for example, a user returns to the office within x minutes, a user currently detected in the office leaves the office within x minutes, is at position x within t minutes, etc.) , (2) Interruptability (deterministic, eg, low, medium, high, or different types of interrupt costs (eg, the expected cost of a call interrupt is $ 5.00, desktop alerts are $ 1.50, etc.) )), (3) Communication channel availability (users can use mobile phones, office phones, pagers, desktop systems with large networked displays, MS NetMeeting software Enable desktop system), (4) Other situations (eg, the user's conversation in the office is likely to end within x seconds).
The communication channel can be inferred directly or derived by linking the channel to a location. For example, it includes a full desktop system with a large display where the office runs the link between channels and locations through the following channels: wired phones and software applications such as MS Office , MS NetMeeting . And can be determined at the setup time (or derived over time through monitoring). Such information about location-linked channels can be stored, for example, in the location and device schema.
In connection with the data model or schema, the invention also adds device and location to the system review, facilitating the user to set up a tuning service as described in more detail with respect to FIG. 2 below. It also provides methods for (including an easy-to-use user interface). When a device is added, the user describes the device type, channel information capture, etc., and location, for example, this machine is at the desk in his office, whereas this machine has wireless access. Being a mobile laptop, or this cell phone is always on your own at these times, and so on. When a location is added, all available devices are associated with the location. Rich XML (Extensible Markup) A Language) -based schema or data model can be provided to capture device and location information. Device schemas, location schemas, and other schemas provide rich templates for capturing location and device properties. As can be understood, user interfaces and methods can be provided that interact with the schemas and methods of the invention to add and remove devices and locations (and other monitored information if desired).
It should be further noted that the systems and methods of the present invention can also, by way of example, examine and process location information gathered from 802.11 signals and interfaces. For example, a map of a corporate campus can be provided, which maps the current association point (AP) being viewed to the location of a building to indicate the location of the user. At home, this system determines that home radio is available, and thus this system determines when the user is at home. GPS signals can also be processed for areas outside wireless access.
At this time, referring to FIG. 2, the system 200 exemplifies the adjustment system 200 (also referred to as the adjustment 200) according to one aspect of the present invention. In one aspect, the Coordination System 200 can be built as a server-based service written in C # or another language and built on top of a .NET development environment (or any commercially available development environment). it can. Coordination system 200 includes, for example, a central database, networking capabilities, device provisioning interfaces and controls, and Bayesian machine learning tools. The system 200 can act as a facility for use by automatic proxies, providing information to collaboration and communication services for users, rather than being queried directly by the user. However, the query interface described below allows people or systems to directly query the anticipation or availability services provided by Coordination System 200.
The tuning system 200 generally consists of four core components, but more or less than four components can be used. The data acquisition component 210 runs on multiple computers, components, or devices that the user is likely to use. This component 210 detects (and also) computer usage activity 214, calendar information 220, time information, video, sound, and location information from 802.11 radio signal strength and / or GPS data when these channels are available. , May include input from virtually any electronic source). The data acquisition component 210 includes a signal processing layer, which allows the user to configure and define the parameters of the audio and video sources used to define the user's presence. This information can be cached locally and sent to the Coordination Data Consolidation Component 224 (also known as the event log or event database) that runs on the central Coordination Server 230. This component 224 is responsible for combining data from multiple machines of the user and storing it in an XML-coded event database (which may contain other types of encoding).
In general, a relational database stores multiple dimensions of a user's activity across multiple devices, as well as appointment status as encoded in the calendar. The start and stop times of dialogues in different dialogues and appointment situations are encoded in the database as separate dimensions. Statically and dynamically constructed predictive models can be gathered by querying information across these multiple dimensions of the database. Query the current status (eg, the date and time of a significant migration, and the day of the week, and the user's current migration status), and the desired forecast (eg, the time until the communication channel becomes available if it is not currently available). ) Can be dynamically created based on the forecast goals associated with it.
Predictive models can be built using several steps, including time series models such as those that use autoregressive analysis, and other standard time series methods such as those commonly known. This includes techniques such as the ARIMA model for reviewing alternative methods (see, eg, Non-Patent Document 1). Other methods include dynamic Bayesian networks and continuous-time Bayesian networks, which are examples of two forms of temporal Bayesian network representation and inference methods.
In one method of inferring information from such an existence database, the present invention can dynamically learn a Bayesian network, which provides a set of appropriate matching cases for the situation from the database. Acquire through appropriate queries, and then use case statistics analysis (eg, use Bayesian network learning procedures to construct the best case-based predictive model using model structure exploration. To do), and then this model can be done by using it with a specific query at hand to make inferences about the target. Rather than trying to build a large static predictive model for every possible query, in such a real-time learning technique, this method would provide a set of 240 cases matching the handy query 244 from the event database 224. Focus on analysis by configuring. This technique formulates and discretizes variables that represent specific temporal relationships between landmarks, such as the duration of absence and existence and the transition between appointment start and end times, as defined by query 244. Custom adjustment is possible. These case 240s are fed to the learning and estimation subsystem 250, which constitutes a Bayesian network that is tuned to the target prediction 254. Bayesian networks are used to build a cumulative distribution across multiple events of interest. In one aspect, the invention uses a learning tool to search the spatial structure of a dependency model guided by Bayesian model scores to identify the graphical model with the greatest ability to predict data. Run. As mentioned above, according to the present invention, virtually any type of learning system or process can be used. For example, one learning process that can be used was developed by Chickering et al. In a treatise that is generally available on the Internet or other sources (eg, non-special). See Reference 2. ).
Coordination system 200 logs the duration of existence and absence in event log 224. Events are typically annotated by the source device 210, which defines the device by its function and location. For example, the user can specify that a device has the full functionality of video conferencing. By tagging events by specific devices, indexed by features, System 200 predicts the probability distribution over time before a user has access to a different type of device without creating a special plan. can do. When these devices are assigned to fixed positions, such predictions can be used to predict the user's position. The coordinating event system can monitor the history of the user's interaction with the computing system, which can be an application running on the system, an application currently in focus, or just out of focus. Applications are included. As an example, the system can identify when a user is checking an email or reviewing a notification. Therefore, going beyond presence and absence, Adjustment 200 makes predictions such as the time it takes for a user to be more likely to review an email (or other communication), this user last reviews the email. Given how much time has passed since then, we will support you. System 200 can also consider the time it takes for a user to use or stop using an application. Therefore, given the last time a user has accessed their inbox, the system 200 can be queried when the user is more likely to access their email inbox. Since the system 200 also detects conversations, other aspects include predicting when the current conversation is likely to end.
This system is expected p (t<sub>e</sub>| E, ξ) provides, t<sub>e</sub>Is the time until the event of interest occurs, and evidence E contains multiple attributes that represent the proximity activity context, date and time, day of the week, and the characteristics of the active calendar item under consideration. Proximity activity contexts represent one or more significant recent transitions between multiple landmark states based on queries. Such adjustments incorporate modeling assumptions that the time to future state is strongly dependent on the timing of recent important landmarks. Prediction of how long an absent user will return to the office or return to the office and remain for at least a certain amount of time t is a proximity activity context where the user transitions from being present to absent. It is a period since then. In anticipation of how long an existing user will leave the office, or specifically, how long it will take before they are absent for at least some time, the proximity activity context will move the user from absent to present. It is taken as a time since then.
Before proceeding to the discussion of FIG. 3, it should be noted that one or more graphical user interfaces can be provided according to the present invention. In addition, it should be noted that each interface shown can be provided in a variety of other different configurations and contexts. As an example, the applications and / or models discussed herein can be associated with desktop development tools, email applications, calendar applications and / or web browsers, but other types of applications can be utilized. These applications can be associated with a graphical user interface (GUI), where the GUI has multiple configurable dimensions, shapes, colors, texts, and data to facilitate operation with these applications and / or models. And provides a display with one or more display objects (not shown), including aspects such as configurable icons, buttons, sliders, input boxes, selection options, menus, tabs, etc. that have sounds. In addition, the GUI can also include a plurality of other inputs or controls for adjusting and configuring one or more aspects of the invention, which will be described in more detail below. It receives user commands from other devices such as mouse, keyboard, voice input, websites, remote web services, pattern recognizers, facial recognizers, and / or camera or video inputs to operate the GUI. Can include affecting or modifying this.
Looking at FIG. 3, interface 300 illustrates an exemplary predictive option according to one aspect of the invention. Interface 300 can be used with the systems described above with respect to FIGS. 1 and 2. In one aspect, mode selection at 310 can be provided, which allows real-time analysis based on current observations or offline analysis based on historical data and observations. At 314, you can select the type of availability and activity forecast to be searched. Such expectations include, for example, how long a user will stay online, or when a user will be online, an estimate of the time associated with an email review, the time associated with a call, etc. It may include a choice of office-based, home-based online, video conferencing, full-screen availability, multiple-monitor availability, available phone types, NetMeeting availability, and interrupt costs. The associated assumptions can be selected in 320, such as whether the user's inbox is checked or whether the inbox should be ignored. At 324, the time for evaluation can be set, including the hour and minute settings. At 330, you can make another assumption about how long users are checking or ignoring each of their message inboxes. It should be understood that the choices presented within Interface 300 are exemplary in nature and that expectations can be provided in virtually any communication and / or collaboration environment between the system and / or users.
With reference to FIG. 4, interface 400 illustrates exemplary predictive prediction according to one aspect of the invention. Similar to interface 300 above, interface 400 can be used with the systems described above with respect to FIGS. 1 and 2. In this aspect, a palette is currently provided within interface 400, in which various predictions are displayed in relation to the time until the user is available to communicate according to various forms of communication or function. Can be done. At 410, the user is selected for each prediction (eg Eric) Horvitz). At 414, probability threshold adjustments are provided to allow the user to adjust the amount of certainty associated with various predictions. The 420 can offer one or more forecast categories, such as user online, email review, phone, office presence, home online, video conferencing, and more. At 430, the associated forecast time is displayed for 420 forecast categories. It can include graphical and / or numerical results that indicate the predicted amount of time before a user can communicate over a given communication medium. For example, at 434, the graphical and numerical displays indicate that the user selected at 410 has a 90% chance of being in the office within about 149 minutes. In addition, other information that provides clues to existence can be displayed within Interface 400, such as "Last observed at Bldg 113, 3:11 pm 2/21/2003".
With reference to FIG. 5, an interface 500 for predicting existence according to one aspect of the present invention is illustrated. Interface 500 displays a tuning interface, which provides a means to select a query class and formulate the query for real-time situations or in offline analysis. In the example, a query was entered, which would allow the user to be in the office for a period of at least 15 minutes given that the user was absent for 25 minutes at 10:15 am on weekdays. A query about the likelihood that it will return. A set of relevant data is collected from the event database (above) to form a Bayesian network. This network is used to generate a cumulative probability distribution that is displayed as to when the user will return. In these samples, the system also shares the text summary conjecture illustrated in 510 based on a reliability threshold of 0.80 (eg Status: User has been absent for 30 minutes, Estimated Cost of). Interruption: $ 0.10, Prediction: User is expected to return). Similar analyzes can be performed for other events of interest, such as those illustrated in Figures 6 and 7 for office presence analysis and email review analysis, respectively. As described in more detail below, methods are provided for reviewing meetings and for folding in the configuration of models that provide forecasts of user availability. The configuration of the meeting attendance, interrupt possibility, and location model is described below.
Figures 8-10 illustrate impact diagrams and judgment trees for modeling various aspects of the invention. The present invention provides a system and method for analyzing multiple distinctions about a meeting and integrating these observations into the entire Bayesian analysis of existence and availability. Beyond improving the predictive model for absence and presence, one can learn a model that relates multiple attributes of an appointment to the likelihood of attending a meeting and to the interruptability of the meeting. The present invention can also learn a model for estimating the position of a meeting when the position is not clear from the position string listed with the appointment. Such estimates can provide useful input for interactive tools such as shared calendars, as well as other tools and applications.
The coordinating system logs the meetings stored in the user's calendar, the status of the appointment properties enabled within the online calendar (eg, Microsoft Outlook ), and some additional calculations. Indicates a property. The logged data is used to train a model that can predict attendance, interruptability and location. To build a model of attendance, adjustments are automatically made to off-the-shelf servers (eg Microsoft). Automatically access appointment properties from appointments from Exchange® Server). Adjustments create draft training sets for appointments and their properties and mark attendance fields for each appointment with inferences made through the use of heuristics sets for attendance. Attendance heuristics consider the extension of desktop activity to a significant part of a scheduled meeting as evidence of not attending the meeting and the lack of activity during the meeting as evidence of attendance at the meeting.
Heuristics for labeling data can vary in accuracy depending on the task. As you can see, activity-based heuristics for annotating meeting attendance can be noisy. Therefore, an attendance adjustment guess is taken as a draft dataset, which creates an available tool that allows the user to refine the draft by manual labeling of attendance. The adjustment can generate a form that displays the appointments in the order in which they occur and can display an attendance field that contains a guess about attendance. Beyond editing the attendance field, the user also adds an assessment of the physical location of the meeting and how much the user can interrupt in different meetings, whether the meeting is low-interruptible or medium-interruptible. It is possible to specify whether it is a high interrupt possibility or a high interrupt possibility. Annotated calendar logs are used to construct a model that, given appointment properties, can predict the likelihood that a user will attend a future meeting.
Meeting properties considered during training and forecasting across dates and days include meeting date and time, meeting duration, target, location, organizer, number and nature of invitees, and user role (user required). (Or was the organizer for an optional invitee), user response status (answered yes, tentatively responded, did not respond, or no response request was created) Includes whether the meeting reoccurs, and whether this time is marked as busy or free on the user's calendar. The coordinating system accesses Active Directory (eg, Microsoft Active Directory ) services to recognize and annotate organizational relationships between users, organizers and invitees, such as organizers and attendees. Indicates whether the organization is an equal person, a direct report, a manager, or a manager of the user's manager. Several experiments were performed as part of assessing the accuracy of the predictive model for calendar attendance, interruptability, and position.
Figure 8 shows a Bayesian network 800 learned from a single user's data, showing that it represents a stochastic dependency between variables extracted from the online calendar and variables of interest. Model 800 consisted of collecting data from a six-month period meeting stored in the user's online calendar between October 2001 and March 2002. This dataset contains appointments from 659 meetings. Of the appointments, 559 were used to train the model, leaving 100 cases as a set of offerings for testing. Calendar owners should annotate the case with information about whether they attended the meeting, indicate the location of the meeting, and discretize the meeting with low, medium, and high interrupt possibilities. I was asked to indicate the possibility as well. In this dataset, 0.64 of appointments were attended. The user assigned a low interruptability property to 0.5 in case, a medium in 0.4 in case, and a high in 0.1 in case. The model ran well and the classification accuracy in the provided data was 0.92 for predicting attendance and 0.81 for assigning interruptability.
Judgment trees 900 and 1000 for predicting meeting attendance and interruptability are shown in Figures 9 and 10, respectively. As shown in Figure 9, the variables that have a significant impact on predicting meeting attendance include whether the meeting was held via an alias or through an individual, the duration of the meeting, the response status, and the meeting. Includes whether the meeting will recur, the number of attendees, whether direct reports have been invited, the information contained in the location field, and whether the meeting will be marked as busy. A bar chart on the leaf of the Judgment Tree 900 shows the probability of non-attendance for attendance, with event p (not attending | meeting property 1..n) in the top position, followed by p (attending | meeting property 1. .n) follows.
As shown in Figure 10, the main influential variables for predicting the interruptability of a meeting are whether the user is invited through an alias, to it through a person, or by the user. Whether you responded to the appointment, the number of attendees, whether your direct reports are invited, and the subject of the meeting. The probability distribution over the interruptability is shown as a bar graph in the leaf of the judgment tree 1000, where the top to bottom states are low, medium and high interruptability.
The coordination system uses the attendance and interrupt model in several ways. This system allows direct queries on the likelihood that a user is or will be attending a meeting. Coordination can also share information about the expected cost of interrupts (ECI) for the user at the current or future time. The user is provided with the ability to correlate the dollar value cost of an interrupt for each interrupt possibility level. The user also has access to the default cost of interrupts over a free period of time for the archetypal date and time and day of the week. FIG. 11 shows a diagram (1100) in which the interrupt cost is shown on the vertical axis and the interrupt time is shown on the horizontal axis.
The tuning system calculates the expected interrupt cost (ECI) as follows:
ECI =
<maths num="1"><img file="JP4668552B2_D0001.tif" /></maths>
However, A<sup>m</sup>Is an event to attend a meeting, c<sub>i</sub><sup>m</sup>Is the cost of the interrupt associated with the interruptability value i, c<sup>d</sup>Is the default cost over the period under consideration and E represents the observations about calendar attributes, proximity context, day of the week and date and time.
The coordinating system also integrates estimates of the nature and timing of meetings into its predictions of absence and presence. The system goes ahead of the complexity of performing approximate meeting analysis and examining multiple patterns of meetings. In approximation, the present invention makes the assumption of meeting independence and considers the meetings separately. A subset of meetings on the user's calendar are considered active for the query, based on the time indicated in the query and their proximity to the transition. For active meetings, a separate Bayesian network model and associated cumulative distribution are calculated for returns or absences over the course of the meeting range that extends the meeting by the period before and after the meeting. In configuring the model for each meeting, the case acquisition component of coordination identifies cases that match the proximity context defined by the query. Generally, only meetings marked as attended are considered. Finally, the cumulative distribution for return or absence time for each meeting horizontal axis is combined with the cumulative distribution for non-meeting situations.
The system performs the above joins by constructing a cumulative distribution for existence transitions for non-meeting situations. This cumulative distribution is calculated as described above and uses cases that match the query where the meeting was not scheduled or where the user indicated that the meeting was not attended. Over the length of time represented by each meeting range, the cumulative distributions for both non-attendance and attendance cases are then summed together to estimate that the user is or will be attending the meeting. Weighted by the given likelihood.
Figure 12 shows a diagram (1200) that relays the impact of the integration of likelihood of attending a meeting in predicting user availability. The query was about when a user would be expected to return to their desktop machine at 1:20 pm on weekdays when the user was already away for 15 minutes. The top curve shows the cumulative distribution where users return for situations without meetings. The curve below shows the results of folding in the active meeting review and considering the likelihood that the user will attend each meeting. In this case, three meetings were under consideration, including meetings from 1 to 2 pm, 2:30 to 3:30 pm and 4 to 5 pm.
FIG. 13 illustrates an adjustment system 1300 according to an aspect of the present invention. In this aspect, one or more profiles can be set up for the user who associates the cost of the interrupt with the selected profile, in which various time periods can be set for the selected profile. In 1310, you can choose from a variety of profiles, such as default, home-evening, home-midnight, home-weekend, vacation, work-default, and so on. The interrupt cost can then be associated with the selected profile at 1314, such as default interrupt potential, high interrupt potential, medium interrupt potential, and low interrupt potential. As you can see, it can provide interruptability for more subdivided categories. At 1320, various start and end times, days, and calendar periods can be selected for a given profile selected at 1324.
With reference to FIG. 14, an event logging screen 1400 according to one aspect of the present invention is illustrated. The event logging screen 1400 illustrates some sample events that can be captured and stored in the event logging database described above. Such events can then be used to construct and train one or more learning models according to the invention. For example, some of the events recorded within screen 1400 include system presence events, including time and date, background noise audio events, audio audio events, and so on. As you can see, you can record multiple such events that indicate the entry and exit of the user. Also, various inputs from desktop machines, handheld machines, mobile machines and / or other components can be used to capture each event.
Before proceeding, it should be noted that the coordination system can be applied to various communications, messaging, properties, notification and coordination applications described in more detail with respect to FIGS. 28-30. In one example, a "Bestcom" system (discussed with reference to Figure 28) can be used, which provides people with best-effort communication based on a consideration of their context, available channels, and preferences for communication. Focus on creating services. At Bestcom, agents act as proxies, reviewing contact and contact goals and contexts. Although both communication participants' preferences can be considered, many aspects of Bestcom place a strong weight on the contact's communication preferences. This is because the contact is usually the one who seeks the resource of attention from the contact. Bestcom makes preferences about how to handle input communications based on the contact's identity, the initial channel selected (eg, phone, instant messaging, email), and the calculated or detected context of the non-contact. consider.
In situations where an explicit Bestcom service is explicitly called by a contact, annotations about the nature of the communication can be shared as part of the Bestcom metadata schema. For example, a contact may want to call Bestcom by calling a service within a specific location in a document processing application to talk to a co-author about the edits he or she wants to make on a shared document. The Bestcom service can share communication goals and available channels with the contact's agent. The spirit of Bestcom is to maintain privacy about the contact's condition. Contextual information about this condition is used in communication decisions, but contacts are typically only secretly involved in making brief decisions about whether and how to handle communication.
Actions include establishing real-time connections on the same channel, shifting channels, taking messages, or providing contacts with better time and scheduling future communications. Bestcom's efforts include developing basic preference assessment tools for tasks such as establishing and editing groups of people assigned different communication priorities, and assessing the cost of interrupts in different contexts. ing. While the basic version of Bestcom focuses on simple assessments and direct detection of user status, the present invention uses richer contextual estimates of existence and availability provided by the coordination system.
FIG. 15 is a diagram (1500) illustrating a dynamic Bayesian model for inferring the focus of user attention and incorporating important variables and dependencies according to one aspect of the invention. Early versions of the alert mediation system used the hand-crafted dynamic Bayesian network model illustrated in Figure (1500). An important variable considered in the Bayesian network is the focus of attention. The state of this variable was constructed into a mutually exclusive state of about 15 attentions, with the context divided by workload and capturing a range of user situations. These conditions include, for example, the distinction between high focus single activity, medium focus single activity, low focus single activity, office conversation, presentation, driving, private personal time, and sleep.
The goal of these models is to estimate the cost of different types of interrupts given that the user is in a particular state of attention. To achieve this, the present invention presents the task or communication event D.<sub>i</sub>Attention state A, confused by<sub>j</sub>Utility u (D) that captures the user's cost in<sub>i</sub>, A<sub>j</sub>). This cost can be assessed for each combination as a willingness to pay in dollars to avoid confusion. Given a set of dollar values to avoid confusion and an estimated probability distribution over the user's attention state, the expected cost of interrupts (ECI) is adjusted in the stream of input sensory information, attention. It can be calculated by summing over the utility, weighted by the likelihood of each state of. That is, the ECI is as follows.
<maths num="2"><img file="JP4668552B2_D0002.tif" /></maths>
However, p (A<sub>j</sub>| E) is the adjusted probability of attention in the evidence stream E.
FIG. 16 is FIG. 1600 illustrating a control panel for an event system showing event classes and graphical displays that process acoustic and visual information according to one aspect of the invention. The interface shown in 1600 considers additional details of real-world embodiments of the system that can provide the cost of interrupting from a stream of sensory information. In this example, the user's activity interacting with the client device is monitored by an event detection and abstraction system that detects computer events from operating systems and applications running on the client. In addition, visual posture is processed by the Bayeshead tracking system and environmental acoustic activity is processed by audio signal processing analysis. Finally, the user's calendar is automatically inspected via an interface to an electronic calendar application (eg, Outlook ) to determine if a meeting is scheduled. Figure 16 shows an event monitoring and control system named Inflow, which is described in more detail below.
The client event system provides an abstraction tool for merging patterns of low-level system events into higher-level events. The present invention considers low and high level events in a model of attention. For example, a low-level state can be captured as being in use by an application, whether the user is typing or clicking with the mouse, and a set of higher-level events can be captured between applications. Switching patterns (for example, switching between multiple applications for a single application focus), task completion instructions (for example, a message is sent, a file is closed, an application is closed, etc.), etc. Is.
At the calendar event, you can consider whether the meeting is in progress, how long it will take to end the meeting, and where the meeting is located. Acoustic and visual analysis identifies whether conversations or other signals are identified, and whether the user is near the desktop system, and if so, whether the user is gazing at the computer or You can determine if you are away from your computer.
FIG. 17 is a diagram illustrating an event whiteboard 1700 according to an aspect of the present invention. The Event Whiteboard 1700 is used to capture and share the state of low and higher level events considered by the system. As shown in this figure, the event contains details about the birth and death of the application, that the application is currently "on top" and interacting, and events that capture usage patterns such as desktop usage patterns, in this case. , Indicates that the user is switching between different applications within a preset time range (15 seconds in this case).
18 (a) and 18 (b) are diagrams (1800) exemplifying the estimation of the attention state and the expected cost of interruption over time according to one aspect of the present invention. The Inflow system described above examines various events and uses a dynamic Bayesian network to estimate the probability distribution over the attention state. The output at 1810 shows the output of a model that examines eight attention states, which include high focus single activity, low focus single activity, office conversation, presentation or meeting, driving, private personal. Includes time, sleep, and currently available. Output 1810 illustrates that the initial high likelihood of conversations in the office at the closest time is dominated by high focus single activity.
Output 1820 is a different mess D<sub>i</sub>Here is an estimate of the expected cost of interrupts over time. In this case, from the probability distribution estimated over the coarse user attention state, it is possible to calculate the expected dollars that the user will be willing to pay to avoid different communication events. The curve in Figure (1820) represents the expected cost associated with six different interrupts, from top to bottom, with all visual alerts and audio chimes with call, pager, and audio chime precursors. Includes thumbnail view, full visual alert without chime, and thumbnail view without chime.
FIG. 19 is FIG. 1900 illustrating an alert display according to one aspect of the present invention. Figure 1900 shows an example of a visual display of all visual alerts in a notification system that uses a model of the expected cost of interrupts (eg, news notifications, finance, email, instant messaging, etc.). Alerts can be combined with audio precursors. The present invention can settle the estimated cost of such different messaging actions with the expected value of different communications, as assessed in another analysis of the value of the information.
FIG. 20 is a system exemplifying the "interrupt workbench" 2000 according to one aspect of the invention, which is associated with different activities based on the current context of the user who may be interacting with the computing device. Provides different types of interrupt models. Model learning is used that can predict the state of user interruptability in an office setting based on logging of events and desktop activity from perceptual sensors as described above. These learning models predict the state of user interruptability, thereby leaving the focus of attention of the user or the detailed state of the workload implicit. That is, the model that characterizes the user's interruptability can be directly traced, bypassing the explicit modeling of the user's state of attention. Figure 20 illustrates a tool 2000 named Interrupt Modeling Workbench, which prepares for event capture, time segment annotation, and building and testing statistical models of interruptability. Figure 20 shows a screenshot of Tagging Tool 2000 used during the session annotation phase.
During training sessions, Tool 2000 captures streams of desktop, calendar and audiovisual events. At the time of labeling, Tool 2000 displayed a time-synchronized video coding of the subject office, which was captured by a digital video camera during the training session. The workbench event logging system synchronizes the events monitored by the training session with the scenes from the digital videotape, facilitating labeling of time segments and associating them with the events.
In general, the first phase of model building is event and context capture. During this phase, a video camera is used to record the activity of interest and the context of the entire office. A videotape with an audio track is shot over the subject's shoulder to show what is displayed on the user's screen in addition to part of the user's office environment.
The second phase of constructing the interruptability model is tagging and assessment. Tool 2000 prepares to review captured videos of those screens and rooms during a training session and label their interrupt states at different times. The labeling effort is minimized and migrated by allowing the user to specify a transition between interruptable states, rather than requiring the user to label each subsegment of time. All time between inherits the interruptability label associated with the transition that defines the start of each separate segment. Tool 2000 provides a way for variables that represent the cost of interruptability to be discretized and for specifying how the cost is represented. Subjects can encode their assessment of their interruptability at different times in at least two ways.
In the first approach, the subject tags the duration seen on the videotape as high, medium and low interruptability. As shown in the front of Figure 20, the user maps the dollar value to each high level state separately for different types of interrupts and interrupts during the interrupts labeled as high, medium, and low cost. You are asked to reflect your willingness to pay to avoid. Dollar value is calculated for low, medium and high for each separate type of interrupt. In the second method of labeling the time segments of a training session, the subject can define a scale and build a model that directly infers the probability distribution over the real value value, which represents the cost of the interrupt. it can.
During the generation and testing phase, Bayesian networks (or other statistical modeling methods such as statistical regression, support vector machines (SVMs), etc.) from the case-tagged case library generated by the first two methods above. Can be configured. The task of tagging one or more sessions of office activity creates a database with a duration of 2 seconds tagged with the interruptability label, which contains a vector of logged event states. The system then performs Bayesian learning procedures, uses graph structure exploration, and given a live stream of detected events, can be used for real-time predictions of the user's interruptability state. Build a model.
At runtime, the probability distribution over the interruptability states estimated by the model is used to calculate the expected interrupt cost of different classes of interrupts. For each confusion under consideration, the expected cost of an interrupt calls an expected value similar to the expected value calculation defined above, and for the explicit state of attention, the likelihood of states with different interrupt possibilities: p (I<sub>i</sub>Calculated by substituting | E).
<maths num="3"><img file="JP4668552B2_D0003.tif" /></maths>
Beyond inferences about the current state of interruptability, the invention can also generate some variables that represent cautionary expectations about the future state of interruptability. These include variables that capture estimates of the probability distribution over time to reach low, medium, or high interruptability states, and interruptability states that persist over different amounts of time. Contains more specialized variables that represent the time to be achieved. As an example, a variable in this family represents the time it takes for a user to remain in a low cost state of interrupts for at least 15 minutes. Such predictions are generally important for pondering whether to mediate communications, when to do so, and how to do so. To test the predictions of the generated model, Workbench 2000 provides the user with a portion of the data from training so that the provided case studies can be used to test the model. In the experiment, the model is trained with 85 percent of the data and 15 percent is provided for testing.
FIG. 21 is a diagram (2100) illustrating a Bayesian network model according to one aspect of the present invention. Figure 2100 shows the Bayesian network model output by the workbench described above. This model was built from a log of targeted activity tagged by the cost of interruptability. In this case, the case database represents the activity of the target computer in the target office and for one hour. The database contains 1800 2-second cases, which represent 43 state transitions between interruptability levels. This model was built using 85 percent of the cases. The other 15 percent was provided for training.
A variable that represents the current state of interruptability (depending on the low, medium, and high states) is labeled COI at 2110. Other variables include Time Until Next Low, Time Until Next Medium, Time Until Next High, and variants of these variables that represent the time it takes for low, medium, and high interrupts to persist over different periods of time. Is included. Variable conjectures are discretized into five-fold states, including less than one minute, one to five minutes, five to ten minutes, ten to fifteen minutes, and more than fifteen minutes.
FIGS. 22-26 illustrate various judgment trees according to one aspect of the present invention. FIG. 22 shows a judgment tree representing a small coding of the probability distribution under the COI variable of the Bayesian network described above. A bar chart on a leaf of a tree represents a high, medium, and low cost (high to low ordered) probability distribution for a set of observations represented by a path leading to the leaf. This path represents a mixture of presence, application use and perceptual events.
The model shown in Figure 21 provides a useful estimate of the current and future states of interruptability. When tested in 15 percent of the cases provided, the Bayesian network showed a classification accuracy of 0.73 in the accurate allocation of interruptability states of interest. The model also provided useful predictions for multiple variables that represent future states. As an example, this model predicts the time it takes for a user to transition to the next low-cost interrupt with a classification accuracy of 0.56 and the time it takes for a user to reach the next high-cost interrupt state with an accuracy of 0.78. ..
Beyond testing the performance of models with available features, another aspect involves performing a "model removal" survey. This may include analytical losses associated with removing perceptual features from learning and estimation. Since many computers in this area may not have acoustic and visual detection capabilities, the present invention also presents a state of user interruptability for situations where the user is at or near the client device. Discriminating power can also be used in predicting from rich patterns of calendar information and desktop activity.
FIG. 23 shows a Bayesian network model created in a manner similar to the model shown in FIG. However, acoustic or visual events were not considered in model training and testing. Figure 24 shows a judgment tree for variables that represent the cost of interrupts for the target.
Comparing the structures, paths and distributions represented in the judgment tree of FIG. 24 with these features in the judgment tree of FIG. 22 provides some insight into the differences in the model. Bypassing the perceptual detection information leads to the deletion of the acoustic events considered in the judgment tree shown in FIG. Since there is no perceptual information, additional events are useful identifiers. A new application state (whether the target uses email and calendering applications) is introduced, as shown in the decision tree in Figure 24.
The present invention can also utilize the sensitivity of classification accuracy for important variables to the loss of perceptual information. Table 1 below shows that there was no loss in the classification accuracy of interrupt costs for the data from the subject under consideration. However, it was not possible to find the same assessment for all the variables of interest. A mixture of sensitivities for variables that represent the prediction of future interruptability is shown. For example, for objects in the focus of attention, the accuracy of classifying the time to the next highest cost state was slightly reduced due to the loss of perceptual information. On the other hand, the prediction of time to the next lowest cost state was extremely sensitive to the loss of perceptual detection, and the loss of perceptual events shifted to a classification accuracy of 0.56 to 0.48.
<tables num="1"><img file="JP4668552B2_D0004.tif" /></tables>
The Judgment Tree 2500 in Figure 25 is derived from the Bayesian network learning procedure and provides some insight into the use of visual attitude information in predicting the time to the start of the next low-cost interrupt period. Tree 2500 shows that the features derived by the head tracking system for presence and attitude provide information to predict the time to the next lowest cost interrupt.
Figure 26 shows a tree 2600 for the same prediction for cases where there are stripped-down studies of visual and acoustic information. The system is forced to rely on desktop activity and presence to make low-cost interrupt time predictions, and for nearby objects and variables, this reliance usually results in poor prediction quality. Leads to.
FIG. 27 illustrates a method for predicting existence and availability according to the present invention. For the sake of brevity, this method is shown and described as a series of actions, but the invention is not limited by the order of actions, which means that some actions are in different orders according to the invention. And / or because it can occur at the same time as other actions from those described herein. For example, one of ordinary skill in the art will appreciate that one method can be represented as a series of correlated states or events, such as in a phase diagram. Also, not all illustrated actions may be required to carry out the method according to the invention.
With reference to FIG. 27, Process 2700 for existence and availability prediction according to the present invention is illustrated. Proceeding to 2710, data is collected from one or more devices with respect to the user's presence and absence. As mentioned above, data can be derived from multiple sources such as handheld devices, mobile devices, and desktop devices or activities. At 2714, data from various devices is aggregated or collected in event logs or databases. This data can be stored with corresponding annotations indicating where the data was derived, from what type of device and device function the data was derived, and when and when the data was recorded. At 2718, one or more training models consist of the data logged in the event database. At 2722, a query is received requesting existence or availability information about the user. Queries can also be targeted to obtain complementary information, such as existence or lack of availability, as described above. In 2726, the training model described in 2718 follows the data stored in the event database, which is related to one or more of the user's presence and absence associated with various devices and / or locations. Be trained. The trained model is used to return an expectation of user state information (eg, expected presence or absence) in response to a received query.
Privilege to see different aspects or levels of detail about the user's current presence at the location, interruptability, user access to one or more communication channels, or future presence and availability expectations. The forecast can be relayed directly to the granted user. For example, Figure 4 above shows a colleague with appropriate privileges a visualization that includes details about the user's presence and availability. In this case, the currently available communication channels are shown, and the bar graph shows the time until different channels become available, with a certain level of reliability of the transition to availability (in this case, the cumulative probability). Show (when reaching 90% probability).
As you can see, other visualizations are possible for "selectively showing" different types of expectations or status quo (eg, by name, or by abstraction for grouping types, by relationships, etc.). Show a certain kind only to the different types of people nominated). Selectively indicating that the information, time domain low accuracy than in emission information (e.g., within the next 3 hours accurately relative to within 90 minutes, it is not accurate for expected), or, for example, "at home Includes abstraction into less accurate information in the spatial domain, such as "in Seattle".
It is also possible to accommodate and see different aspects of different people with different privileges (for example, by relationships in the organizational chart, or by information such as mechanics, such as the people you will meet today). Such controls can include precision controls, for example, their colleagues can check when they are more likely to return to Seattle next, or if they are currently in Seattle. , And so on. Your direct reports can see that you are working from home this morning, or that you will be back in the office within about 30 minutes.
In other cases, this information can be used to inform the communications agent about the best action to take. Such an application may not include sharing details of a user's current or future existence or availability with other users, and thus can maintain the privacy of the user's situation. Current availability or future expectations can be shared with selected users, including the user's ability to interrupt over time, thereby reducing the possibility of interrupts and the cost of interrupts for different types of interrupts. Or it can be expressed as an expected cost. This can also include selectively sharing information related to users who have access to one or more communication channels.
At this time, with reference to FIG. 28, a system 2800 that can be used in combination with various aspects of the present invention as described above is illustrated. Channel manager 2802 identifies the communication channel, which facilitates optimization of the utility of communication 2810 between contact 2820 and contact 2830. Illustrating one contact 2820 and one contact 2830, it is understood that the system 2800 facilitates the identification of the optimal communication channel between two or more communication parties (eg, communication groups). I want to. It should be further understood that the parties to Communications 2810 may include human parties, equipment and / or electronic processes. Thus, as used herein, the terms contact and contact include a group of contacts and a group of contacts.
Communication 2810 can be carried through a variety of channels, including but not limited to telephone channels, computer channels, fax channels, paging channels and personal channels. Telephone channels include, but are not limited to, POTS (Plain Old Telephone Service) telephones, mobile phones, satellite phones and Internet telephones. Computer channels can include, but are not limited to, devices used in email, collaborative editing, instant messaging, network meetings, calendering, and home processing and / or networking. Personal channels include, but are not limited to, video conferencing, messengering and face-to-face meetings. Data about the current channel (eg, a busy phone) can be analyzed, as well as data about the likelihood that the channel will be available (eg, the phone is no longer busy). Can also do so.
To identify the best communication channel, consider the benefits of establishing communication 2810 with the communication channels available at that time in the first point, and make the establishment of communication 2810 available to other communication channels. It can include considering the cost of delaying to a second point of time that may be.
Channel manager 2802 has access to channel data store 2832, contact data store 2860, and contact data store 2850. Contact data store 2860, channel data store 2832, and contact data store 2850 can store data in data structures, including, but not limited to, one or more lists, arrays, tables, etc. Contains databases, stacks, heaps, link lists, and data cubes, which can reside on one physical device and / or two or more physical devices (eg, disk drives, tape drives, memory units). ) Can be distributed. In addition, contact data store 2860, channel data store 2832 and contact data store 2850 can exist in one logical device and / or data structure.
The channel manager 2802 can be a computer component as the term is defined herein, and thus the channel manager 2802 can be distributed among two or more collaborative processes and / or It can exist in one physical or logical device (eg, computer, process).
In a general-purpose formulation of the problem addressed by Channel Manager 2802, the present invention considers a "communication value function" f, which is the value for each communication channel or subset of channels under consideration, or a channel or channel. Reorder on the communication channel with respect to the acceptability of a subset of. Value (channel) = f (Preferences (contact, contact, organization), context (non-contact, contact)) However, contact and contact contexts include group membership, group context, available devices, date and time, tasks and situations at hand for contacts and contacts, and so on. It should be understood that contact and contact contexts can be stored in one or more formats, and this format includes, but is not limited to, XML Schema. In one example of the invention, the channel manager 2802 should first order the channels by their assigned value and make connections, or advise contacts 2820 and / contact 2830 on the best possible connections. Try to.
In general, there may be preference uncertainty and one or more parameters used to model the context. In this situation, the probability distributions of multiple variables over different states can be estimated and the expected value for the channel can be calculated. For example, if there is uncertainty about the aspect of the contact's context, the probability distribution (abstracted here) is given the evidence E observed for the context, and the sum over the uncertainty. Then, it can be expressed as follows. Expected value (channel) = Σ<sub>i</sub>f (preference (contact, contact, organization), p (non-contact context i | E), contact context)
This expected value can be used to first identify the expected channel to optimize the utility of the communication 2810, but in one example of the invention, the contact person 2830 is presented with communication options. Become so. Contact 2830's reaction to these options will then determine which channel is selected for communication 2810. Responses to options can be used in machine learning to facilitate the adaptation of Channel Manager 2802.
Considering a more specific example of the expected utility use, then Equation 1 incorporates a specific basic formulation of decision-making under uncertainty in the context of the contact's 2830 preference.
<maths num="4"><img file="JP4668552B2_D0005.tif" /></maths>
However, A<sup>*</sup>Is an ideal communication action, which is calculated by optimizing Equation 1 for the contact (A).<sup>C *</sup>) And the contacted person (recipient) (A<sup>R *</sup>) Includes the channel used by. In Equation 1, A<sub>j</sub>Is the communication channel under consideration A<sup>C</sup><sub>k</sub>Is the communication channel used by the contact and context context<sup>R</sup><sub>i</sub>Is the context of the contact person (recipient) of the intended communication, context context<sup>C</sup>Is the context of the contact
C is the contact's identity, usually linked to a person's class (eg, important employee, previously responded, family member, unknown person).
Therefore, in one embodiment of the invention, the conditional probability p (context) in which the contacted person 2830 has a certain context given evidence E.<sup>R</sup><sub>i</sub>| E) is used with the utility function u to determine the ideal communication action that can be taken to maximize the utility of communication 2810 between the contact 2820 and the contact 2830.
The basic formula for identifying the best communication channel can be extended by introducing uncertainty about the context of contacter 2820, which adds the addition shown in Equation 2 to the uncertainty in Equation 1. Add to the calculation. The specific communication action and / or channel selected for the initial contact by contacter 2820 is A.<sup>C</sup><sub>init</sub>It is expressed as.
<maths num="5"><img file="JP4668552B2_D0006.tif" /></maths>
The context of contact 2820 and contact 2830 represents a rich set of deterministic or uncertain variables. The data associated with the automatic assessment of urgency or importance in communication and / or the directly marked instructions can also be evaluated in identifying the optimal communication channel. Context variables can be treated as explicit deterministic or stochastic coefficients in optimization. For example, m<sup>C</sup><sub>k</sub>Can represent the channels available for contact 2820, therefore Equation 3 considers the combinations of channels available for contact 2820.
<maths num="6"><img file="JP4668552B2_D0007.tif" /></maths>
The present invention also compares the best communication options currently available with the best communication options that will be available later, the value of communication for loss based on delay in communication, and the different states of the person being communicated with (the person being communicated with). For example, if communication should come at a later time t when it is more available or less available), it can also update potential gains or losses based on changes in disruption. Such a comparison can be captured by Equation 4.
<maths num="7"><img file="JP4668552B2_D0008.tif" /></maths>
Therefore, deterministic formulas such as those described in Equations 1 to 4 are for one or more contacts and / or sets of contacts that are subsequently established in one or more managed groups. , Used to produce one or more expected benefits. In one embodiment of the invention, communication is automatically initiated, scheduled and / or calendered based on such information. However, in another aspect of the invention, information about these expected benefits is presented to one or more parties. As an example, contact 2820 is presented with a list of high utility communications determined according to the contact's preference. Contact 2820 then selects from that list.
Illustrates one communication 2810 between one contact 2820 and one contact 2830, but a similar or more number of contacts 2820 and / or numerous communications between contact 2830, book It should be understood that it can be identified by the invention. As an example, a communication 2810 to facilitate group meetings can be identified by the system 2800, as well as multiple communications 2810 between two communicating parties (eg, sent simultaneously by email and pager). Duplicate messages) can do so too.
The communication 2810 identified by the channel manager 2802 may, at least in part, depend on, for example, one or more sets of data about the communication channel, contacts and / or contacts. One possible data set, the communication channel data set 2832, relates to the available communication channels. Available communication channels are, but are not limited to, email (of various priorities), telephone (POTS, mobile, satellite, internet), paging, runners / couriers, video conferencing, face-to-face meetings, instant collaborative editing, Delayed post in collaborative editing, Picture in It may include picture TVs, home device activation (eg, turning on lights in the study, ringing the phone in a distinctive pattern), and so on. The communication channel may not be a static entity, so information about the state, functionality, availability, cost, etc. of the communication channel can change. Therefore, the communication channel dataset 2832 contains current state information and / or data to facilitate predictions about future states, features, availability, costs, etc. associated with one or more communication channels. Can be.
Channel Manager 2802 can also enable contact data 2850, which includes, for example, hardware, software, contact tasks being performed, contact attention status, contact context data. Contains information about 2852 and contact preference data 2854. As an example, hardware data includes what hardware is available to the contact, what hardware is in use by the contact (eg, desktop, laptop, PDA), and that hardware. It is related to the capabilities of the hardware (eg, sufficient memory and communication bandwidth for video conferencing), the cost of using the hardware, and the state in which the hardware is currently active (eg, online, offline). Information can be included. Hardware data can also include information about usage patterns that make it easier to determine the likelihood that an unusable part of the hardware will be available. Software data includes what software is available to the contact, what software is in use by the contact (eg, in use by a word processor), and the functionality of that software (eg, collaborative editing). It can contain information related to the state in which the software is currently active (eg, running and active, running but inactive). The software data can also include information about usage patterns that make it easier to determine the likelihood that an unusable part of the software will be available.
Contact data 2850 can also include preference data 2854 for preferences of contact 2830. Preference data 2854 can include data on how the contacted 2830 prefers to be contacted, and these preferences can be over time, eg, different contacts 2820, different times, different times. Changes with respect to channels and various communication topics. Contact preference data 2854 is not limited to, for example, the date and time for communication (eg, early morning, business hours, evening, midnight, sleep time), the time of the week for communication (eg, Monday to Friday, etc.). Weekends, holidays, vacations), contact identities (eg employers, employees, important colleagues, colleagues, peers, nuclear families, large families, best friends, friends, acquaintances, etc.), currently available or communication Hardware available within the time range of the attempt (eg desktop, laptop, home computer), preferred software (eg email, document processing, calendering), and preferred interruptability (eg focus on work) It can contain data about preferences (do not interrupt while doing, but only interrupt while not focused). Six preferences are identified in the preamble, but it should be understood that more or less preferences can be used according to the present invention.
Contact data 2850 can also include context data 2852. Contextual data 2852 is generally associated with observations about the contacted person 2830. For example, the type of activity that the contact person 2830 is involved in (eg, on task, not on the task), the location of the contact person 2830 (eg office, home, car, shower), calendar (eg appointment status, appointment availability). ), History of communications with other parties (eg, responding to emails in the past, talking recently on the phone, utility of the dialogue, duration of the dialogue), background environmental noise at the current location, Observations about the number of hours worked during the day and attention status (eg, high focus, focus, light focus, conversation with another person, light activity) can be stored in contextual data 2852.
On some occasions, the context data 2852 may be incomplete (for example, the video analysis data is not available because the video camera has failed). Therefore, Channel Manager 2802 makes inferences about optimal communication and relies on such incomplete data in the meantime. Therefore, the contact data 2850 can also include information to facilitate the generation of one or more probabilities associated with the lost data element. As an example, the contact data 2850 can include information that can behave to predict the likelihood that the contact 2830 will be in a high alert state, even if gaze tracking information is not available.
Contact data 2850 can further include information about the contact's 2830's long-term and / or urgent, dynamically changing communication needs. As an example, the contacted person 2830 may not need to have an interrupt for the next hour (eg, "hold everything in this task or for the next hour, unless it is of great importance." To do "). As a further example, when the contacted person 2830 wants to talk to the contacted person 2820, the contacted person 2830 is to prevent the contacted person 2820 from "dodging" the contacted person 2830 by leaving an email or voice mail. Can require that the contact from the contact 2820 be made in some way within an X unit time of notification that the contact 2820 wants to communicate.
Therefore, returning to Equation 1, it is as follows.
<maths num="8"><img file="JP4668552B2_D0009.tif" /></maths>
The contacted person 2850 has a utility function u, context<sup>R</sup><sub>i</sub>Appearing to contribute through the component, this component can include the contact person context data 2852 described above.
In addition to the contacted person 2850 used in determining optimal communication, data on contacted person 2820 can also be used. Contact data 2860 can include hardware, software, context, preference and communication need data, which is substantially similar to what is available for contact 2830, but of contact 2820. It is different to be prepared from the point of view.
Therefore, returning to Equation 1 again, it is as follows.
<maths num="9"><img file="JP4668552B2_D0010.tif" /></maths>
Contact data 2860 is a utility function u with context<sup>C</sup>Seems to contribute through the ingredients.
The present invention is not limited to multiple communications between two parties or a single communication channel between two parties. Utility optimization maximization calculations without changing the basic process of identifying and establishing multiple channels and / or multiple communication parties, one or more communication channels based on communication party preferences, context and function. It can be treated as an increased set of complicating alternatives.
The Channel Manager 2802 can include several computer components that are responsible for implementing some of the functionality of the Channel Manager 2802. For example, channel manager 2802 can include a preference resolver 2872. The Preference Resolver 2872 examines the contact preference data 2854 and the contact preference data 2864 to find a correlation between the two sets of data. In one example of the invention, the information about the correlation is stored in the resolved preference data. In group communications, the preference resolver 2872 examines multiple sets of preference data to discover correlations between multiple preferences. As an example, in a communication between two parties, the preference resolver 2872 determines that both parties prefer to communicate by high priority email for the communication associated with the first task. be able to. Similarly, the Preference Resolver 2872 determines that the contact person 2830 prefers to communicate by collaborative editing and telephone for communication on a particular document, and the contact person 2820 prefers to communicate only by telephone. Can be done. Therefore, the preference resolver 2872 either generates data (eg, resolved preference data) or initiates processing, thereby providing value to the correlation between the contact 2830 preference and the contact 2820 preference. assign. In one embodiment of the invention, the preference of the contact person 2830 is given greater weight, and therefore the contact person 2820 attempts a telephone conversation about the contact person 2830's preference for telephone and collaborative editing. If so, the preference resolver 2872 either generates data or initiates processing, thereby increasing the likelihood that contact 2820 will communicate by telephone and collaborative editing. In another aspect of the invention, the preference of contact 2820 is given a priority that exceeds the preference of the contacted person. As an example, when a human contact 2820 is attempting to communicate with an electronic contact 2830, the contact 2820's preference is good. Considered more important, and therefore the preference resolver 2872 creates value or initiates processing, thereby increasing the likelihood that the contact 2820's preference will be observed. In another embodiment of the invention, the preference resolver 2872 produces a list of potential communication channels ranked in their responsiveness to preference.
Channel Manager 2802 can also include Context Analyzer 2874. The context analyzer 2874 examines the contact context data 2852 and the contact context data 2862 to find the correlation between the two sets of data. In one example of the invention, the information about the correlation is stored in the analyzed context data. In group communication, the Context Analyzer 2874 can inspect multiple sets of contextual data to extract information about multiple contexts. As an example, in communication between two parties, the context analyzer 2874 states that the contact context does not have real-time communication immediately available, but such communication will occur at some point in the future.<sub>1</sub>Will be available in X<sub>1</sub>Likelihood of%, and at some point in the future such communication T<sub>2</sub>Will be available in X<sub>2</sub>It can be determined that the likelihood of% exists. In addition, the Context Analyzer 2874 can determine that the contact 2820 is requesting a real-time call, but the contact 2820's context is such that email communication can optimize utility. .. For example, the contact 2820 context can include information about environmental noise at the contact 2820 location. The Context Analyzer 2874 can determine that the noise level does not help optimize real-time telephone utility, thus generating value and / or initiating processing, thereby contacting the contact. The 2820 can be more likely to communicate with the contact person 2830 via email. Similar to the processing performed by the preference resolver 2872, the Context Analyzer 2874 can weight the context of the contacted person 2830 more than the context of the contacted person 2820 in different examples of the system 2800, and vice versa. Is.
Returning to Equation 1 again, it is as follows.
<maths num="10"><img file="JP4668552B2_D0011.tif" /></maths>
The context analyzer 2874 has a utility function u as well as context.<sup>R</sup><sub>i</sub>And context<sup>C</sup>Performs the processing associated with that analysis.
Channel Manager 2802 can also include Channel Analyzer 2876. The channel analyzer 2876 analyzes the communication channel data set 2832. Channel Analyzer 2876 generates data about the current availability of communication channels and / or the likelihood that the channel will be available. In one example of the invention, such data is stored in communication channel data. The Channel Analyzer 2876 also includes, for example, one or more channels specified by the contact 2820 for communication and / or one or more channels listed as preferences by the contact 2830 in the contact preference data 2854. Also inspect. The Channel Analyzer 2876 also inspects currently available channels, such as those determined by the location information associated with the contact person 2830, and channels that may become available based on the contact person 2830's activity. To do. For example, if the contacted person 2830 is currently driving to his home (eg, determined by GPS and schedule), the channel analyzer 2876 will inspect the current cellular channel and, in addition, the contacted person 2830's home. Check the available channels in. Therefore, the Channel Analyzer 2876 facilitates the initiation of data generation and / or processing, which is desired when determining the optimal communication channel for the communication 2810 between the contact 2820 and the contact 2830. Increase the likelihood that the channel will be used. Therefore, when Equation 1 is examined, it is as follows.
<maths num="11"><img file="JP4668552B2_D0012.tif" /></maths>
The channel analyzer 2876 has a utility function u, as well as contact channel A.<sub>j</sub>And contact channel A<sup>C</sup><sub>k</sub>Performs the processing associated with that analysis.
Channel manager 2802 can also include communication establisher 2870. Ideal communication action A<sup>*</sup>After the identification, the communication establisher 2870 undertakes the process of connecting the contact 2820 and the contact 2830 through the identified optimal communication channel. Such connections can be based, at least in part, on resolved preference data, analyzed contextual data and communication channel data. For example, if the best communication 2810 is identified as an email, the communication establisher will use the email creation process (eg, an email screen on a computer, a voice-email converter on a mobile phone, a two-way digital pager). The email composer) can be started for Contact 2820 and the emails created can be forwarded to the most appropriate email application for Contact 2830 based on the best identified communication 2810. For example, the communication establisher 2870 can transfer an email to the contacted person 2830 pager based on the GPS data associated with the contacted person 2830's location. In an alternative example of the invention, the system 2800 does not include the communication establisher 2870, but instead relies on the actions of the contact 2820 and / or the contact 2830, eg, to establish communication. It should be understood that the preference resolver 2872, context analyzer 2874, channel analyzer 2876 and communication establisher 2870 are computer components as the term is defined herein.
With reference to FIG. 29, system 2910 illustrates the priority system 2912 and notification architecture according to one aspect of the invention. The priority system 2912 receives one or more messages or notifications 2914 and sets the priority or measure of importance for the associated message (for example, the value of the probability that the message is of high or low importance). Generate and provide the associated priority value in output 2916 for one or more messages. As described in more detail below, classifiers can be configured and trained to automatically assign priority measures to message 2914. For example, the output 2916 can be formatted so that the message is assigned a probability that the message belongs to a high, medium, low or other degree of importance category. The messages can be automatically sorted, for example, according to the determined importance category in the inbox of the e-mail program (not shown). Sorting can also include sending files to a system folder with a defined importance label. This can include having folders labeled by degree of importance such as low, medium and high, in which messages determined to be of particular importance are sorted into associated folders. Will be done. Similarly, one or more audio sounds or visual displays (eg, icons, symbols) can be adapted to alert the user that a message with the desired priority is being received (eg, an icon, symbol). High priority messages receive 3 beeps, medium priority 2 beeps, low priority 1 beep, high priority red or blinking alert symbol, medium priority message received A green non-flickering alert symbol that indicates that it has been done).
According to another aspect of the invention, the notification platform 2917 can be used in conjunction with the priority system 2912 to send preferred messages to one or more notification sinks accessible to the user. As described in more detail below, Notification Platform 2917 is adapted to receive preferred message 2916 and to make decisions regarding, for example, when, where and how to notify the user. Can be made to. As an example, the notification platform 2917 is a communication modality (eg, a user's current notification sink 2918, such as a mobile phone or personal digital assistant (PDA)), as well as a likely location and / or likely user. The focus of attention can be determined. When a sensitive email is received, for example, the notification platform 2917 can determine the user's location / focus and send / reformulate the message to the notification sink 2918 associated with the user. .. When a low priority message 2916 is received, the notification platform 2917 can be configured to leave, for example, an email in the user's inbox for later review as desired. Other routing and / or alert systems 2919 can be utilized to send preferred message 2916 to users and / or other systems, as described in more detail below.
Looking at FIG. 30 at this time, the system 3000 exemplifies a method in which the notification engine and the context analyzer work together according to one aspect of the present invention. System 3000 includes a context analyzer 3022, a notification engine 3024, one or more notification sources 1 to N, 3026, 3027, 3028, a priority system 3018 that can act as a notification source, and one or more notifications. Includes sinks 1 to M, 3036, 3037, 3038, where N and M are integers, respectively. These sources are also called event publishers, and sinks are also called event subscribers. Any number of sinks and sources can be present. In general, the notification engine 3024 delivers notifications, also known as events or alerts, from sources 3026-3028 to sinks 3036-3038, based in part on the parametric information stored and / or accessed by the context analyzer 3022. To do.
The Context Analyzer 3022 stores / analyzes information about user variables and parameters that influence notification decision making. For example, the parameters are adjusted in such parameters, such as the user's normal position and focus of attention, or contextual information such as activity by date and time and day of the week, and devices that the user tends to have access to in different locations. Can include additional parameters. Such parameters can also be an autonomous observation function via one or more sensors. For example, information about a user's location where one or more profiles (not shown) can be provided by the Global Positioning System (GPS) subsystem, the type of device used and / or the use of the device. It can be selected or modified based on information about the pattern of, as well as the last time a particular type of device was accessed by the user. In addition, automatic estimation can be used to dynamically estimate parameters or states such as position and attention, as described in more detail below. Profile parameters can be stored as a user profile that can be edited by the user. Beyond relying on a predefined set of profiles or dynamic inferences, the notification architecture allows the user to specify their state in real time, for example, the user can specify the following "x": Not available over time or until a given time, except for important notices, and so on.
The parameter can also include a default notification preference parameter regarding the user's preference for being blocked by different types of notifications in different settings, which is then used by the notification engine 3024 as the basis for making notification decisions. In which the user can initiate the change. The parameters can include default parameters for how the user wants to be notified in different situations (eg, by mobile phone, by pager, etc.). Parameters can include assessments such as the cost of confusion associated with being notified by different modes in different settings. This includes the likelihood that the user is in a different position, the likelihood that different devices are available, and the context parameters that indicate the likelihood of his or her attention situation at a given time, as well as the user at a given time. Can include notification parameters that indicate how you want to be notified.
The information stored by the context analyzer 3022 according to one aspect of the invention includes the context information determined by the analyzer. Contextual information is determined by Analyzer 3022, which is done by identifying the user's location and attention status based on one or more contextual information sources (not shown), which are described herein below. Will be explained in more detail in the section. The Context Analyzer 3022 may be able to accurately determine, for example, the user's actual location via the Global Positioning System (GPS), which is part of the user's car or mobile phone. The analyzer also uses a statistical model to examine the likelihood that the user is in a given state of attention, such as the type of day, the date and time, the data in the user's calendar, and observations about the user's activity. It can also be determined by reviewing background assessments and / or observations collected through. A given state of attention can include whether the user is able to receive notifications, is busy, or is unable to receive notifications, including weekdays, weekends, holidays and / or other opportunities / periods. Can include.
Sources 3026-3028, 3030 generate notifications for users and / or other entities. For example, sources 3026-3028 can include communications such as Internet and network-based communications, and telephony communications, as well as software services. Notification sources are commonly defined herein as generating events, which can also be referred to as notifications and alerts, for users or proxies for users about information, services and / or events in the system or the world. Intended to alert. The notification source can also be called the event source.
For example, an email can be generated as a notification by the priority system 3018 so that it is prioritized, and the application program or system that generates the notification is of high importance or urgency of the email. Assign an email with the corresponding relative priority to the user. Emails can also be sent to users regardless of their relative importance. Internet-related services can include notifications, including information that the user subscribes to, such as current news headlines from time to time, and stock prices.
Notification sources 3026-3028 can themselves be push or pull sources. Push sources are those that automatically generate and send information without a corresponding request, such as news headlines and other Internet-related services that automatically send information after being subscribed. .. A pull-type source sends information in response to a request, such as receiving an email after the mail server has been polled. Still other notification sources include: · E-mail desktop applications such as calendar systems, · Computer systems (eg, users can be alerted to that information about alerts about system activity or problems by message), Internet related services, appointment information, scheduling queries, · Changes in the number of documents or documents of some type in one or more shared folders, · Availability of new documents in response to persistent or persistent queries for information, and / or People and their presence, their changes in location, their proximity (eg, when you are traveling, if another co-worker or friend is within your 10 miles (16.09 km), to yourself Please let me know), or information about their availability (for example, let me know when Steve is near a fast link that is available for conversations and can support all video conferencing). Information source for.
Notification sinks 3036-3038 can provide notifications to users. For example, such notification sinks 3036-3038 can include computers, which, as you can see, are desktop and / or laptop computers, handheld computers, mobile phones, phones, pagers, car-based computers, as well. , Other systems / applications, etc. Note that some of the sinks 3036-3038 can carry notifications richer than others of the sink. For example, a desktop computer typically has a speaker and a relatively large color display attached to it, as well as a higher bandwidth to receive information when connected to a local network or the Internet. Therefore, the notification can be delivered to the user by the desktop computer in a relatively rich manner. Conversely, many mobile phones have, for example, smaller displays that may be black and white and receive information with a relatively low bandwidth. Correspondingly, the information associated with the notification carried by the mobile phone may generally be shorter, for example, and may be adapted to the interface function of the phone. Therefore, the content of the notification can vary depending on whether it should be sent to a mobile phone or a desktop computer. According to one aspect of the invention, a notification sink can refer to, for example, one that subscribes to an event or notification via an event subscription service.
The notification engine 3024 accesses the information stored and / or determined by the context analyzer to determine which of the notifications received from sources 3026-3028 should be delivered to which of sinks 3036-3038. In addition, the notification engine 3024 can determine how notifications should be delivered, depending on which of the sinks 3036-3038 is selected as the destination to which the information is sent. For example, it can be determined that the notification should be summarized before it is provided to the selected sinks 3036-3038.
The present invention is not limited to how the engine 3024 makes its decision as to which of the notifications should be delivered to which of the notification sinks and in what way the notifications are delivered. .. According to one aspect, deterministic analysis can be utilized. For example, the notification engine 3024 estimates significant uncertainties about variables, including the user's location, attention, device availability, and the amount of time it takes for the user to access information in the absence of alerts. Can be adapted as The notification engine 3024 then makes a notification decision as to whether to alert the user to the notification, and if so, the nature of the summary and the appropriate device to use to relay the notification. be able to. In general, the notification engine 3024 determines the net expected value of a notification. In doing so, the following can be considered. · Fidelity and transmission reliability of each available notification sink, Caution cost that hinders the user, Novelty of information to users, The time it takes for the user to review the information himself, · Potential context-dependent value of information and / or Increase and / or decrease in the value of the information contained within the notification over time.
Therefore, the estimation made for uncertainty is generated as the expected likelihood of value, for example, the cost of confusion to the user due to the use of a particular mode of a particular device given a given state of attention of the user. Can be done. The notification engine 3024 can make a decision on one or more of the following: · What the user is currently trying and doing (eg, based on contextual information) Where the user is currently How important information is What is the cost of postponing notifications? How distracting the notifications will be What is the likelihood transmitted to the user, and · What is the fidelity loss associated with the use of a particular mode of a given notification sink?
Therefore, the notification engine 3024 can perform analyzes such as deterministic analysis of pending and active notifications, evaluate context-dependent variables provided by information sinks and sources, and determine the uncertainties selected. Estimate, such as the time it takes for a user to review information, as well as the user's location and current state of attention.
In addition, the notification engine 3024 can access the information stored in the user profile by the context analyzer 3022 as an alternative to or to support personalized deterministic analysis. For example, a user profile may indicate that a user prefers to be notified only through a pager at a given time and if the notification has a certain level of importance. Such information can then be used as a baseline to initiate a deterministic analysis, or it should notify the user of how the notification engine 3024 notifies the user. It can be a method of determining whether or not there is.
According to one aspect of the invention, the notification platform architecture 3000 can be configured as a layer existing on an eventing or messaging infrastructure. However, the invention is not limited to any particular eventing infrastructure. Such eventing and messaging systems and protocols may include: Hypertext Transfer Protocol (HTTP), or HTTP extensions as known within the art, -Simple Object Access Protocol (SOAP), as is known within the art. Windows Management Instrumentation (WMI), as is known within the art. -Jini, as is known in the art, and Virtually any type of communication protocol, for example, one based on a packet-switched protocol.
Moreover, as will be appreciated by those skilled in the art, this architecture can be configured as a layer that resides on a flexibly distributed computing infrastructure. Therefore, the notification platform architecture uses the underlying infrastructure, for example, as a way for sources to send notifications, alerts and events, and thereby for sinks to receive notifications, alerts and events. Can be done. However, the present invention is not so limited.
Referring to FIG. 31, an exemplary environment 3110 for practicing various aspects of the invention includes a computer 3112. Computer 3112 includes processor 3114, system memory 3116, and system bus 3131. System bus 3131 binds system components, including, but not limited to, system memory 3116 to processor 3114. Processor 3114 can be any of the various available processors. Dual microprocessors and other multiprocessor architectures can also be used as processor 3114.
The system bus 3131 can be any of several types of bus structures, including memory buses or memory controllers, peripheral buses or external buses, which use any of the various available bus architectures. And / or local buses are included, and bus architectures include, but are not limited to, 11-bit buses, industry standard architecture (ISA), microchannel architecture (MCA), extended ISA (EISA), Intelligent Drive Electronics (IDE), Includes VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association Bus (PCMCIA), and Small Computer Systems Interface (SCSI) Is done.
System memory 3116 includes volatile memory 3120 and non-volatile memory 3122. The basic input / output system (BIOS) contains basic routines for transferring information between multiple elements in computer 3112, such as during boot, and is stored in non-volatile memory 3122. As an example, but not limited to, the non-volatile memory 3122 includes read-only memory (ROM), programmable ROM (PROM), EPROM (erasable programmable read-only memory), EEPROM (Electronically Erasable and Programmable Read Only Memory), or flash. May contain memory. Volatile memory 3120 includes random access memory (RAM), which acts as an external cache memory. As an example, but not limited to RAM, Synchronous RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR) It can be used in many forms such as SDRAM), extended SDRAM (ESDRAM), synclink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
Computer 3112 also includes removable and non-removable, volatile / non-volatile computer storage media. FIG. 31 illustrates, for example, a disk storage 3124. Disk storage 3124 includes, but is not limited to, magnetic disk drives, floppy (registered trademark) disk drives, tape drives, Jaz drives, Zip drives, LS-100 drives, flash memory cards, or memory sticks. In addition, Disk Storage 3124 can include storage media separately from or in combination with other storage media, including, but not limited to, compact disk ROM devices (CD-ROMs). , Writable CD drive (CD-R drive), rewritable CD drive (CD-RW drive), or DVD (Digital Versatile) Disc)-Includes optical disk drives such as ROM drives. Removable or non-removable interfaces, such as interface 3126, are commonly used to facilitate the connection of disk storage device 3124 to system bus 3131.
It should be understood that Figure 31 describes software that acts as an intermediary between the user and basic computer resources described in the appropriate operating environment 3110. Such software includes operating system 3128. Operating system 3128 can be stored on disk storage 3124 and operates to control and allocate resources for computer system 3112. System application 3130 utilizes operating system 3128 to manage resources through program module 3132 and program data 3134 stored in system memory 3116 or on disk storage 3124. It should be understood that the present invention can be implemented with various operating systems or combinations of operating systems.
The user enters a command or information into computer 3112 through input device 3136. Input device 3136 includes, but is not limited to, pointing devices such as mice, trackballs, stylus, touchpads, keyboards, microphones, joysticks, gamepads, satellite parabolic antennas, scanners, TV tuner cards, digital cameras, digital video cameras. , Web camera etc. are included. These and other input devices connect to processor 3114 through system bus 3131 and through interface port 3138. Interface port 3138 includes, for example, a serial port, a parallel port, a game port and a universal serial bus (USB). The output device 3140 uses some of the ports of the same type as the input device 3136. Thus, for example, the input can be provided to the computer 3112 using the USB port and the information can be output from the computer 3112 to the output device 3140. An output adapter 3142 is provided, exemplifying that, among other output devices 3140, there are some output devices 3140 such as monitors, speakers and printers that require a dedicated adapter. The output adapter 3142 includes, by example, but not limited to, video and sound cards, which provide a means of connection between the output device 3140 and the system bus 3131. Note that other devices and / or systems of devices provide input and output capabilities, such as the remote computer 3144.
The computer system 3112 can operate in a network environment using a logical connection to one or more remote computers, such as the remote computer 3144. The remote computer 3144 can be a personal computer, server, router, network PC, workstation, microprocessor-based appliance, peer device or other common network node, and is typically described above in connection with computer 3112. Contains many or all of the elements. For brevity, only the memory storage device 3146 is illustrated with the remote computer 3144. The remote computer 3144 is logically connected to computer 3112 through network interface 3148 and then physically connected via communication connection 3150. Network interface 3148 includes communication networks such as local area networks (LANs) and wide area networks (WANs). FDDI (fiber distributed data) for LAN technology Includes interface), CDDI (copper distributed data interface), Ethernet® / IEEE.1102.3, Token Ring / IEEE1102.5, etc. WAN technologies include, but are not limited to, point-to-point links, circuit-switched networks such as Integrated Services Digital Network (ISDN) and its variants, packet-switched networks, and digital subscriber lines (DSL). Is done.
Communication connection 3150 refers to the hardware / software used to connect network interface 3148 to bus 3131. Although shown inside the computer 3112 to exemplify the communication connection, it can also be outside the computer 3112. The hardware / software required to connect to network interface 3148 includes, for illustration purposes only, regular telephone grade modems, modems including cable and DSL modems, ISDN adapters, and Ethernet® cards. Includes internal and external technologies.
FIG. 32 is a schematic block diagram of a sample computing environment 3200 to which the present invention can interact. System 3200 contains one or more clients 3210. Client 3210 can be hardware and / or software (eg threads, processes, computing devices). System 3200 also includes one or more servers 3230. Server 3230 can also be hardware and / or software (eg threads, processes, computing devices). Server 3230 can accommodate threads and perform conversions, for example by using the present invention. One possible communication between client 3210 and server 3230 can be in the form of data packets adapted to be sent between two or more computer processes. System 3200 includes the communication framework 3250, which can be used to facilitate communication between client 3210 and server 3230. Client 3210 is operably connected to one or more client datastores 3260 and can be used to store information locally on client 3210. Similarly, Server 3230 is operably connected to one or more server datastores 3240, which can be used to store information locally on Server 3230.
Figures 33-37 illustrate exemplary applications according to one aspect of the invention. Figure 33 illustrates the use of predictions about time away from email in deciding when an emergency message should be sent to a portable device, such as that illustrated at reference number 3300. .. Figure 34 illustrates the use of predictions about time to leave an email at 3400 in a decision to send a personalized office out-of-office message to a colleague, at 3410 at the option, in an office out-of-office message. Includes an estimate of the time to leave the email. Figure 35, at 3500, illustrates an estimate of the time of absence in an office absence message. FIG. 36 illustrates the use of predictions about time away from the office at 3600 in an application (eg, an electronic calendar) that shares predictions about time away from others. FIG. 37 illustrates a rescheduling application that uses the conjecture according to the invention. The 3700 provides an interface that gives callers the option to reschedule calls for currently absent users. At 3710, the proposed time for reschedule the call is provided through the use of the estimated time of absence.
The above-mentioned ones include examples of the present invention. Needless to say, it is not possible to describe any possible combination of components or methods for describing the invention, and it will be appreciated by those skilled in the art that a plurality of additional combinations and substitutions of the invention are possible. Yeah. Accordingly, the present invention is intended to include all such modifications, modifications and variations within the spirit and scope of the appended claims. Further, as long as the term "include" is used in a detailed description or claims, such terms include the term "comprising" as a transitional phrase within the claims. It is intended to be inclusive in a manner similar to "comprising" when interpreted when used as.
<figref num="1">It is a schematic block diagram of the prediction system according to one aspect of this invention.</figref><figref num="2">It is the schematic of the adjustment system by one aspect of this invention.</figref><figref num="3">It is a figure which illustrates the graphical user interface for constructing the adjustment system by one aspect of this invention.</figref><figref num="4">It is a figure which illustrates the graphical user interface for displaying a prediction in the adjustment system by one aspect of this invention.</figref><figref num="5">It is a figure which illustrates the graphical user interface for interacting with the adjustment system by one aspect of this invention.</figref><figref num="6">It is a figure which illustrates the graphical user interface for interacting with the adjustment system by one aspect of this invention.</figref><figref num="7">It is a figure which illustrates the graphical user interface for interacting with the adjustment system by one aspect of this invention.</figref><figref num="8">It is an influence diagram which illustrates Bayesian network which predicts the likelihood of attending a meeting, and the interrupt possibility and the probability distribution over the position of a meeting by one aspect of this invention.</figref><figref num="9">It is the figure of the judgment tree for predicting the probability that a user will attend a meeting by one aspect of this invention.</figref><figref num="10">It is a figure of the judgment tree for predicting the interrupt possibility of the meeting constructed from the training data by one aspect of this invention.</figref><figref num="11">It is a figure which illustrates the cost of interrupt by one aspect of this invention.</figref><figref num="12">It is a figure which illustrates the influence of the meeting analysis on the existence prediction by one aspect of this invention.</figref><figref num="13">It is a figure of the graphical user interface which illustrates the adjustment system configuration by one aspect of this invention.</figref><figref num="14">It is a figure which illustrates the event logging by one aspect of this invention.</figref><figref num="15">It is a figure which illustrates the dynamic Bayes model by one aspect of this invention.</figref><figref num="16">It is a figure which illustrates the control panel for the event system by one aspect of this invention.</figref><figref num="17">It is a figure which illustrates the event whiteboard by one aspect of this invention.</figref><figref num="18">A diagram illustrating the effect of one aspect of the present invention on the attention state and the expected cost of interruption over time, (a) is a diagram illustrating the effect on the attention state, and (b) is an interrupt over time. The figure illustrates the effect on the expected cost of.</figref><figref num="19">It is a figure which illustrates the alert display by one aspect of this invention.</figref><figref num="20">It is a figure which illustrates the interrupt workbench by one aspect of this invention.</figref><figref num="21">It is a figure which illustrates the Bayes network model by one aspect of this invention.</figref><figref num="22">It is a figure which illustrates various judgment tree by one aspect of this invention.</figref><figref num="23">It is a figure which illustrates various judgment tree by one aspect of this invention.</figref><figref num="24">It is a figure which illustrates various judgment tree by one aspect of this invention.</figref><figref num="25">It is a figure which illustrates various judgment tree by one aspect of this invention.</figref><figref num="26">It is a figure which illustrates various judgment tree by one aspect of this invention.</figref><figref num="27">It is a flow chart which shows the process for existence and availability prediction by one aspect of this invention.</figref><figref num="28">It is a schematic block diagram of the communication system by one aspect of this invention.</figref><figref num="29">It is a schematic block diagram of the priority system according to one aspect of this invention.</figref><figref num="30">FIG. 6 is a schematic block diagram illustrating organizational coordination between a notification engine and a context analyzer according to an aspect of the present invention.</figref><figref num="31">It is a schematic block diagram which illustrates the suitable operating environment by one aspect of this invention.</figref><figref num="32">It is a schematic block diagram of a sample computing environment in which the present invention can interact with it.</figref><figref num="33">It is a figure which illustrates the example of the application by one aspect of this invention.</figref><figref num="34">It is a figure which illustrates the example of the application by one aspect of this invention.</figref><figref num="35">It is a figure which illustrates the example of the application by one aspect of this invention.</figref><figref num="36">It is a figure which illustrates the example of the application by one aspect of this invention.</figref><figref num="37">It is a figure which illustrates the example of the application by one aspect of this invention.</figref>
Code description
110 Expected Services / Components 114 query 120 Current and / or future user status information 124 application 130 Permitted people 134 Learning components 140 User event data 150 Data acquisition components
Every citation, both waysCites: the store holds 0 of 1
| Reference | Relation |
|---|---|
| David Maxwell Chickering, et al.,“A Bayesian Approach to Learning Bayesian Networks with LocalStructure”,[online],1997年,[検索日 2010年12月28日],インターネット<URL:http://research.microsoft.com/en-us/um/people/heckerman/chm97uai.pdf> | Non-patent |
| Paul Dagum, et al.,“Uncertain Reasoning and Forecasting”,[online],1995年,[検索日 2010年12月28日],インターネット<URL:http://research.microsoft.com/en-us/um/people/horvitz/FORECAST.HTM> | Non-patent |
24 members in 6 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 10609972 | United States of America | – | |
| 60997203 | United States of America | A | |
| 2003609972 | – | – | – |
| US20030609972 | – | – | – |
Members24
| Document | Office | Kind | |
|---|---|---|---|
| EP1271371A2 | European Patent Office (EPO) | A2 | |
| US2003014491A1 | United States of America | A1 | |
| US2004003042A1 | United States of America | A1 | |
| US2004249776A1 | United States of America | A1 | |
| KR20050005751A | Republic of Korea | A | |
| EP1271371A3 | European Patent Office (EPO) | A3 | |
| US2005021485A1 | United States of America | A1 | |
| BRPI0401848A | Brazil | A | |
| EP1505529A1 | European Patent Office (EPO) | A1 | |
| JP2005115912A | Japan | A | |
| US2005132004A1 | United States of America | A1 | |
| US2005132005A1 | United States of America | A1 | |
| US2005132006A1 | United States of America | A1 | |
| CN1629870A | China | A | |
| US2007071209A1 | United States of America | A1 | |
| US7233933B2 | United States of America | B2 | |
| US7305437B2 | United States of America | B2 | |
| US7409423B2 | United States of America | B2 | |
| US7490122B2 | United States of America | B2 | |
| US7493369B2 | United States of America | B2 | |
| US7519676B2 | United States of America | B2 | |
| US7689521B2 | United States of America | B2 | |
| US7739210B2 | United States of America | B2 | |
| JP4668552B2This record | Japan | B2 |
13 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Request for change of ownership or part of ownershipJAPANESE INTERMEDIATE CODE: R313113S111 | S111 | |
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 4668552
- Publication, DOCDB
- 4668552
- Publication, EPODOC
- JP4668552B
- Application
- 153813
- Application, DOCDB
- 2004153813
- Application, EPODOC
- JP20040153813
Titles2
- Japanese
- ユーザの存在および可用性の状況および予想を提供するための、デバイス間アクティビティ監視、推論および視覚化のための方法およびアーキテクチャ
- English
- Methods and architectures for device-to-device activity monitoring, inference and visualization to provide user presence and availability status and expectations
Classification
- CPC, 1
- G06Q10/109
- IPC, 3
- G06F15 00
- G06F9 44
- G06Q10 00