People presence detection in a multidocument knowledge base
Claim Score by NHIP
Abstract
User presence is detected in a notebook that includes multiple different documents. The user identity and location within the notebook can be displayed to other users to facilitate collaboration.

Term
Projected expiry 18 January 2032.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1Broadest claimClaim Score 70, broad(NHIP)A computer-implemented method of processing collaborator presence in a collaboration system, comprising:detecting a first location, being accessed by a first user, in a collaboration system that includes a plurality of different documents;storing the first location and an identity of the first user in a data store;detecting access, by a second user, to the collaboration system;and generating a user presence display for the second user indicating that another user is accessing the collaboration system at a given location.
- 17A collaboration system, comprising:a notebook system that provides a plurality of different notebooks, each notebook having a plurality of different documents, the notebook system being accessible by a plurality of different users;a presence detector detecting that any of the plurality of different users are accessing the notebook system and a corresponding location of the notebook system being accessed;a data store storing identity data indicative of an identity of a user detected by the presence detector and location data indicative of the corresponding location being accessed by the user;a presence processing component generating a presence display to other users indicative of the identity data and the location data;and a computer processor being a functional component of the collaboration system and activated by the notebook system, the presence detector and the presence processing component to facilitate detecting and generating the presence display.
- 20A computer-implemented method of processing collaborator presence in a collaboration system, comprising:detecting a first location, being accessed by a first user, in a collaboration system that includes a plurality of different documents;storing the first location and an identity of the first user in a data store;detecting access, by a second user, to the collaboration system;generating a user presence display for the second user indicating that another user is accessing the collaboration system at a given location;detecting the second location of the second user in the collaboration system;generating the user presence display for the first user indicating whether the first user is at a same or different location as the second user;detecting navigation of the first user to a different location in the collaboration system, different from the first location;updating the first location of the first user stored in the data store to the different location to which the first user has navigated;and updating the user presence display for the second user to show the different location of the first user.
Independent claims3
96 paragraphs in 4 sections, as filed
BACKGROUND
0001There are a wide variety of different types of knowledge base that are currently in use, and that contain multiple documents. One type of knowledge base is a notebook system that supports note taking applications. In such a system, it is not uncommon for there to be multiple different notebooks, each of which are arranged in a generally hierarchical fashion. Each notebook can have multiple different sections or chapters, and each section can have multiple different pages. Each page can have multiple different documents located thereon or embedded therein.
0002For instance, in one notebook system, a notebook may be created that corresponds to a given product. The notebook can have different tabs associated with different sections, and those sections may include, for instance, a section devoted to customers for the product, a section devoted to the product specification, a section devoted to meetings that are to be scheduled or that have been scheduled regarding the product, a home section or home page that generally describes the product, etc.
0003Each of the sections may contain a plurality of different pages, and each page can contain one or more documents. With respect to the present discussion, the term document means a collection of content. For instance, a document may be a word processing document or a page in the document, or it may be a spreadsheet or even a page in the spreadsheet, a video or audio file, a slide presentation or individual slides in the presentation, a set of drawings in a drawing document or the individual drawings, or any other similar type of content collection. It can be seen that a page in a given notebook may have one or more documents contained thereon. In addition, one document can be embedded within another. For instance, a slide presentation document may have a spreadsheet document embedded therein. In any case, it can be seen that such notebook systems can represent a knowledge base that contains a wide variety of different documents, and even different types of documents.
0004The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.
SUMMARY
0005When a notebook system is accessible by a number of different users, user collaboration can be supported in the notebook. For instance, one user may access a certain section or page of the notebook, and begin editing that section, while another user accesses a different notebook in the system or a different section or page or document and is editing that portion of the same notebook. In this type of collaboration, it can be helpful for a user who is working in, or accessing, a notebook to be aware of the presence of other users who are also working in, or accessing, the notebook or in another notebook in the system.
0006User presence is detected in a notebook that includes multiple different documents. The user identity and location within the notebook can be displayed to other users to facilitate collaboration.
0007This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
BRIEF DESCRIPTION OF THE DRAWINGS
0008<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram of a collaboration system.
0009<figref idref="DRAWINGS">FIG. 2</figref> is a flow diagram illustrating one embodiment of the overall operation of the system shown in <figref idref="DRAWINGS">FIG. 1</figref> in detecting presence of users in a notebook.
0010<figref idref="DRAWINGS">FIG. 3</figref> is a flow diagram illustrating one embodiment of the operation of the system shown in <figref idref="DRAWINGS">FIG. 1</figref> in generating a global map showing detected presence in each of a plurality of different notebooks.
0011<figref idref="DRAWINGS">FIGS. 4A-4B</figref> show one illustrative flow diagram of the operation of the system shown in <figref idref="DRAWINGS">FIG. 1</figref> in performing presence information processing.
0012<figref idref="DRAWINGS">FIGS. 5A-5O</figref> are illustrative user interface displays.
0013<figref idref="DRAWINGS">FIGS. 6-8</figref> show illustrative mobile devices which can be used.
0014<figref idref="DRAWINGS">FIG. 9</figref> is a block diagram of one illustrative computing environment.
DETAILED DESCRIPTION
0015<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram of a collaboration system <b>100</b>. Collaboration system <b>100</b> shows a knowledge base system <b>102</b> connected either through network <b>104</b> or directly (as indicated by dashed arrow <b>106</b>) to a plurality of users <b>108</b>, <b>110</b> and <b>112</b> that collaborate on collections of documents in knowledge base system <b>102</b>. <figref idref="DRAWINGS">FIG. 1</figref> also shows that users <b>108</b>-<b>110</b> can be connected with one another and with knowledge base system <b>102</b> through a communication component <b>114</b>.
0016In the embodiment shown, knowledge base system <b>102</b> illustratively supports a notebook system <b>116</b> that, itself, supports a plurality of notebooks <b>118</b>-<b>120</b>. Each notebook illustratively includes a hierarchical arrangement of content. In the embodiment shown in <figref idref="DRAWINGS">FIG. 1</figref>, notebook <b>118</b>, for instance, includes a plurality of sections <b>122</b> and <b>124</b>. Each section illustratively has a plurality of pages <b>126</b> and <b>128</b> and each of the pages illustratively includes one or more documents <b>130</b> and <b>132</b>. Also, by way of example, notebook <b>120</b> illustratively includes sections <b>134</b> and <b>136</b>, each of which includes one or more pages <b>138</b> and <b>140</b>, each page including one or more documents <b>142</b> and <b>144</b>. For the sake of the present discussion, as mentioned above, the term documents not only includes word processing document files, but also includes other collections of content. For instance, the term document includes video clips, audio clips, individual pages in the notebook, slideshow presentations, spreadsheets, drawings in a drawing program and other collections of content.
0017Knowledge base system <b>102</b> also illustratively includes a processor <b>146</b> which can be a computer processor with associated timing circuitry and memory (not shown). Processor <b>146</b> is operably coupled to, and activated by, other components in system <b>100</b> to facilitate their function. Knowledge base system <b>102</b> also illustratively includes a presence detector <b>148</b>, presence detector data store <b>150</b>, presence processing component <b>152</b>, security component <b>154</b> and user interface component <b>156</b>. Any or all of these components can be part of notebook system <b>110</b>, although they are shown separately.
0018The detailed operation of system <b>102</b> is described below. Briefly, however, the plurality of users <b>108</b>-<b>112</b> can access, through system <b>102</b>, one of notebooks <b>118</b> and <b>120</b>. Users <b>108</b>-<b>112</b> can illustratively collaborate on the notebook by editing pages or documents in the various notebooks in notebook system <b>116</b>. When a user (such as user <b>108</b>) accesses a notebook (such as notebook <b>118</b>) presence detector <b>148</b> illustratively detects, at some point, that the specific user <b>108</b> is at a specific location in notebook <b>118</b>, and logs that information in store <b>150</b>. Presence detector <b>148</b> illustratively detects the presence and location of all the various users <b>108</b>-<b>112</b> in all of the various notebooks <b>118</b>-<b>120</b> and logs corresponding user presence information in store <b>150</b>. Presence processor component <b>152</b> can then perform a wide variety of different operations using the user presence information stored in store <b>150</b>. In doing so, user interface component <b>156</b> generates user interfaces that can be used to display information to, and receive information from, users <b>108</b>-<b>112</b>.
0019By way of example only, assume that user <b>108</b> is accessing document <b>130</b> in notebook <b>118</b>, and presence detector <b>148</b> has detected that and stored that information in data store <b>150</b>. Next, assume that user <b>110</b> logs on to the system and accesses notebook system <b>116</b> as well. In that case, presence processing component <b>152</b> illustratively generates a user interface display using user interface component <b>156</b> that displays the identity and location of user <b>108</b> within notebook system <b>116</b>, to user <b>110</b>. For instance, the user interface display generated by component <b>156</b> may include an icon for each of notebooks <b>118</b>-<b>120</b> in system <b>116</b>. The display may also include a presence detection icon located near the icon for notebook <b>118</b>, indicating that another user is using notebook <b>118</b>. The presence detection icon may convey the identity of that particular user (the identity of user <b>108</b>) or it may simply indicate that a user has been detected at that location. Security component <b>154</b> can be used to determine whether the identity of a given user (or even that user's presence) will be detected or displayed. In addition, component <b>152</b> can generate a display using component <b>156</b> that shows user <b>108</b> that another user <b>110</b> has just accessed notebook system <b>116</b> as well. Of course, these are but two operations performed by system <b>102</b>, and others are described below.
0020<figref idref="DRAWINGS">FIG. 2</figref> is a flow diagram showing one illustrative embodiment of the operation of system <b>102</b> in detecting presence of a user <b>108</b>-<b>112</b> at a location in notebook system <b>116</b>. One of users <b>108</b>-<b>112</b> first uses knowledge base system <b>102</b> to create a notebook <b>118</b>-<b>120</b>. The user then arranges sections within that notebook and adds pages and documents to the notebook. This is indicated by block <b>200</b> in <figref idref="DRAWINGS">FIG. 2</figref>.
0021At some point, one of the user's (for example user <b>110</b>) accesses that notebook (for example notebook <b>118</b>) in system <b>116</b>. In doing so, user <b>110</b> illustratively provides logon or authentication information to system <b>102</b> in order to gain access to notebook <b>118</b>. Notebook system <b>116</b> then navigates the user <b>110</b> to a desired section and page, or to a document, within notebook <b>118</b>. At some point, presence detector <b>148</b> detects the presence of user <b>110</b> and the location of user <b>110</b>, within notebook <b>118</b>. Detecting the presence of a user in notebook <b>118</b> is indicated by block <b>202</b> in <figref idref="DRAWINGS">FIG. 2</figref>.
0022Presence detector <b>148</b> can operate in a wide variety of different ways. For instance, when user <b>110</b> accesses system <b>102</b>, presence detector <b>148</b> illustratively logs the identity of user <b>110</b> in data store <b>150</b>. Then, when the user opens notebook <b>118</b> and navigates to a section or page within notebook <b>118</b>, presence detector <b>148</b> can log the location, where user <b>110</b> has navigated to, in data store <b>150</b> as well. This is indicated by block <b>204</b> in <figref idref="DRAWINGS">FIG. 2</figref>.
0023However, presence detector <b>148</b> can operate in a different way as well. For instance, presence detector <b>148</b> may operate in a way in which the identity of user <b>110</b> and the user's location in notebook <b>118</b>, are not detected as a “user presence” until user <b>110</b> actually beings editing the documents <b>130</b>-<b>132</b> in notebook <b>118</b>. Then, once that happens, presence detector <b>148</b> logs the identity of user <b>110</b> and the particular location in notebook <b>118</b> where user <b>110</b> has begun editing, in data store <b>150</b>. This is indicated by block <b>206</b> in <figref idref="DRAWINGS">FIG. 2</figref>. Of course, presence detector <b>148</b> can use other user interactions to trigger presence detection as well and the two shown in <figref idref="DRAWINGS">FIG. 2</figref> are given for the sake of example only. Storing the identity of user <b>110</b> and the current location of user <b>110</b> within notebook <b>118</b> is indicated by block <b>208</b>.
0024In accordance with one embodiment, presence detector <b>148</b> continues to update the detected presence of users <b>108</b>-<b>112</b>, and their location, within notebook system <b>116</b>. Therefore, as the users log on to system <b>102</b> and access notebooks <b>118</b>-<b>120</b>, presence detector <b>148</b> detects the presence of those users and their location within system <b>116</b>, and stores it in data store <b>150</b>. Similarly, as users logoff or discontinue access of notebook system <b>116</b>, presence detector <b>148</b> updates the information to indicate that those users are no longer in notebook system <b>116</b>. Updating the presence detector as users access, change locations in, and discontinue access to, notebook system <b>116</b> is indicated by block <b>210</b> in <figref idref="DRAWINGS">FIG. 2</figref>.
0025Presence processing component <b>152</b> accesses the presence information in data store <b>150</b> and performs a wide variety of different types of processing based upon the detected presence within notebook system <b>116</b>.
0026In one embodiment, component <b>152</b> accesses data store <b>150</b> according to a set of heuristics. These can be set as desired. For instance, every time a given display opens, component <b>152</b> can access data store <b>150</b> for updated presence information. Alternatively, or in addition, the displays (like the numbers adjacent the icons) can be updated on a time basis, such as every ten minutes. They can also be updated based on other user-driven events such as the user navigating to another notebook. These are given by way of example only.
0027A number of different examples of the type of processing performed by presence processing component <b>152</b> are discussed below with respect to <figref idref="DRAWINGS">FIGS. 3-50</figref>. Performing presence information processing is indicated by block <b>212</b> in <figref idref="DRAWINGS">FIG. 2</figref>.
0028<figref idref="DRAWINGS">FIG. 3</figref> is a flow diagram illustrating one embodiment of the operation of system <b>102</b> in generating a user interface display for a user that initially logs on to, or accesses, notebook system <b>116</b>. <figref idref="DRAWINGS">FIG. 3A</figref> is one illustrative user interface display. <figref idref="DRAWINGS">FIGS. 1</figref>, <b>3</b> and <b>3</b>A will now be described in conjunction with one another.
0029In the embodiment shown in <figref idref="DRAWINGS">FIGS. 3 and 3A</figref>, a user (such as user <b>108</b>) logs onto system <b>102</b> and begins accessing notebook system <b>116</b>. This is indicated by block <b>214</b> in <figref idref="DRAWINGS">FIG. 3</figref>.
0030In one embodiment, even before user <b>108</b> selects one of notebooks <b>118</b>-<b>120</b> for accessing, presence processing component <b>152</b> generates a display using user interface display component <b>156</b> that displays a global map showing where various other users are currently detected within notebook system <b>116</b>. <figref idref="DRAWINGS">FIG. 3A</figref> shows one embodiment of a user interface display <b>216</b> that illustrates a global map. In the embodiment shown in <figref idref="DRAWINGS">FIG. 3A</figref>, user interface display <b>216</b> has a plurality of notebook tabs <b>218</b> displayed along a top portion of display <b>216</b>, and a plurality of section tabs <b>220</b> displayed along a right side of display <b>216</b>.
0031Tabs <b>218</b> illustratively include a tab corresponding to each of notebooks <b>118</b>-<b>120</b> in notebook system <b>116</b>. When the user selects one of tabs <b>218</b>, system <b>116</b> illustratively navigates the user to the notebook <b>118</b>-<b>120</b> corresponding to the selected tab. Similarly, tabs <b>220</b> correspond to the sections within a selected notebook corresponding to a selected tab <b>218</b>. By way of example, if the user <b>108</b> hovers the cursor over (or selects) one of tabs <b>218</b>, section tabs <b>220</b> are updated to show tabs, corresponding to sections, in the specific notebook corresponding to the tab <b>218</b> over which the user has hovered the cursor. For example, if the user hovers the cursor over specific tab <b>222</b>, and tab <b>222</b> corresponds to notebook <b>118</b> in system <b>116</b>, then section tabs <b>220</b> are updated to show tabs corresponding to the sections <b>122</b>-<b>124</b> in notebook <b>118</b>.
0032Presence processing component <b>152</b> also illustratively generates icons that show the location of other users within system <b>116</b>. This can be done in a variety of different ways. One exemplary way is to generate an icon next to a tab where a user is located. For instance, icon <b>224</b> shows that there are five people currently detected in notebook <b>118</b>. This is because icon <b>224</b> has the number 5 next to it and it is displayed in close proximity to tab <b>222</b>, which corresponds to notebook <b>118</b> in system <b>116</b>.
0033Assume that notebook tab <b>226</b> corresponds to notebook <b>120</b> in system <b>116</b>. In that case, display <b>216</b> shows that there are seven people detected within notebook <b>120</b>, because icon <b>228</b> is disclosed proximate tab <b>226</b> and has the number 7 displayed next to it.
0034As shown in <figref idref="DRAWINGS">FIG. 3A</figref>, the user has hovered over, or selected, notebook tab <b>222</b>, which corresponds to notebook <b>118</b> in system <b>116</b>. That being the case, section tabs <b>220</b> correspond to sections <b>122</b> and <b>124</b> in notebook <b>118</b>. Assume, for example, that tab <b>230</b> corresponds to section <b>122</b>, and tab <b>232</b> corresponds to section <b>124</b>. Display <b>216</b> shows not only that there are five people detected within notebook <b>118</b> (as shown by icon <b>224</b>) but it also shows that three of those people are detected in section <b>122</b> (because icon <b>234</b> is displayed proximate tab <b>230</b>) and that two of those people are detected in section <b>124</b> (because icon <b>236</b> is displayed proximate tab <b>232</b>).
0035It will of course be appreciated that the display <b>216</b> shown in <figref idref="DRAWINGS">FIG. 3A</figref> is illustrative only. Instead of having notebook tabs displayed horizontally and section tabs displayed vertically, the displays could be arranged in different ways. Similarly, instead of having notebook tabs and section tabs, it may be that the global map only has notebook tabs. Alternatively, the global map may have additional tabs, such as notebook tabs, section tabs, page tabs, and even document tabs. Instead of having only a single column of section tabs <b>220</b> corresponding to a selected notebook tab <b>218</b>, displays <b>216</b> may alternatively show all of the section, page and document tabs corresponding to each notebook tab <b>218</b>. Any combination of these displays can be used as well.
0036Generating a global type of display can be done in other ways as well. For instance, a chat list can be displayed that shows people in a notebook along with presence information (such as “online” or “offline”) and location information. Such a list may be always displayed and/or docketed at one side of the screen, by way of example.
0037In another embodiment, a textual list can be displayed. This may be desired on mobile devices with relatively small screens. Such a list can take a wide variety of forms. By way of example, the display can show a “People” tab. When the tab is actuated by the user, a list can be displayed that shows real-time presence information for a notebook, in list form. One example of such a list is as follows:
0000<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="63pt" align="left" /><colspec colname="1" colwidth="154pt" align="left" /><thead><row><entry /><entry namest="offset" nameend="1" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /><entry>Notebook 118</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="77pt" align="left" /><colspec colname="1" colwidth="140pt" align="left" /><tbody valign="top"><row><entry /><entry>Section 122</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="91pt" align="left" /><colspec colname="1" colwidth="126pt" align="left" /><tbody valign="top"><row><entry /><entry>Page 126</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="105pt" align="left" /><colspec colname="1" colwidth="112pt" align="left" /><tbody valign="top"><row><entry /><entry>*user 108*</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="77pt" align="left" /><colspec colname="1" colwidth="140pt" align="left" /><tbody valign="top"><row><entry /><entry>Section 134</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="91pt" align="left" /><colspec colname="1" colwidth="126pt" align="left" /><tbody valign="top"><row><entry /><entry>Page 128</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="105pt" align="left" /><colspec colname="1" colwidth="112pt" align="left" /><tbody valign="top"><row><entry /><entry>*user 110*</entry></row><row><entry /><entry namest="offset" nameend="1" align="center" rowsep="1" /></row></tbody></tgroup></table></tables><br /> In any case, generating the global map showing the detected presence in each notebook is indicated by block <b>238</b> in <figref idref="DRAWINGS">FIG. 3</figref>.
0038Another way of showing detected presence is to simply generate a display element (such as an icon), that indicates that a certain number of people are present somewhere in notebook system <b>116</b>. Then, if the user interacts with the icon, the location of those people is displayed. Other ways for showing detected presence are contemplated as well.
0039In addition, as described below, the user can illustratively interact with each of icons <b>224</b>, <b>228</b>, <b>234</b> and <b>236</b>. For instance, if the user hovers over one of the icons (or selects it or otherwise interacts with it) then presence processing component <b>152</b> illustratively displays the identity of the users represented by the icon. Similarly, presence processing component <b>152</b> can display a communications button that allows the user to initiate communication with one of the other users represented by the icon. Similarly, the icons <b>224</b>, <b>228</b>, <b>234</b> and <b>236</b> can be different icons, other than those depicted in <figref idref="DRAWINGS">FIG. 3A</figref>. They can also be disclosed along with other effects, such as a shimmering effect, pulsating effect, a fireworks effect, etc. Further, they can be actuable icons which, when actuated by the user, display information in more detail, or navigate the user to a location of the other users represented by the icon, for example.
0040<figref idref="DRAWINGS">FIGS. 4A and 4B</figref> (collectively referred to as <figref idref="DRAWINGS">FIG. 4</figref>) show one illustrative flow diagram of the operation of system <b>102</b> where the user has accessed a specific notebook <b>118</b>-<b>120</b> within system <b>116</b>. For instance, assume that user <b>108</b> has accessed system <b>116</b> and has been shown the global map illustrated in <figref idref="DRAWINGS">FIG. 3A</figref>. Assume also that user <b>108</b> has actuated a specific one of the notebook tabs <b>218</b> (such as tab <b>222</b>) and that system <b>116</b> has then navigated the user to the corresponding notebook (such as notebook <b>118</b>). <figref idref="DRAWINGS">FIG. 4</figref> shows some of the processing that can be performed by presence processing component <b>152</b> (in combination with the other components of system <b>102</b>) and <figref idref="DRAWINGS">FIGS. 5A-5O</figref> are illustrative user interface displays that can be generated by user interface component <b>156</b>, in performing this type of processing. <figref idref="DRAWINGS">FIGS. 1</figref>, <b>4</b> and <b>5</b>A-<b>5</b>O will now be described in conjunction with one another.
0041It can first be seen that user <b>108</b> has accessed notebook <b>118</b> within notebook system <b>116</b>, as described above. This is indicated by block <b>250</b> in <figref idref="DRAWINGS">FIG. 4</figref>. Presence detector <b>148</b> illustratively detects the presence of user <b>108</b> in notebook <b>118</b> and logs that information in data store <b>150</b>. Presence processing component <b>152</b> then uses user interface component <b>156</b> to notify the other users within notebook system <b>116</b> of the presence of user <b>108</b> in notebook <b>118</b>. Notifying the other users of the newly detected presence is indicated by block <b>252</b> in <figref idref="DRAWINGS">FIG. 4</figref>. This can be done in a number of different ways. For example, presence processing component <b>152</b> can generate a popup display for each of the other users indicating the identity and location of user <b>108</b> within notebook <b>118</b>. This is indicated by block <b>254</b> in <figref idref="DRAWINGS">FIG. 4</figref>. Alternatively, or in addition, another type of widget display can be generated to indicate the presence of a user within notebook <b>118</b>. This is indicated by block <b>256</b>.
0042It may also be that one of the other users already in system <b>116</b> may send a message to user <b>108</b> that is to be delivered when the user logs onto system <b>116</b> or accesses a notebook within system <b>116</b>. For instance, if user <b>110</b> wishes to collaborate with user <b>108</b> on a given section of notebook <b>118</b>, user <b>110</b> may generate a message to user <b>108</b> that is delivered when user <b>108</b> logs onto system <b>102</b> and accesses notebook system <b>116</b>. The message may be a text message, an email, a request for a conference call, etc. In any case, any messages intended for user <b>108</b> are then sent to user <b>108</b>. This is indicated by block <b>258</b> in <figref idref="DRAWINGS">FIG. 4</figref>.
0043<figref idref="DRAWINGS">FIG. 5A</figref> is one illustrative user interface display <b>260</b> that is generated by component <b>156</b> and corresponds to a selected notebook. Display <b>260</b> shows a plurality of notebook displays <b>261</b> displayed vertically along the left side of display <b>260</b>. By selecting different tabs <b>261</b>, the user <b>108</b> can navigate among notebooks <b>118</b>-<b>120</b> in notebook system <b>116</b>. Assume that user <b>108</b> has navigated to notebook <b>118</b>, and notebook <b>118</b> corresponds to a “People Presence” notebook. In that case, component <b>152</b> controls component <b>156</b> to generate a user interface display representative of notebook <b>118</b>. In the embodiment shown in <figref idref="DRAWINGS">FIG. 5A</figref>, the display <b>260</b> has a plurality of section tabs and section group tabs <b>262</b> displayed horizontally across the top of display <b>260</b> and a plurality of page tabs <b>264</b> displayed vertically along the right side of display <b>260</b>. Also, in display <b>5</b>A, user <b>108</b> has selected the “Spec Discussion” tab <b>266</b> so that the body <b>268</b> of display <b>260</b> shows a selected page for that section. The tab for the selected page is shown in white at <b>270</b> in the page tabs <b>264</b>.
0044In one embodiment, the user can navigate between the various sections by simply clicking on or otherwise actuating the various section tabs <b>262</b>. The user can navigate among different pages or documents within a selected section by clicking on or otherwise actuating a given page tab (or document tab within a page tab—these can also be referred to as subpage tabs) on the list of page tabs <b>264</b>.
0045As discussed above, each of the individual pages <b>126</b>-<b>128</b> in a notebook <b>118</b> can, itself, be a document. Alternatively, each page can have multiple documents embedded thereon or one document embedded within another document, on a page. In the embodiment shown in <figref idref="DRAWINGS">FIG. 5A</figref>, the content section <b>268</b> of the displayed page includes a spreadsheet <b>272</b> which comprises a document on the selected page <b>270</b>. Once the user has navigated to a specific notebook <b>118</b>, and the notebook display has been generated as shown in <figref idref="DRAWINGS">FIG. 5A</figref>, presence processing component <b>152</b> illustratively accesses data in store <b>150</b> and generates a presence display for user <b>108</b>, indicative of the presence of current users within notebook <b>118</b>. This is indicated by block <b>280</b> in <figref idref="DRAWINGS">FIG. 4</figref>. This can be done in a wide variety of different ways.
0046<figref idref="DRAWINGS">FIG. 5B</figref> shows one embodiment of a user interface display <b>282</b> that can be generated to show detected presence within document <b>118</b>. User interface display <b>282</b> is similar to user interface display <b>260</b> and similar items are similarly numbered. However, interface display <b>282</b> also includes a presence detection icon <b>284</b> which is arranged proximate page tab <b>270</b>, and has the number 4 displayed next to it. This indicates that four people are currently on the page represented by page tab <b>270</b>.
0047Presence indicator <b>284</b> is illustratively an actuable icon and can be displayed in a variety of different ways. For instance, it can be blinking, glowing, intermittently displayed, etc. Alternatively, it can be displayed only when a user hovers over page tab <b>270</b>, or otherwise. In addition, display <b>282</b> may be provided with a presence indicator button which, when clicked by the user, displays presence indicator icon <b>284</b>. In any case, presence indicator <b>284</b> is displayed showing the number of people and indicating (by its location relative to page <b>270</b>) the number of people that are at a current location within notebook <b>218</b>. Displaying the icons <b>284</b> proximate the location (e.g., proximate page tab <b>270</b>) corresponding to the other user's location in notebook <b>118</b> or even within a document is indicated by block <b>290</b> in <figref idref="DRAWINGS">FIG. 4</figref>.
0048In another embodiment, the location of presence indicator <b>284</b> on display <b>282</b> is not related to the location of other people in notebook <b>118</b>. Instead, the particular manner of display gives a general indication of the location of those users. For instance, the number 4 on display <b>284</b> is shown in parentheses. In one embodiment, this indicates that the users corresponding to that display icon <b>284</b> are in the same location as the current user. If the number is not displayed in parentheses, this may indicate that the other users are located elsewhere in notebook <b>118</b>. In any case, display <b>284</b> indicates the presence of other users within notebook <b>118</b>. Displaying icon <b>284</b>, along with the number of people detected in the notebook <b>118</b>, is indicated by block <b>286</b> in <figref idref="DRAWINGS">FIG. 4</figref>. Distinguishing between whether those people are located, at the same location (e.g., within the same document) as user <b>108</b> and those in other locations in notebook <b>118</b> is indicated by block <b>288</b>.
0049In another embodiment, display <b>284</b> can be generated to indicate a user's location even within a document. By way of example, if a page corresponding to one of the page tabs <b>264</b> has a lengthy document in it, then display <b>284</b> may be displayed in such a way that it shows the individual user's location within that document. Similarly, if a video clip is embedded on a page, display <b>284</b> can show not only that a given user is viewing the video clip, but where in the video clip the user is currently. For instance, display <b>284</b> may include a textual portion such as “John Doe is currently viewing this video clip at 27:14:00.” This is also indicated by block <b>290</b> in <figref idref="DRAWINGS">FIG. 4</figref>.
0050Once the display <b>284</b> is generated, showing the presence of other users in a notebook, user <b>108</b> can interact with elements on the user interface display <b>282</b> and presence processing component <b>152</b> performs various operations based upon those user interactions. For instance, the user can interact with the presence display <b>284</b> in different ways to receive different information. By way of example, the user can hover over display <b>284</b>, or the user can actuate display <b>284</b> by clicking on it. Receiving the user interaction with the presence display is indicated by block <b>292</b> in <figref idref="DRAWINGS">FIG. 4</figref>. Hovering is represented by block <b>294</b> and actuating or clicking the display <b>284</b> is represented by block <b>296</b> in <figref idref="DRAWINGS">FIG. 4</figref>. Other interactions are contemplated as well.
0051<figref idref="DRAWINGS">FIG. 5C</figref> shows another interface display <b>300</b>. User interface display <b>300</b> is similar to user interface display <b>282</b> shown in <figref idref="DRAWINGS">FIG. 5B</figref>, and similar items are similarly numbered. However, user interface display <b>300</b> shows that user <b>108</b> has hovered the cursor over, or selected, presence display <b>284</b>. In the embodiment shown in <figref idref="DRAWINGS">FIG. 5C</figref>, presence processing component <b>152</b> then generates, through user interface component <b>156</b>, a pop-up display <b>302</b> that displays the identity of the four users represented by display element or display <b>284</b> (which is indicated generally along the left side of pop-up display <b>302</b>) and the location within notebook <b>118</b>, of each of those users (which is indicated generally along the right side of pop-up display <b>302</b>). It will again be noted that pop-up display <b>302</b> is illustrative only. The identity of the other users in notebook <b>118</b> can be displayed in other ways, and their location can be displayed in other ways as well. In addition, other items can be displayed, fewer items, or a combination of different items can be displayed in display <b>302</b>. Generating the identity and location display <b>302</b> and displaying the identity of other people who are present and their locations is indicated by block <b>304</b> in <figref idref="DRAWINGS">FIG. 4</figref>. Once display <b>302</b> is generated, user <b>108</b> can interact with it in various ways, and this will be described below.
0052<figref idref="DRAWINGS">FIG. 5D</figref> shows yet another user interface display <b>306</b> that can be generated by presence processing component <b>152</b> and user interface component <b>156</b>. User interface display <b>306</b> is similar to user interface display <b>302</b>, and similar items are similarly numbered. However, it can be seen that the number adjacent presence display element <b>284</b> is in parentheses. In one embodiment, the parentheses can be used to convey certain information. In the embodiment shown in <figref idref="DRAWINGS">FIG. 5D</figref>, the number 4 in parentheses adjacent element <b>284</b> indicates that the four other users present in notebook <b>118</b> are in the same location as user <b>108</b>, who is viewing display <b>306</b>. That is, the other four users are also in notebook <b>118</b>, are also in the “Spec Discussion” section and are also viewing the “People Presence” page indicated by page tab <b>270</b>. When the user hovers over, or selects, display <b>284</b>, popup display <b>302</b> will indicate this. <figref idref="DRAWINGS">FIG. 5E</figref> shows user interface display <b>308</b>, which is similar to user interface display <b>300</b> shown in <figref idref="DRAWINGS">FIG. 5C</figref>, except that it can now be seen that pop-up display <b>302</b> shows that the location of all four users is the same as the location of the present user <b>108</b>. That is, all four users are in the same section (the “Spec Discussion” section) and they are all in the same document on the “People Presence” page.
0053<figref idref="DRAWINGS">FIG. 5F</figref> shows that another user interface display that can be generated by presence processing component <b>152</b> and displayed by user interface component <b>156</b>. Display <b>310</b> is similar to display <b>306</b> shown in <figref idref="DRAWINGS">FIG. 5D</figref>, and similar items are similarly numbered. However, display <b>310</b> shows that presence display element <b>284</b> now has two numbers next to it. The first (number 16) is not in parentheses and the second (number 4) is in parentheses.
0054In one embodiment, this indicates that there are 16 people present in notebook <b>118</b> (which is the same notebook that user <b>108</b> is in) but they are at different locations in notebook <b>118</b> than is user <b>108</b>. The number 4 in parentheses indicates that there are four users in notebook <b>118</b>, and they are at the same location as the user <b>108</b>.
0055Also, it will be appreciated that this information can be conveyed in different ways. For instance, a presence display element <b>284</b> can be displayed adjacent notebook tabs <b>261</b> to indicate how many people are in each of the notebooks in system <b>116</b>. Similarly, different display indicator elements <b>284</b> can be displayed adjacent section tabs <b>262</b> to indicate how many people are in each section of the notebook <b>118</b>. A presence display element <b>284</b> can also be displayed adjacent the various page tabs <b>264</b> to indicate the number of different users that are at different page locations within notebook <b>118</b>. Also, where there are a plurality of different documents on a given page or embedded within a given page, a presence indicator element <b>284</b> can be displayed adjacent tabs corresponding to those different documents to indicate where different users are located even within a document. This can be done in other ways as well.
0056<figref idref="DRAWINGS">FIG. 5G</figref> shows another user interface display <b>319</b>, which is similar to user interface display <b>308</b> shown in <figref idref="DRAWINGS">FIG. 5E</figref>, and similar items are similarly numbered. However, pop-up display <b>302</b> now shows four users in the same location as the present user <b>108</b> within notebook <b>118</b>, and that there are additional users in different locations within notebook <b>118</b>. The identity of the users is again displayed on the left hand side of display <b>302</b> and their location within notebook <b>118</b> is shown on the right hand side. In the embodiment shown in <figref idref="DRAWINGS">FIG. 5G</figref>, those in the same location as the present user <b>108</b> are displayed first in the list on display <b>102</b>, and those in other locations are displayed later in the list. This could of course be done in other ways. For instance, the other users might be simply displayed in alphabetical order, regardless of location, or they can be displayed in order based on the time they began accessing notebook <b>118</b>, or they can be displayed based on the frequency of edits they have made within notebook <b>118</b> (that is, heavy contributors to notebook <b>118</b> can be displayed higher up in the list), or otherwise.
0057Once the appropriate identity and location display <b>302</b> has been generated for the user <b>108</b>, the user can interact with that display in various different ways, and presence processing component <b>152</b> can react in different ways, based on the user interaction. The user interaction with the identity and location display is indicated by block <b>320</b> in <figref idref="DRAWINGS">FIG. 4</figref>. The further processing based on the user interaction is indicated by block <b>322</b>. A number of those different interactions will now be described.
0058<figref idref="DRAWINGS">FIG. 5H</figref> shows another user interface display <b>324</b> that indicates one possible user interaction. Display <b>324</b> is similar to display <b>319</b>, except that it shows that the user has now moved the cursor to the upper right location in pop-up display <b>302</b>. <figref idref="DRAWINGS">FIG. 5I</figref> shows that, in display <b>324</b>, the user has scrolled down to the location that is fifth on the location list. Thus, it can be seen that the lists in pop-up display <b>302</b> are illustratively scrollable lists which contain actuable links. When the user has scrolled to the position shown in <figref idref="DRAWINGS">FIG. 5I</figref>, the user can actuate the link that is currently highlighted by tapping on it, clicking it, double clicking it, or pressing enter for that link. This causes system <b>116</b> to navigate the current user <b>108</b> to the highlighted location. Thus, this allows user <b>108</b> to jump to the location of another user, and this is indicated by block <b>326</b> in <figref idref="DRAWINGS">FIG. 4</figref>.
0059<b>5</b>J shows user interface display <b>328</b>, which indicates that the user has now been navigated to the location represented by the actuated link in <figref idref="DRAWINGS">FIG. 5I</figref>. It will also be noted that the highlighted page tab is now tab <b>330</b> which corresponds to the tab currently being viewed by user <b>108</b>. It can also be seen that presence display element <b>284</b> has been updated to show that there is only one other person at the current location of user <b>108</b>. This is indicated by the numeral 1 being displayed in parentheses next to indicator <b>284</b>. Indicator <b>284</b> also shows that there are 19 other users within notebook <b>118</b>, but they are at different locations from the current user <b>108</b>.
0060In another embodiment, the user can interact with the display to cause presence processing component <b>152</b> to display more detailed information about one or more of the other users in the system. <figref idref="DRAWINGS">FIG. 5K</figref> shows a user interface display <b>331</b>, which is similar to user interface display <b>324</b>, except that it shows that the user has moved the cursor over the first person's identity displayed on the left side of display <b>302</b> and has actuated the actuable link associated with that person.
0061In response, presence processing component <b>152</b> illustratively retrieves detailed identity information corresponding to that person from either data store <b>150</b> or from another data store. For instance, if network <b>104</b> is connected to a social media site, presence processing component <b>152</b> can retrieve information from that website or from any other source as well.
0062<figref idref="DRAWINGS">FIG. 5L</figref> shows another user interface display <b>332</b> which is generated by presence processing component <b>152</b> and user interface component <b>156</b> to display a business card display <b>334</b>. Display <b>334</b> shows more detailed information about the person corresponding to the link actuated in <figref idref="DRAWINGS">FIG. 5K</figref>.
0063In another embodiment, the display <b>302</b> in <figref idref="DRAWINGS">FIG. 5I</figref> can operate using different user interactions as well. For instance, popup display <b>302</b> in <figref idref="DRAWINGS">FIG. 5I</figref> can display a single scrollable list where each line in the list shows the identity of a person and the person's location as one display element. When the user scrolls to a given line in the list, the given line can be highlighted. Then, the user can take different actions to accomplish different things. For example, if the user touches one key (such as the “Enter” key), the display changes to show more detailed information about the person in the highlighted line. When the user touches another key (such as the space bar) the user is navigated to the location in the highlighted line. Other ways of interacting can be used as well.
0064It will also be noted, in one embodiment, display <b>334</b> includes various other input mechanisms <b>336</b> that allow the user to perform other actions. For instance, they may allow the user <b>336</b> to communicate directly with the person for which the information is displayed through various communication mechanisms, and using communication component <b>114</b>, and these are indicated by way of example only. Displaying the business card information (or more detailed information about a given user) is indicated by block <b>340</b> in <figref idref="DRAWINGS">FIG. 4</figref>.
0065In another embodiment, user <b>108</b> can interact with pop-up display <b>302</b> to directly initiate communication with another user in the list shown in pop-up display <figref idref="DRAWINGS">FIG. 302</figref>. <figref idref="DRAWINGS">FIG. 5M</figref> shows another user interface display <b>342</b> generated by processing component <b>152</b> and user interface component <b>156</b>. <figref idref="DRAWINGS">FIG. 5M</figref> shows that pop-up display <b>302</b> illustratively includes a communication button <b>344</b>. <figref idref="DRAWINGS">FIG. 5M</figref> also shows that user <b>108</b> has moved the cursor over button <b>344</b> to initiate communication with one or more of the users shown in display <b>302</b>. The user actuates button <b>304</b>, and processing component <b>152</b> illustratively generates another display using user interface component <b>156</b> to allow user <b>108</b> to initiate communications with one or more other users, using communication component <b>114</b>. In one embodiment, in response to a user actuating button <b>344</b>, processing component <b>152</b> generates a display using user interface component <b>156</b>, offering user <b>108</b> a variety of different options for initiating communication. For instance, the display can display buttons to initiate instant messaging communication, communication by electronic mail (email), communications for initiating a video conference, a teleconference, a network-organized meeting, or other way of communicating. When the user selects that form of communication, presence processing component <b>152</b> illustratively accesses the appropriate communication component <b>114</b> for generating that communication. Initiating communication is indicated by block <b>346</b> in <figref idref="DRAWINGS">FIG. 4</figref>, and various exemplary forms of communication that can be initiated are indicated by blocks <b>348</b>, <b>350</b> and <b>352</b>. Of course, those shown are exemplary only.
0066<figref idref="DRAWINGS">FIG. 5N</figref> shows one illustrative user interface display <b>354</b> that can be generated to offer user <b>108</b> a specific form of communication. When the user actuates button <b>344</b>, presence processing component <b>152</b> can generate another pop-up button, using user interface component <b>156</b>, allowing the user to initiate instant messaging communication. This button is indicated at <b>356</b> in <figref idref="DRAWINGS">FIG. 5N</figref>. If the user actuates button <b>356</b>, the user may then be asked to select the various users from list <b>344</b>, that the user wishes to communicate with. When that is finished, component <b>152</b> generates a display of an instant messaging screen that allows the user to engage in instant messaging with the other selected users.
0067<figref idref="DRAWINGS">FIG. 5O</figref> shows yet another user interface display <b>358</b> that can be generated to initiate communication, once the user has actuated button <b>344</b>. In the embodiment shown in <figref idref="DRAWINGS">FIG. 5O</figref>, component <b>152</b> generates a display with two additional, predefined options indicated by selectable interface elements <b>360</b> and <b>362</b>. The option represented by element <b>360</b> allows a user to send an instant message to all other users that are currently at a given page location within notebook <b>118</b>. The option represented by element <b>362</b> allows the user <b>108</b> to send a message or initiate communication with all other users in a given notebook <b>118</b>-<b>120</b>, regardless of their location within that notebook. In response to the specific options shown in <figref idref="DRAWINGS">FIG. 5O</figref>, processing component <b>152</b> opens up an instant messaging chat session for all of the users corresponding to the selected option.
0068It should be noted that, while a number of different actions have been described and illustrated for presence processing component <b>152</b>, a wide variety of others can be performed as well. For instance, in response to a user selection of an appropriate input mechanism, presence processing component <b>152</b> can generate a user interface display using user interface component <b>156</b>, that allows a user to send an invitation to a group of users, for a collaboration meeting. That is, the display can provide a text box that allows a user to generate an invitation describing a meeting or a collaboration session on a given page, or within a given document on a given page, in a specific notebook, at a specific time. The display also allows the user to select recipients of the invitation, so the invitation can be sent to a group of recipients, at the same time. In response to the user inputting the necessary information, component <b>152</b> illustratively invokes communication component <b>114</b> to send the invitation by an appropriate communication mechanism. Sending such a group invitation is indicated by block <b>360</b> in <figref idref="DRAWINGS">FIG. 4</figref>.
0069In addition, presence processing component <b>152</b> can generate a user interface display using user interface component <b>156</b> that allows a user to query the location of a specific user. For example, the user interface display can include a user input mechanism which allows the user to input a textual query such as “where is John Doe?” or “what is John Doe's current location?” In that embodiment, presence processing component <b>152</b> accesses data store <b>150</b> to identify the present location of “John Doe” in notebook system <b>116</b>, and provides that information to the user <b>108</b>. Alternatively, of course, presence processing component <b>152</b> can automatically navigate the given user <b>108</b> to the location of “John Doe” in response to the query. The presence processing component <b>152</b> can also provide a navigable link to the user so that, when the user actuates that link, the user is automatically navigated to the current location of “John Doe”, and a variety of other mechanisms can be used as well. Querying for a location of another user is indicated by block <b>362</b> in <figref idref="DRAWINGS">FIG. 4</figref>. It will be appreciated that other steps can be taken by presence processing component <b>152</b>, and those described above are exemplary only.
0070Further, while the above discussion has proceeded with respect to detecting and displaying people presence in real-time, it can also be used to display history or breadcrumb information. For instance, store <b>150</b> can maintain a history or record of where people have been detected in notebooks <b>118</b>, <b>120</b>. This information can also include time stamp information that shows when people were located at the recorded locations. This can be beneficial to help determine when certain edits were made in a given notebook, for instance. A user can illustratively access the historical or breadcrumb information by selecting a “History” tab to see the history for the entire system, an entire notebook or a portion thereof. The information can also illustratively be queried by a user, or certain displays can automatically be generated when a user enters a notebook. For example, a recent history display can show everyone who has recently accessed a notebook, along with the locations accessed and the time and date the access was made. Other displays can be used as well.
0071In another embodiment, users can opt out of having their presence detected. They can do this on a system wide level or on a more granular level (such as on a notebook level) or they can do this for certain users or user groups (so those users or groups will not see their presence). In one embodiment, the user can make such a setting temporary or permanent.
0072In yet another embodiment, a display can be generated that shows people that have access to a notebook, regardless of whether they are present. The user's current presence or absence can be indicated for each user as well, along with historical or breadcrumb information for each user.
0073It will be appreciated that the components of collaboration system <b>100</b> shown in <figref idref="DRAWINGS">FIG. 1</figref> are exemplary only. The functions of those components can be combined into fewer components or divided among more components or combined in other ways. Also, collaboration system <b>100</b> can be deployed in a variety of different architectures and components of system <b>100</b> can be distributed among various client devices, servers, or located in a cloud computing architecture.
0074Cloud computing provides computation, software, data access, and storage services that do not require end-user knowledge of the physical location or configuration of the system that delivers the services. In various embodiments, cloud computing delivers the services over a wide area network, such as the internet, using appropriate protocols. For instance, cloud computing providers deliver applications over a wide area network and they can be accessed through a web browser or any other computing component. Software or components of system <b>100</b> as well as the corresponding data, can be stored on servers at a remote location. The computing resources in a cloud computing environment can be consolidated at a remote data center location or they can be dispersed. Cloud computing infrastructures can deliver services through shared data centers, even though they appear as a single point of access for the user. Thus, the components and functions described herein can be provided from a service provider at a remote location using a cloud computing architecture. Alternatively, they can be provided from a conventional server, or they can be installed on a client device directly, or in other ways.
0075In any case, <figref idref="DRAWINGS">FIG. 6</figref> is a simplified block diagram of one illustrative embodiment of a handheld or mobile computing device that can be used as a client device <b>16</b>, in which the present system (or portions of the present system) can be deployed. <figref idref="DRAWINGS">FIGS. 7 and 8</figref> are examples of handheld or mobile devices.
0076<figref idref="DRAWINGS">FIG. 6</figref> provides a general block diagram of the components of a client device <b>16</b> that can run components of system <b>100</b> or <b>102</b> or that interacts with system <b>100</b> or <b>102</b>, or both. In the device <b>16</b>, a communications link <b>13</b> is provided that allows the handheld device to communicate with other computing devices and under some embodiments provides a channel for receiving information automatically, such as by scanning Examples of communications link <b>13</b> include an infrared port, a serial/USB port, a cable network port such as an Ethernet port, and a wireless network port allowing communication though one or more communication protocols including General Packet Radio Service (GPRS), 1Xrtt, and Short Message Service, which are wireless services used to provide cellular access to a network, as well as 802.11 and 802.11b (Wi-Fi) protocols, and Bluetooth protocol, which provide local wireless connections to networks.
0077Under other embodiments, applications or systems (like system <b>100</b> or portions thereof) are received on a removable Secure Digital (SD) card that is connected to a SD card interface <b>15</b>. SD card interface <b>15</b> and communication links <b>13</b> communicate with a processor <b>17</b> (which can also embody processor <b>146</b> from <figref idref="DRAWINGS">FIG. 1</figref>) along a bus <b>19</b> that is also connected to memory <b>21</b> and input/output (I/O) components <b>23</b>, as well as clock <b>25</b> and location system <b>27</b>.
0078I/O components <b>23</b>, in one embodiment, are provided to facilitate input and output operations. I/O components <b>23</b> for various embodiments of the device <b>16</b> can include input components such as buttons, touch sensors, touch screens, proximity sensors, microphones, tilt sensors, and gravity switches and output components such as a display device, a speaker, and or a printer port. Other I/O components <b>23</b> can be used as well.
0079Clock <b>25</b> illustratively comprises a real time clock component that outputs a time and date. It can also, illustratively, provide timing functions for processor <b>17</b>.
0080Location system <b>27</b> illustratively includes a component that outputs a current geographical location of device <b>16</b>. This can include, for instance, a global positioning system (GPS) receiver, a LORAN system, a dead reckoning system, a cellular triangulation system, or other positioning system. It can also include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.
0081Memory <b>21</b> stores operating system <b>29</b>, network settings <b>31</b>, applications <b>33</b>, application configuration settings <b>35</b>, data store <b>37</b>, communication drivers <b>39</b>, and communication configuration settings <b>41</b>. Memory <b>21</b> can include all types of tangible volatile and non-volatile computer-readable memory devices. It can also include computer storage media (described below). Memory <b>21</b> stores computer readable instructions that, when executed by processor <b>17</b>, cause the processor to perform computer-implemented steps or functions according to the instructions. System <b>100</b> or the items in data store <b>150</b>, for example, can reside in memory <b>21</b>. Processor <b>17</b> can be activated by other components to facilitate their functionality as well.
0082Examples of the network settings <b>31</b> include things such as proxy information, Internet connection information, and mappings. Application configuration settings <b>35</b> include settings that tailor the application for a specific enterprise or user. Communication configuration settings <b>41</b> provide parameters for communicating with other computers and include items such as GPRS parameters, SMS parameters, connection user names and passwords.
0083Applications <b>33</b> can be applications that have previously been stored on the device <b>16</b> or applications that are installed during use, although these can be part of operating system <b>29</b>, or hosted external to device <b>16</b>, as well.
0084<figref idref="DRAWINGS">FIGS. 7 and 8</figref> provide examples of devices <b>16</b> that can be used, although others can be used as well. In <figref idref="DRAWINGS">FIG. 7</figref>, a smart phone or mobile phone <b>45</b> is provided as the device <b>16</b>. Phone <b>45</b> includes a set of keypads <b>47</b> for dialing phone numbers, a display <b>49</b> capable of displaying images including application images, icons, web pages, photographs, and video, and control buttons <b>51</b> for selecting items shown on the display. The phone includes an antenna <b>53</b> for receiving cellular phone signals such as General Packet Radio Service (GPRS) and 1Xrtt, and Short Message Service (SMS) signals. In some embodiments, phone <b>45</b> also includes a Secure Digital (SD) card slot <b>55</b> that accepts a SD card <b>57</b>.
0085The mobile device of <figref idref="DRAWINGS">FIG. 8</figref> is a personal digital assistant (PDA) <b>59</b> or a multimedia player or a tablet computing device, etc. (hereinafter referred to as PDA <b>59</b>). PDA <b>59</b> includes an inductive screen <b>61</b> that senses the position of a stylus <b>63</b> (or other pointers, such as a user's finger) when the stylus is positioned over the screen. This allows the user to select, highlight, and move items on the screen as well as draw and write. PDA <b>59</b> also includes a number of user input keys or buttons (such as button <b>65</b>) which allow the user to scroll through menu options or other display options which are displayed on display <b>61</b>, and allow the user to change applications or select user input functions, without contacting display <b>61</b>. Although not shown, PDA <b>59</b> can include an internal antenna and an infrared transmitter/receiver that allow for wireless communication with other computers as well as connection ports that allow for hardware connections to other computing devices. Such hardware connections are typically made through a cradle that connects to the other computer through a serial or USB port. As such, these connections are non-network connections. In one embodiment, mobile device <b>59</b> also includes a SD card slot <b>67</b> that accepts a SD card <b>69</b>.
0086Note that other forms of the devices <b>16</b> are possible. Examples include tablet computing devices, music or video players, and other handheld or mobile computing devices.
0087<figref idref="DRAWINGS">FIG. 9</figref> is one embodiment of a computing environment in which system <b>100</b> (or portions of system <b>100</b>, for example) can be deployed. With reference to <figref idref="DRAWINGS">FIG. 9</figref>, an exemplary system for implementing some embodiments includes a general-purpose computing device in the form of a computer <b>810</b>. Components of computer <b>810</b> may include, but are not limited to, a processing unit <b>820</b> (which can comprise processor <b>146</b> in <figref idref="DRAWINGS">FIG. 1</figref>), a system memory <b>830</b>, and a system bus <b>821</b> that couples various system components including the system memory to the processing unit <b>820</b>. The system bus <b>821</b> may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus. Memory and programs described with respect to <figref idref="DRAWINGS">FIG. 1</figref> can be deployed in corresponding portions of <figref idref="DRAWINGS">FIG. 9</figref>.
0088Computer <b>810</b> typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer <b>810</b> and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media is different from, and does not include, a modulated data signal or carrier wave. It includes hardware storage media including both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer <b>810</b>. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
0089The system memory <b>830</b> includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) <b>831</b> and random access memory (RAM) <b>832</b>. A basic input/output system <b>833</b> (BIOS), containing the basic routines that help to transfer information between elements within computer <b>810</b>, such as during start-up, is typically stored in ROM <b>831</b>. RAM <b>832</b> typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit <b>820</b>. By way of example, and not limitation, <figref idref="DRAWINGS">FIG. 9</figref> illustrates operating system <b>834</b>, application programs <b>835</b>, other program modules <b>836</b>, and program data <b>837</b>.
0090The computer <b>810</b> may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only, <figref idref="DRAWINGS">FIG. 9</figref> illustrates a hard disk drive <b>841</b> that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive <b>851</b> that reads from or writes to a removable, nonvolatile magnetic disk <b>852</b>, and an optical disk drive <b>855</b> that reads from or writes to a removable, nonvolatile optical disk <b>856</b> such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive <b>841</b> is typically connected to the system bus <b>821</b> through a non-removable memory interface such as interface <b>840</b>, and magnetic disk drive <b>851</b> and optical disk drive <b>855</b> are typically connected to the system bus <b>821</b> by a removable memory interface, such as interface <b>850</b>.
0091The drives and their associated computer storage media discussed above and illustrated in <figref idref="DRAWINGS">FIG. 9</figref>, provide storage of computer readable instructions, data structures, program modules and other data for the computer <b>810</b>. In <figref idref="DRAWINGS">FIG. 9</figref>, for example, hard disk drive <b>841</b> is illustrated as storing operating system <b>844</b>, application programs <b>845</b>, other program modules <b>846</b>, and program data <b>847</b>. Note that these components can either be the same as or different from operating system <b>834</b>, application programs <b>835</b>, other program modules <b>836</b>, and program data <b>837</b>. Operating system <b>844</b>, application programs <b>845</b>, other program modules <b>846</b>, and program data <b>847</b> are given different numbers here to illustrate that, at a minimum, they are different copies.
0092A user may enter commands and information into the computer <b>810</b> through input devices such as a keyboard <b>862</b>, a microphone <b>863</b>, and a pointing device <b>861</b>, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit <b>820</b> through a user input interface <b>860</b> that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor <b>891</b> or other type of display device is also connected to the system bus <b>821</b> via an interface, such as a video interface <b>890</b>. In addition to the monitor, computers may also include other peripheral output devices such as speakers <b>897</b> and printer <b>896</b>, which may be connected through an output peripheral interface <b>895</b>.
0093The computer <b>810</b> is operated in a networked environment using logical connections to one or more remote computers, such as a remote computer <b>880</b>. The remote computer <b>880</b> may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer <b>810</b>. The logical connections depicted in <figref idref="DRAWINGS">FIG. 9</figref> include a local area network (LAN) <b>871</b> and a wide area network (WAN) <b>873</b>, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
0094When used in a LAN networking environment, the computer <b>810</b> is connected to the LAN <b>871</b> through a network interface or adapter <b>870</b>. When used in a WAN networking environment, the computer <b>810</b> typically includes a modem <b>872</b> or other means for establishing communications over the WAN <b>873</b>, such as the Internet. The modem <b>872</b>, which may be internal or external, may be connected to the system bus <b>821</b> via the user input interface <b>860</b>, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer <b>810</b>, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, <figref idref="DRAWINGS">FIG. 9</figref> illustrates remote application programs <b>885</b> as residing on remote computer <b>880</b>. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
0095Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Contents4
26 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| AU2019257465B2 | Cited by | Australia | Search report |
| US2015172403A1 | Cited by | United States of America | Pre-grant |
| US10440110B2 | Cited by | United States of America | Applicant |
| US9336209B1 | Cited by | United States of America | Search report |
| US10965746B2 | Cited by | United States of America | Applicant |
| WO2019226408A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US11627001B2 | Cited by | United States of America | Applicant |
| US2024329912A1 | Cited by | United States of America | Search report |
| WO2015094867A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9438687B2 | Cited by | United States of America | Search report |
| US10171579B2 | Cited by | United States of America | Applicant |
| EP3129881A1 | Cited by | European Patent Office (EPO) | Examiner |
| US10091287B2 | Cited by | United States of America | Search report |
| US11683389B2 | Cited by | United States of America | Applicant |
| EP3129882A1 | Cited by | European Patent Office (EPO) | Examiner |
| US11172038B2 | Cited by | United States of America | Applicant |
| US10594788B2 | Cited by | United States of America | Applicant |
| US10887388B2 | Cited by | United States of America | Applicant |
| US11170345B2 | Cited by | United States of America | Applicant |
| US11943264B2 | Cited by | United States of America | Applicant |
| US11132107B2 | Cited by | United States of America | Search report |
| US10620811B2 | Cited by | United States of America | Applicant |
| US11875028B2 | Cited by | United States of America | Applicant |
| US11102113B2 | Cited by | United States of America | Search report |
| US9397993B1 | Cited by | United States of America | Applicant |
| US10880098B2 | Cited by | United States of America | Applicant |
| US2020153736A1 | Cited by | United States of America | Search report |
| WO2019226401A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO2015094868A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9571595B2 | Cited by | United States of America | Applicant |
| US10791186B2 | Cited by | United States of America | Applicant |
| US10270871B2 | Cited by | United States of America | Applicant |
| US10733169B2 | Cited by | United States of America | Applicant |
| US11526260B2 | Cited by | United States of America | Applicant |
| US11425175B2 | Cited by | United States of America | Applicant |
| CN105830103A | Cited by | China | Search report |
| US2006053380A1 | Cites | United States of America | Pre-grant |
| US2010281007A1 | Cites | United States of America | Pre-grant |
| US2011004819A1 | Cites | United States of America | Pre-grant |
| US2011252312A1 | Cites | United States of America | Pre-grant |
| US2012151312A1 | Cites | United States of America | Pre-grant |
| US2013151940A1 | Cites | United States of America | Pre-grant |
| US2013155071A1 | Cites | United States of America | Pre-grant |
| US2013159849A1 | Cites | United States of America | Pre-grant |
| US6507845B1 | Cites | United States of America | Pre-grant |
| US7856473B2 | Cites | United States of America | Pre-grant |
13 members in 11 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 201213352359 | United States of America | A | |
| US201213352359 | – | – | – |
Members13
| Document | Office | Kind | |
|---|---|---|---|
| US2013185651A1 | United States of America | A1 | |
| CA2863045A1 | Canada | A1 | |
| WO2013109480A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2013210008A1 | Australia | A1 | |
| CN104067270A | China | A | |
| KR20140114382A | Republic of Korea | A | |
| MX2014008565A | Mexico | A | |
| EP2805255A1 | European Patent Office (EPO) | A1 | |
| JP2015510173A | Japan | A | |
| EP2805255A4 | European Patent Office (EPO) | A4 | |
| RU2014129496A | Russian Federation | A | |
| BR112014017586A2 | Brazil | A2 | |
| BR112014017586A8 | Brazil | A8 |
89 transactions on the USPTO file
Abandoned after 3 non-final rejections, 3 final rejections and 2 RCEs.
- Non-final rejections
- 3
- Final rejections
- 3
- RCEs
- 2
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Correspondence Address ChangeC.ADB | C.ADB | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Abandonment for Failure to Respond to Office ActionAbandonedMABN2 | MABN2 | |
| Aband. for Failure to Respond to O. A.AbandonedABN2 | ABN2 | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing Receipt - CorrectedFLRCPT.C | FLRCPT.C | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Interview Summary- Applicant InitiatedEXIA | EXIA | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTF | EML_NTF | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Mail Pre-Exam NoticeMPEN | MPEN | |
| Pre-Exam Office Action WithdrawnW/OA | W/OA | |
| Application Is Now CompleteCOMP | COMP | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| Cleared by OIPE CSRL194 | L194 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20130185651
- Publication, DOCDB
- 2013185651
- Publication, EPODOC
- US2013185651
- Application
- 13352359
- Application, DOCDB
- 201213352359
- Application, EPODOC
- US201213352359
Titles
- English
- PEOPLE PRESENCE DETECTION IN A MULTIDOCUMENT KNOWLEDGE BASE
Classification
- CPC, 6
- G06F3/0481
- G06Q10/101
- H04L12/1813
- G06F2203/04803
- H04L51/043
- H04L67/54
- IPC, 1
- G06F3 00
- USPC, 1
- 715753000