The disclosure herein relates generally to generating notifications in computer software applications that facilitate collaborative work among a group of users, which are referred to herein as “shared workspaces.”
Shared workspaces allow a group of users to work collaboratively on a project. For example, shared workspaces can allow shared access to files, provide task management capabilities, and provide ways for team members to communicate with one another. Access to a shared workspace is typically limited to specified users who have been granted access to the shared workspace.
The disclosure relates to generating notifications in a shared workspace.
One aspect of the disclosed embodiments is a method that includes providing, by a server computer, a shared workspace for facilitating collaborative work by a plurality of users. The method also includes monitoring information associated with the shared workspace, the information relating to each user from the plurality of users. The method also includes determining whether a notification definition is satisfied. The notification definition is based at least in part on the information associated with the shared workspace, and outputting, for display to at least one user from the plurality of users, a notification, in response to determining that the notification definition is satisfied.
Another aspect of the disclosed embodiments is a method that includes providing, by a server computer, a shared workspace for facilitating collaborative work by a plurality of users. The shared workspace includes a document storage system and an event scheduling system. The method also includes analyzing file contents for one or more files stored at the document storage system, and analyzing event information from the event scheduling system. The method further includes determining whether a notification definition is satisfied, the notification definition based in part on the file contents and is based further in part on the event information, and outputting, for display to at least one user from the plurality of users, a notification, in response to determining that the notification definition is satisfied.
Another aspect of the disclosed embodiments is a method that includes providing, by a server computer, a shared workspace for facilitating collaborative work by a plurality of users. The shared workspace includes a document editing system and an event scheduling system. The method also includes analyzing document editing activity from the document editing system, and analyzing event information from the event scheduling system. The method also includes determining whether a notification definition is satisfied. The notification definition is based in part on the document editing activity and is based further in part on the event information. The method also includes outputting, for display to at least one user from the plurality of users, a notification, in response to determining that the notification definition is satisfied.
Another aspect of the disclosed embodiments is a method that includes providing, by a server computer, a shared workspace for facilitating collaborative work by a plurality of users. The shared workspace includes a task tracking system and an event scheduling system. The method also includes analyzing task tracking information from the task tracking system, and analyzing event information from the event scheduling system. The method also includes determining whether a notification definition is satisfied. The notification definition is based in part on the task tracking information and is based further in part on the event information. The method also includes outputting, for display to at least one user from the plurality of users, a notification, in response to determining that the notification definition is satisfied.
The description herein makes reference to the accompanying drawings wherein like reference numerals refer to like parts throughout the several views, and wherein:
Methods for generating notifications in a shared workspace are disclosed herein. When working with a group on a project using a shared workspace, keeping track of all of activities of the group can be difficult, and important information may be overlooked. The systems and methods herein monitor information generated by user activities within the shared workspace to provide meaningful insights based on information culled from different types of activities, and culled from actions taken by multiple users from the group.
The systems, services, servers, and other computing devices described herein are in communication via a network 150. The network 150 can be one or more communications networks of any suitable type in any combination, including wireless networks, wired networks, local area networks, wide area networks, cellular data networks, and the internet.
The workspace service 130 provides a shared workspace to a defined group of users including operators associated with the user system 110 and the additional group member systems 120. As used herein, a shared workspace is any manner of system, program, or interface that allows a defined group of users to utilize an access-restricted system in which information can be shared between users for the purpose of collaboratively working on a project. As will be discussed herein, shared workspaces can implement document storage functions, document creation and editing functions, messaging functions, discussion functions, event scheduling functions, and task tracking functions. In some implementations, the workspace service 130 allows a particular shared workspace to be accessed upon presentation of a credential, such as a username and password combination, that are associated with a registered user of that particular shared workspace. In some implementations, one or more users of each shared workspace are able to grant access to additional users or revoke access from existing users.
Each server computer 140 can include memory 220, such as a random access memory device (RAM). Any other suitable type of storage device can be used as the memory 220. The memory 220 can include code and data 222 that can be accessed by the CPU 210 using a bus 230. The memory 220 can further include one or more application programs 224 and an operating system 226. The application programs 224 can include software components in the form of computer executable program instructions that cause the CPU 210 to perform the operations and methods described herein.
A storage device 240 can be optionally provided in the form of any suitable computer readable medium, such as a hard disc drive, a memory device, a flash drive or an optical drive. One or more input devices 250, such as a keyboard, a mouse, or a gesture sensitive input device, receive user inputs and can output signals or data indicative of the user inputs to the CPU 210. One or more output devices can be provided, such as a display device 260. The display device 260, such as liquid crystal display (LCD) or a cathode-ray tube (CRT), allows output to be presented to a user, for example, in response to receiving a video signal.
Although
A workspace manager 310 is provided to oversee and coordinate the operations performed by other components of the workspace service 130. For example, the workspace manager 310 can allow for creation of new projects, for adding or removing users as group members for those projects, for providing user interfaces that display information relating to the project and representative of information that is provided to the workspace manager 310 by the various other components of the workspace service 130. As will further be described herein, the workspace manager 310 is operable to receive information from the other components of the workspace service 130 and thereby monitor information that is associated with the shared workspace, where the information that is monitored by the workspace manager 310 represents actions taken by each group member for a particular project in using any of the components of the workspace service 130.
The workspace service 130 can include a document storage system 320. The document storage system 320 provides shared file access for the shared workspace. For each shared workspace hosted at the workspace service 130, the document storage system 320 stores files that are associated with the respective shared workspace and allows the users that have been granted access to that shared workspace to access those files at the document storage system 320. The document storage system 320 can monitor actions taken by the users of the shared workspace at the document storage system 320. For example, the document storage system 320 can monitor which files are accessed, when those files are accessed, the identity of the user accessing each file, and the duration over which each file was accessed. This information can be provided to the workspace manager 310. The document storage system 320 can further provide the workspace manager 310 with one or more of the files stored at the document storage system 320 for analysis by the workspace manager 310 as to the substantive content of the file.
The workspace service 130 can include a document editing system 330. The document editing system 330 is operable to allow creation of files for later storage at the document storage system 32 or can be utilized to edit previously-created files that are retrieved from the document storage system 320 or from an external location. As an example, the document editing system can be a word processing application. As another example, the document editing system can be a spreadsheet application. As another example, the document editing system can be a presentation application. As another example, the document editing system can be a graphic design application. Other types of applications can be provided as the document editing system 330. The document editing system 330 can provide information regarding document editing activity to the workspace manager 310. As an example, the information regarding document editing activity can include information describing the duration over which a document was edited, the extent of edits performed with respect to a document, such as, for example, the number of characters added or modified in a word processing document, or the substantive content of the portions of a document that are added or modified at the document editing system 330 during a document editing session. Other types of information could be provided to the workspace manager 310 by the document editing system regarding document editing activities performed using the document editing system 330.
The workspace service 130 can further include a messaging system 340. The messaging system 340 can be an application that allows communication between the users of a particular shared workspace. As one example, the messaging system 340 can be a text based chat application. As another example, the messaging system 340 can be a voice chat application. As another example, the messaging system 340 can be a video conferencing application. The messaging system 340 can provide information to the workspace manager 310 regarding messaging activities performed using the messaging system 340. As one example, the messaging system 340 can provide information describing the occurrence of a messaging session, such as a video conference, that occurs between multiple group members. The messaging system 340 can also provide messaging activity information to the workspace manager 310 identifying the users that participated in a particular messaging session. The messaging system 340 can also generate a transcript of a particular messaging system and transmit it to the workspace manager 310 for substantive analysis, such that a particular messaging session can be correlated to other activities performed within the shared workspace. Other types of information can be provided to the workspace manager 310 from the messaging system 340 as the messaging activity information by describing any aspect of the operation of the messaging system 340.
The workspace service 130 can also include a discussion system 350. The discussion system can allow for long term discussions regarding a topic, where the discussions occur in the form of a series comments or posts by the users of the shared workspace, and do not necessarily occur in real-time. The workspace service 130 can provide a dedicated interface for discussions and/or an interface for providing discussions that relate to and are shown in conjunction with other assets managed by within the shared workspace, such as documents, tasks, or events. Thus, when a user views an event, a discussion regarding the event can be shown alongside the event. Discussion information regarding comments, posts, and other types of discussions can be stored by the discussion system 350 and provided to the workspace manager 310.
The workspace service 130 can also include an event scheduling system 360. The event scheduling system 360 can provide a means by which group members of the shared workspace can schedule events and view those events on a calendar-type interface. The event scheduling system 360 can provide event information to the workspace manager 310, such as information describing events that have been scheduled using the event scheduling system 360, as well as any substantive content that is associated with those events.
The workspace service 130 can further include a task tracking system 370. The task tracking system 370 allows tasks to be created, assigned to one or more users, and tracked using status indicators that provide information as to whether each task has been completed by the user or users to which it was assigned. The task tracking system 370 can provide task information to the workspace manager 310. For example, the task information can describe the tasks that are tracked at the task tracking system 370, as well as the person(s) associated with each task, and the status of each task.
Other types of components can be included as part of the workspace service 130 and other types of information can be provided to the workspace manager 310. As one example, location information regarding a current location of each of the users of the shared workspace could be provided to the workspace manager 310. As another example, information related to electronic mail messages relating to the project associated with the shared workspace could be provided to the workspace manager 310. Numerous other examples are possible, and thus, any information regarding activities taken by users of the shared workspace in the context of the shared workspace, or one of its constituent components can be tracked by the workspace manager 310.
The information that is received by the workspace manager 310 from the various components of the workspace service 130 can be aggregated and stored as workspace information 380. The workspace information 380 is information regarding the activities of some or all of the users of the shared workspace across the multiple components of the workspace service 130.
The workspace information 380 can be, as an example, a collection of information describing actions taken by the users of the shared workspace. In addition, the workspace information can include textual information written by the users in the context of, for example, the document editing system 330, the messaging system 340, and the discussion system 350. This textual information can be aggregated and utilized as a basis for triggering notifications, as will be described further herein.
The notification generator 400 can utilize notification definitions 420 that each describe a notification that can be output for display to the user, the types of information that can be considered when determining whether the notification definition is satisfied, and the conditions under which the notification definition 420 is satisfied. When the notification definition is satisfied, the notification that is described by the notification definition 420 can be output for display. There are many possible conditions that can be evaluated using the workspace information, either by utilizing a single type of information to determine whether a condition is satisfied, or by utilizing multiple pieces of information to determine whether a condition is satisfied, such as relatedness of two different pieces of information derived from different components of the workspace service 130. Notification definitions 420 are considered to be satisfied when the notification generator determines that the notification described by a particular notification condition should be output for displayed based on the conditions or other information provided by the notification definition that describe the circumstances under which the notification should be displayed. In a simple example, a notification definition could be satisfied based on a determination that a set of pre-defined conditions are met. In other examples, whether some or all of the notification definitions are satisfied can be based on a ranking that considers the workspace information 380 in conjunction with factors such as relevancy, user behavior, pattern analysis, and user specified preferences.
As one example, a notification definition could include, as a necessary condition, that an event is scheduled to occur within a specified period of time. As another example, a notification definition could include, as a necessary condition, that no new tasks were created during a specified time frame. As another example, a notification definition could include, as a necessary condition, that some or all of the users of the shared workspace do not have an event scheduled at a particular time. As another example, a notification definition could include, as a necessary condition, that a user has performed a high number of actions that relate to a specific topic. As another example, a notification definition could be satisfied based on a semantic analysis of textual information written by the users that is included in the workspace information.
The notification generator utilizes the workspace information 380 to determine whether the notification definitions are satisfied. Thus the notification generator 400 can process some or all of the notification definitions 420, in each case using some or all of the workspace information and one of the notification definitions 420 as inputs. For each of the notification definitions 420 that is satisfied, the notification 410 can be output for display, such as by transmission of information from the workspace service 130 to the user system 110 that, when interpreted by the user system 110, causes the notification 410 to be output for display at the user system 110.
In one implementation, the notification generator 400 operates in real-time, by processing the notification definitions 420 based on the workspace information 380 while the user system 110 is utilizing the workspace service 130. In addition, processing of specific rules can be triggered by changes to related types of information. For example, execution of one of the notification definitions 420 that depends upon event information can be processed by the notification generator in response to a change in the event information. In another implementation, the notification definitions can be processed without regard to whether the user system 110 is currently utilizing the workspace service 130. For example, the notification definitions can be processed for a particular workspace or for particular users of a workspace on a predetermined schedule, or on a rolling queue-based schedule based on availability of the notification generator 400.
The workspace interface screen 500 can include interface elements that allow users of the shared workspace to utilize the various functions and components of the shared workspace. By way of example, the workspace interface screen 500 can include a search box 510 that allows users to execute search queries with respect to the information relating to the shared workspace. As another example, the workspace interface screen 500 can include a menu 520 that allows users to access the functions of the various components provided by the shared workspace. As another example, the workspace interface screen 500 can include an update area 530 in which update objects 532, 534, 536 are output for display. The update objects 532, 534, 536 include information relating to usage of the shared workspace, such as addition of files to the shared workspace, modification of files in the shared workspace, the presence of new comments or discussions, creation of new tasks, and other types of information derived from actions taken by the users of the shared workspace.
The workspace interface screen 500 includes a notification area 540. Notifications regarding information relating to the shared workspace, such as the notification 410 of
The first example notification card 550 can include a notification message 552. In the illustrated example, the notification message 552 advises the user to “prepare for your meeting,” identifies a meeting based on, for example, a pre-exiting event described by event information from the event scheduling system 360, and identifies the time at which the meeting is scheduled to occur.
The first example notification card 550 can include a reference to one or more files that are stored at the document storage system 320 and, in the illustrated example, includes interface elements 554, 556 for accessing documents that are stored at the document storage system. The first example notification card 550 indicates to the user that the files referenced by the interface elements 554, 556 are files that the user may wish to review in advance of the meeting that is referenced by the notification message 552. The files that are referenced by the interface elements 554, 556 can be identified based on the workspace information 380 using, for example, information from the document storage system showing that the files have been accessed by one or more of the users of the shared workspace in advance of the meeting or information representing the substantive content of the documents that are stored at the document storage system 320, upon determining that the topic of the event referenced by the notification message 552 is substantively related to the subject matter described in the documents referenced by the interface elements 554, 556.
Additional interface elements and information can be included in the first example notification card 550. For example, the first example notification card 550 can include an interface element 558 for causing the user to join the meeting referenced by the notification message 552, such as by video conference. Additional information that is included in the first example notification card 550 can include a countdown timer 560, which shows the amount of time remaining before the meeting that is referenced in the notification message 552.
The first example notification card 550 can be output for display in response to determining that a notification definition is satisfied, as described in connection with the notification generator 400 of
The above notification cards and their inputs and conditions are given as examples. Other notifications can be generated and output for display, and the various types of information and conditions are examples, and other types of information and conditions can be utilized in various combinations.
At operation 710, a shared workspace is provided. The shared workspace can be provided for facilitating collaborative work by a plurality of users who are granted access to the shared workspace. The shared workspace can include various components and systems for facilitating collaborative work, such as the components and systems described with respect to the workspace service. The shared workspace can be provided for example by the workspace service 130, executed by the one or more server computers 140, for access via the network 150 by the user system 110 and the additional group member systems 120.
At operation 720, information is monitored. Information can be monitored for example, in the manner explained with respect to the workspace manager 310 of
At operation 730, a determination is made as to whether a notification definition is satisfied. This can be performed, for example, as described with respect to the notification generator 400 of
The foregoing description describes only some exemplary implementations of the described techniques. Other implementations are available. For example, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.
The words “example” or “exemplary” are used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example” or “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the words “example” or “exemplary” is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X includes A or B” is intended to mean any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Moreover, use of the term “an embodiment” or “one embodiment” or “an implementation” or “one implementation” throughout is not intended to mean the same embodiment or implementation unless described as such.
The implementations of the computer devices (e.g., clients and servers) described herein can be realized in hardware, software, or any combination thereof. The hardware can include, for example, computers, intellectual property (IP) cores, application-specific integrated circuits (ASICs), programmable logic arrays, optical processors, programmable logic controllers, microcode, microcontrollers, servers, microprocessors, digital signal processors or any other suitable circuit. In the claims, the term “processor” should be understood as encompassing any of the foregoing hardware, either singly or in combination. The terms “signal” and “data” are used interchangeably. Further, portions of each of the clients and each of the servers described herein do not necessarily have to be implemented in the same manner.
Operations that are described as being performed by a single processor, computer, or device can be distributed across a number of different processors, computers or devices. Similarly, operations that are described as being performed by different processors, computers, or devices can, in some cases, be performed by a single processor, computer or device.
Although features may be described above or claimed as acting in certain combinations, one or more features of a combination can in some cases be excised from the combination, and the combination may be directed to a sub-combination or variation of a sub-combination.
The systems described herein, such as client computers and server computers, can be implemented using general purpose computers/processors with a computer program that, when executed, carries out any of the respective methods, algorithms and/or instructions described herein. In addition or alternatively, for example, special purpose computers/processors can be utilized which can contain specialized hardware for carrying out any of the methods, algorithms, or instructions described herein.
Some portions of above description include disclosure presented in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules or by functional names, without loss of generality. It should be noted that the process steps and instructions of implementations of this disclosure could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.
Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.
At least one implementation of this disclosure relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on a computer readable storage medium that can be accessed by the computer.
All or a portion of the embodiments of the disclosure can take the form of a computer program product accessible from, for example, a non-transitory computer-usable or computer-readable medium. The computer program, when executed, can carry out any of the respective techniques, algorithms and/or instructions described herein. A non-transitory computer-usable or computer-readable medium can be any device that can, for example, tangibly contain, store, communicate, or transport the program for use by or in connection with any processor. The non-transitory medium can be, for example, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for tangibly containing, storing, communicating, or transporting electronic instructions.
It is to be understood that the disclosure is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5002491 | Abrahamson et al. | Mar 1991 | A |
5596700 | Darnell et al. | Jan 1997 | A |
5826025 | Gramlich | Oct 1998 | A |
5930801 | Falkenhainer et al. | Jul 1999 | A |
6064856 | Lee et al. | May 2000 | A |
6222535 | Hurd, II | Apr 2001 | B1 |
6389434 | Rivette et al. | May 2002 | B1 |
6411310 | Berquist et al. | Jun 2002 | B1 |
6438566 | Okuno et al. | Aug 2002 | B1 |
6519763 | Kaufer | Feb 2003 | B1 |
6687878 | Eintracht et al. | Feb 2004 | B1 |
6721921 | Altman | Apr 2004 | B1 |
6732179 | Brown et al. | May 2004 | B1 |
6733295 | Stuppy et al. | May 2004 | B2 |
7315826 | Guheen | Jan 2008 | B1 |
7689563 | Jacobson | Mar 2010 | B1 |
7747588 | Thompson et al. | Jun 2010 | B2 |
7821405 | Heidloff | Oct 2010 | B2 |
7870193 | Hintermeister | Jan 2011 | B2 |
7966556 | Bourdev | Jun 2011 | B1 |
8000453 | Cooper et al. | Aug 2011 | B2 |
8121874 | Guheen | Feb 2012 | B1 |
8171404 | Borchers et al. | May 2012 | B2 |
8385810 | Nolasco | Feb 2013 | B2 |
8386929 | Zaika et al. | Feb 2013 | B2 |
8545232 | Bardige et al. | Oct 2013 | B1 |
8666056 | Makagon | Mar 2014 | B2 |
9077803 | Makagon | Jul 2015 | B2 |
20020029161 | Brodersen | Mar 2002 | A1 |
20020078088 | Kuruoglu et al. | Jun 2002 | A1 |
20020192631 | Weir et al. | Dec 2002 | A1 |
20030050986 | Matthews et al. | Mar 2003 | A1 |
20030059761 | Patterson | Mar 2003 | A1 |
20030106020 | Silverbrook et al. | Jun 2003 | A1 |
20030110228 | Xu | Jun 2003 | A1 |
20030135554 | Bellotti et al. | Jul 2003 | A1 |
20030142126 | Estrada et al. | Jul 2003 | A1 |
20030167167 | Gong | Sep 2003 | A1 |
20030177194 | Crocker et al. | Sep 2003 | A1 |
20030200258 | Hayashi et al. | Oct 2003 | A1 |
20030204490 | Kasriel | Oct 2003 | A1 |
20040021686 | Barberis | Feb 2004 | A1 |
20040030567 | Takeshita et al. | Feb 2004 | A1 |
20040060375 | Kumar et al. | Apr 2004 | A1 |
20040093346 | Hochman | May 2004 | A1 |
20040122693 | Hatscher et al. | Jun 2004 | A1 |
20040122843 | Terris et al. | Jun 2004 | A1 |
20040201602 | Mody et al. | Oct 2004 | A1 |
20050060375 | Ernest et al. | Mar 2005 | A1 |
20050114036 | Fruhling et al. | May 2005 | A1 |
20060004914 | Kelly et al. | Jan 2006 | A1 |
20060059253 | Goodman | Mar 2006 | A1 |
20060168315 | Daniell et al. | Jul 2006 | A1 |
20060194184 | Wagner | Aug 2006 | A1 |
20060224735 | Hill et al. | Oct 2006 | A1 |
20060257841 | Mangano | Nov 2006 | A1 |
20060294455 | Morris et al. | Dec 2006 | A1 |
20070162907 | Herlocker | Jul 2007 | A1 |
20070172806 | Stuppy | Jul 2007 | A1 |
20080013705 | Yoffie | Jan 2008 | A1 |
20080014569 | Holiday et al. | Jan 2008 | A1 |
20080021757 | Majd | Jan 2008 | A1 |
20080057480 | Packard et al. | Mar 2008 | A1 |
20080256250 | Wakefield | Oct 2008 | A1 |
20090125798 | Morris et al. | May 2009 | A1 |
20090125834 | Morris et al. | May 2009 | A1 |
20090157608 | Strathearn et al. | Jun 2009 | A1 |
20090181356 | Dasgupta | Jul 2009 | A1 |
20090282009 | Levey et al. | Nov 2009 | A1 |
20090291426 | Polivka | Nov 2009 | A1 |
20100100967 | Douglas et al. | Apr 2010 | A1 |
20100162135 | Wanas et al. | Jun 2010 | A1 |
20100185474 | Frank | Jul 2010 | A1 |
20100289906 | Kaye et al. | Nov 2010 | A1 |
20110202611 | Malik et al. | Aug 2011 | A1 |
20110208822 | Rathod | Aug 2011 | A1 |
20110225293 | Rathod | Sep 2011 | A1 |
20110276396 | Rathod | Nov 2011 | A1 |
20110318724 | Labine et al. | Dec 2011 | A1 |
20120192086 | Ghods | Jul 2012 | A1 |
20120198414 | Chen | Aug 2012 | A1 |
20120265596 | Mazed et al. | Oct 2012 | A1 |
20120271676 | Aravamudan et al. | Oct 2012 | A1 |
20120287988 | Chong et al. | Nov 2012 | A1 |
20120329029 | Rauta | Dec 2012 | A1 |
20130036118 | Morris et al. | Feb 2013 | A1 |
20130244219 | Roers | Sep 2013 | A1 |
20130247055 | Berner | Sep 2013 | A1 |
20130342315 | Verstraete | Dec 2013 | A1 |
20140074629 | Rathod | Mar 2014 | A1 |
20140129942 | Rathod | May 2014 | A1 |
20150118672 | Yeskel et al. | Apr 2015 | A1 |
Number | Date | Country |
---|---|---|
WO2005091247 | Sep 2005 | WO |
WO2009032013 | Mar 2009 | WO |
WO2013086513 | Jun 2013 | WO |
WO2013103947 | Jul 2013 | WO |
Entry |
---|
Lowell Heddingsat at http://www.howtogeek.com/howto/microsoft-office/stop-hitting-snooze-change-the-default-reminder-time-for-outlook-appointments/ dated: Apr. 25, 2008 (“Heddingsat”). |
www.google.com/landing/now, internet web page. |
Activity-centric collaboratin tools on Lotusphere menu, printed out in year 2008. |
Beyond predictable workflows: Enhancing productivity in artful business processes; Hill et al., year 2006. |
Dynamic partial prefetch ranking in Hypermedia neighborhood; Javed I. Khan; year 2000. |
Edmodo, “Assignments,” https://support.edmodo.com/home#forums/20796115-assignments, Aug. 13, 2013. |
Edmodo, “Badges,” https://support.edmodo.com/home#forums/20805855-badges, Aug. 13, 2013. |
Edmodo, “Discover,” https://support.edmodo.com/home#forums/20898420-discover, Aug. 13, 2013. |
Edmodo, “Insights and Reactions,” https://support.edmodo.com/home#forums/20904990-insights-and-reactions, Aug. 13, 2013. |
Edmodo, “Quizzes,” https://support.edmodo.com/home#forums/20887530-quizzes, Aug. 13, 2013. |
Edmodo, “Turn in Assignments,” https://support.edmodo.com/home#forums/20806465-turn-in-assignments, Aug. 13, 2013. |
Edmodo, “Use Your Backpack,” https://support.edmodo.com/home#forums/20898990-use-your-backpack, Oct. 2, 2013. |
Edmodo, “Your Google Drive,” https://support.edmodo.com/home#forums/20796059-your-google-drive, Aug. 13, 2013. |
Edmodo, “Your Library”, https://support.edmodo.com/home#forums/20795335-your-library, Aug. 13, 2013. |
Efficient evaluation of shared predicates for XForms page access control Eunjung Lee,; Kyong-Jin Seo,; Tencon 2008-2008, Tencon 2008. IEEE Region 10 Conference Nov. 19-21, 2008, pp. 1-6. |
Employee connection; Australian tax office leverages technology to build culture and community; printed out in year 2008. |
Going (Quick)Places with Charlie Hill, printed out in year 2008. |
HAPARA, “Teacher Dashboard,” hapara.com/teacher-dashboard-for-google-apps/. |
IPRP of the International Searching Authority for International Application No. ISR/US2013/065870 dated May 28, 2015, 12 pages. |
ISR Written Opinion of the International Searching Authority and ISR for International Application No. PCT/US2014/062061 mailed on May 20, 2015. |
Knowledge access control policy language model for virtual enterprises Tsung-Yi Chen; Yuh-Min Chen; Hui-Chuan Chu; Chui-Cheng Chen; Industrial Engineering and Engineering Management, 2007 IEEE International Conference on Dec. 2-4, 2007, pp. 1903-1907. |
Schoology's Educational Solutions, “Not Your Typical Learning Management System,” https://www.schoology.com/learning-management-system.php. |
ThinkFree, Corp. Administration Guide: ThinkFree Server, Jan. 30, 2009. |
Windows NT Server 4.0 Concepts and Planning Manual, Chapter 4—Managing Shared Resources and Resource Security, as printed out in year 2008. |
A Language Extension for Controlling Access to Shared Data Jones, A.K.; Liskov, B.H.; Software Engineering, IEEE Transactions on vol. SE-2, Issue 4, Dec. 1976 pp. 277-285. |