WO2010136904A2 - System for dynamically configuring task-based collaborative environment and method of operation thereof - Google Patents

System for dynamically configuring task-based collaborative environment and method of operation thereof Download PDF

Info

Publication number
WO2010136904A2
WO2010136904A2 PCT/IB2010/001640 IB2010001640W WO2010136904A2 WO 2010136904 A2 WO2010136904 A2 WO 2010136904A2 IB 2010001640 W IB2010001640 W IB 2010001640W WO 2010136904 A2 WO2010136904 A2 WO 2010136904A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
task
information
users
working environment
Prior art date
Application number
PCT/IB2010/001640
Other languages
French (fr)
Other versions
WO2010136904A3 (en
Inventor
Wilson Wai-Sang Lau
Dominic Lee
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Priority to EP10750163A priority Critical patent/EP2435960A2/en
Publication of WO2010136904A2 publication Critical patent/WO2010136904A2/en
Publication of WO2010136904A3 publication Critical patent/WO2010136904A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present system relates to at least one of a system, method, user interface, and apparatus to provide a task-oriented working environment and providing a dynamic collaborative task-oriented user interface (Ul) based on workflow information.
  • a system, method, user interface, and apparatus to provide a task-oriented working environment and providing a dynamic collaborative task-oriented user interface (Ul) based on workflow information.
  • many enterprise workers contribute to the enterprise by performing daily operations such as completing tasks that are assigned to the workers by information technology systems.
  • These IT systems may use BPM and/or workflow applications, to create tasks and/or assign these tasks to workers.
  • the IT systems typically notify workers of these tasks.
  • the workers will typically receive notification of a task at their task inbox.
  • workers open their task they will usually see some description of the task and a form to submit information back when they complete the task.
  • the IT systems can typically track when, and to whom, a task was assigned.
  • the IT systems can create or select new tasks to assign to the workers according to the design of the business process model.
  • the present system includes one or more of a system, method, device, computer program, and interface for rendering a user interface (Ul) for collaboratively working on a task of a plurality of tasks of a workflow.
  • the workflow may correspond with, for example, a business workflow such as a BPM workflow.
  • Identifying resources may include querying a plurality of systems utilizing a universally recognized designation that identifies a query term in a form that is identifiable by each of the plurality of systems and that is not natively recognized and operated on by the plurality of systems.
  • the resource may include one or more of a user, an application, a processing device, and a storage device.
  • the method may include determining whether a user has requested to collaborate with a further user of the plurality of users.
  • a collaboration tool may be identified based on the rendered results.
  • a collaboration function may be established in response to the identified collaboration tool.
  • Establishing the collaboration function may include rendering a list of related users from the plurality of users based on the extracted process, rendering a list of related applications based on the extracted process, and rendering a list of collaboration tools based on collaboration tools available to the related users.
  • Establishing the collaboration function may include connecting the related users together utilizing at least one of the list of collaboration tools and providing one or more of the related users use of one or more of the related applications during the collaboration function.
  • a security level may be set for access to data during extracting and identifying.
  • the security level may be based on one or more of a users security level, the security level of a tool operated on by the user and the tools assigned security level, and the business process task and the tasks assigned security level.
  • a search may be performed for information not yet entered within the business process task based on the extracted process context. The results of the search may be rendered, such as displayed.
  • FIG. 1 shows a Ul in accordance with an embodiment of the present system
  • FIG. 2A shows a context information window in accordance with an embodiment of the present system
  • FIG. 2B shows a context information window in accordance with an embodiment of the present system
  • FIG. 2C shows a Ul which illustrates a process relationship in accordance with a further embodiment of the present system
  • FIG. 3 shows a flow diagram that illustrates a process in accordance with an embodiment of the present system
  • FIG. 4 shows a schematic of an embodiment of the present system
  • FIG. 5 shows a schematic of an embodiment of the present system
  • FIG. 6 shows a system in accordance with a further embodiment of the present system
  • FIG. 7 shows an example of a relationship between business process elements in accordance with an embodiment of the present system.
  • DETAILED DESCRIPTION OF THE PRESENT SYSTEM The following are descriptions of illustrative embodiments that when taken in conjunction with the following drawings will demonstrate the above noted features and advantages, as well as further ones.
  • illustrative details are set forth such as architecture, interfaces, techniques, element attributes, etc.
  • it will be apparent to those of ordinary skill in the art that other embodiments that depart from these details would still be understood to be within the scope of the appended claims.
  • detailed descriptions of well known devices, circuits, tools, techniques and methods are omitted so as not to obscure the description of the present system.
  • the drawings are included for illustrative purposes and do not represent the scope of the present system.
  • like reference numbers in different drawings may designate similar elements.
  • an operative coupling may include one or more of a wired connection and/or a wireless connection between two or more devices that enables a one and/or two-way communication path between the devices, elements, etc., and/or portions thereof.
  • an operative coupling may include a wired and/or wireless coupling to enable communication between a server and one or more user devices.
  • a further operative coupling, in accordance with the present system may include one or more couplings between two or more user devices, such as via a network source, such as the server, in accordance with an embodiment of the present system. Elements may also be operatively coupled together in accordance with the present system.
  • rendering and formatives thereof as utilized herein refer to providing data such that it may be perceived by at least one user sense, such as a sense of sight and/or a sense of hearing.
  • the present system may render a user interface on a display device so that it may be seen and interacted with by a user.
  • the present system may render data on both of a device that renders audible output (e.g., a speaker, such as a loudspeaker) and a device that renders visual output (e.g., a display).
  • a device that renders audible output e.g., a speaker, such as a loudspeaker
  • a device that renders visual output e.g., a display
  • a system, method, device, computer program, and interface for rendering a Ul for a users convenience may include one or more applications which are necessary to complete an assigned task.
  • the method may include an act of accessing user profile information including stored task information for one or more users of a plurality of users.
  • the method may also include an act of assigning a task of a plurality of tasks to a user of the plurality of users.
  • the method may further include an act of determining whether the assigned task corresponds with the stored task information for the user.
  • the method may also include an act of setting a working environment based upon the determination.
  • the method may include an act of rendering the set working environment using the Ul.
  • the task may be selected from a plurality of tasks.
  • the method may also determine the tasks from a workflow.
  • the method may also assign tasks to two or more users.
  • the present system may collect other statistics related to the user and/or user device in accordance with the present system, such as a relative time of an action, geo-location, network, detected content item, etc.
  • a common interface device for a user interface such as a graphical user interface (GUI) is a mouse, trackball, keyboard, touch-sensitive display, etc.
  • GUI graphical user interface
  • a mouse may be moved by a user in a planar workspace to move a visual object, such as a cursor, depicted on a two-dimensional display surface in a direct mapping between the position of the user manipulation and the depicted position of the cursor. This is typically known as position control, where the motion of the depicted object directly correlates to motion of the user manipulation.
  • GUI in accordance with an embodiment of the present system is a GUI that may be provided by a computer program that may be user invoked, such as to enable a operation within a business process management system.
  • GUI may provide different views that are directed to different portions of the present process.
  • the GUI may present a typical Ul including a windowing environment and as such, may include menu items, pull-down menu items, pop-up windows, etc., that are typical of those provided in a windowing environment, such as may be represented within a WindowsTM Operating System GUI as provided by Microsoft Corporation and/or an OS XTM Operating System GUI, such as provided on an iPhoneTM, MacBookTM, iMacTM, etc., as provided by Apple, Inc., and/or another operating system.
  • the objects and sections of the GUI may be navigated utilizing a user input device, such as a mouse, trackball, finger, and/or other suitable user input.
  • the user input may be utilized for making selections within the GUI such as by selection of menu items, window items, radio buttons, pop-up windows, for example, in response to a mouse-over operation, and other common interaction paradigms as understood by a person of ordinary skill in the art.
  • Similar interfaces may be provided by a device having a touch sensitive screen that is operated on by an input device such as a finger of a user or other input device such as a stylus.
  • a cursor may or may not be provided since location of selection is directly determined by the location of interaction with the touch sensitive screen.
  • GUI utilized for supporting touch sensitive inputs may be somewhat different than a GUI that is utilized for supporting, for example, a computer mouse input, however, for purposes of the present system, the operation is similar. Accordingly, for purposes of simplifying the foregoing description, the interaction discussed is intended to apply to either of these systems or others that may be suitably applied.
  • FIG. 1 shows a Ul 100 in accordance with an embodiment of the present system.
  • the Ul 100 may include a GUI in accordance with an embodiment of the present system.
  • the Ul 100 corresponds with a user defined working environment (that may correspond with an initial Ul that may have been defined by the system) and is provided in accordance with a task (e.g., a task of a business process model) which may be assigned to a user by the present system.
  • the task may be selected by the system from a plurality of tasks of a workflow process. Further, the task may correspond with a specific business process task (e.g., BPT).
  • BPT specific business process task
  • the Ul 100 may include one or more of windows, frames, menus, title bars, applications, tasks, links, widgets, and/or features (hereinafter “tools”) that are selected by the system in accordance with the current task so that the user may focus upon tasks in the current window.
  • the Ul 100 may include tools which may include one or more windows such as a main window 102, a work area 106, a recommend task area 108, a user tools area 110, a directory area 118, a time area 116, an efficiency area 112, a save area 120, an other task area 114.
  • Each of the tools may include, for example, a frame, menus, and/or a title which describes the area.
  • the main window 102 may include a title 102 -T
  • the work area 106 may include a title 106-T, etc.
  • Each title may describe an appropriate area and may be initially set by the system in accordance with the BPT.
  • the main window 102 may include one or more of the work area 106, the recommend task area 108, the user tools area 110, the directory area 118, the time area 116, the efficiency area 112, the save area 120, and the other task area 114, if desired. Further, each of these areas may be maximized, minimized, and/or closed as may be typical in a windows operating environment.
  • the system may provide the capability to drag and drop tools into any tool so as to syndicate information distributed by different sources.
  • a frame located within another frame may be referred to as a subframe.
  • any window in another window may be referred to as a subwindow.
  • the sources may include the one or more of applications including, for example, windows, menus, titlebars, applications, tasks, links, widgets, and/or features that are selected by the system in accordance with a corresponding task.
  • a plurality of tools such as for example, a browser application (e.g., IE, Firefox, etc.) 106-1 , a credit check application 106-2, a report application 106-3, a word processor (e.g., MS Word) 106-4, a widget application 106-6, a context application 106-9, and/or other applications 106-N may operate together in the work area 106.
  • a browser application e.g., IE, Firefox, etc.
  • a report application 106-3 e.g., a word processor (e.g., MS Word) 106-4, a widget application 106-6, a context application 106-9, and/or other applications 106-N
  • Each of the applications 106-1 through 106-N may be linked to share data with each other.
  • the links may be established by the system in accordance with the task and/or user selections.
  • information which is generated by the credit check application 106-2 and the word processor 106-4 may be sent to the report application 106-3 which may then prepare
  • the recommend task area 108 may include a list of one or more recommended tools such as GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features (hereinafter features 108-F) that a user may select for use. For example, the user may copy or drag one or more of the features 108-F to another window (or frame) such as, for example, the work area 106, the efficiency area 112, etc. This process will be known as "selecting the tool.” The user may also set one or more links to other windows, menus, titlebars, applications, tasks, links, widgets, data, values, and/or features in the GUI 100, as is known in the art. The user may copy or drag a tool to a certain area such as, for example, the main window 102 or another window in which the tool may be active.
  • GUIs GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features
  • the features 108-F may be selected in accordance with the BPT and/or user characteristics. For example, if the system determines that the user has a certain handicap, then certain accessibility options (e.g., a text to speech (TTS) and/or speech to text (STT) applications may be provided.
  • TTS text to speech
  • STT speech to text
  • the user tools area 110 may include tools such as one or more GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, that the system determines the user may need. For example, the system may determine that the user is likely to use one or more GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, based upon previous history. For example, the system may determine GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, that are most likely and/or most recently used by the user.
  • tools such as one or more GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, that are most likely and/or most recently used by the user.
  • the system may determine this using, for example, heuristic analysis, that may use as an input the times and/or types of GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, used by the user.
  • heuristic analysis is known in the art, for the sake of clarity, it will not be discussed.
  • a user preference list associated with the user may also be used to determine the contents of the user tools area 110.
  • the directory area 118 may include options to obtain information about, share and/or collaborate with other business process resources.
  • These business process resources may include, for example, subjects that may execute one or more processes of the present system, one or more systems that may execute certain business processes (e.g., a business process (or a related process or part) of the present system. Further, the subjects may include user associated with a business process.
  • the business process resources may include a one or more of a persons directory which corresponds with the current process, an application (or tool), a business group, etc.
  • the business group may include, for example, a project directory.
  • the project directory may show groups, leaders, tasks, etc, which may be related to one or more business groups, business processes, tasks, etc.
  • the current user's (e.g., "John") name may be highlighted.
  • the user may select certain elements in the directory for more information. For example, selecting “Group 2" may expand the directory tree and/or show one or more of a hierarchy of this group, tasks, completion levels, expected and/or actual completion times of tasks, names of members, etc.
  • a person in the directory may be selected for a communication exchange and/or to share information related to a current business process, task and/or application.
  • the system may determine information to be communicated and/or exchanged contextually based upon information such as, a current task, work in progress (WIP) data, active applications (e.g., see, 106-2 — credit check application), etc.
  • WIP work in progress
  • active applications e.g., see, 106-2 — credit check application
  • the system may use the expected and/or actual completion times to schedule new tasks or provide updates to others (e.g., managers, directors, persons who are working on a task which depends upon another task being performed/completed, etc.).
  • the system may set a security level and/or an (information) access level for each user. Accordingly, the system may provide certain information (e.g., group information, employment statistics for a plurality of workers such as pay, security level, efficiency/productivity, etc.) to a manager, while providing an employee with project work related information so that a worker can accomplish a certain task.
  • each user may have a certain security level and the system may determine what the user is allowed to see based on one or more of a user's security level and/or a tool's assigned security level.
  • the security level may be a numerical system such as, for example, a 1 granting access to all information, a 2 having access to more limited information, and a 10, which is the most restrictive, may have access just to information which must be accessed by an employee.
  • These levels may be associated with a user's status, for example, a 1 may assigned to an executive of the company who can view all information, a 3 may be assigned to a manager who may access certain information related to the managers department, a 7 may assigned to an associate such as, for example, an processor so that this associate may access loan applications related to the processor's department, a 10 may be assigned to a receptionist who can access employee's telephone numbers and associated customers. Further, these levels may be associated with a tool and/or task to ensure that a user authorized to use a given tool and/or task is provided a sufficient security access level to gain access to data, resources, etc., necessary for use of the tool and/or task.
  • the security levels may be set by a security department etc., as desired.
  • the time area 116 may include various times which may be displayed for the user's convenience. However, this information may also be used by the system to schedule tasks, determine efficiencies of persons/groups, for accounting, etc. The system may also save this information in a database in accordance with one or more of user information (e.g., user identification (ID)), group information, task information, etc., for later use.
  • user information e.g., user identification (ID)
  • group information e.g., task information, etc.
  • the efficiency area 112 may be used to display a user's and/or group's efficiency. Efficiency information may also be presented in a graphic form for a user's convenience.
  • the information in this area may be calculated by the system (e.g., using information from the time area, directory area, etc.), and may be stored in a database in accordance with one or more of user information (e.g., user identification (ID)), group information, task information, etc., for later use.
  • user information e.g., user identification (ID)
  • group information e.g., task information, etc.
  • the other tasks area may 114 may display a list of other tasks that may be assigned to the user or which the user may have finished. Accordingly, the user may select another task in order to switch to that task. For example, in the current window shown in FIG. 1 A, if the user wishes to switch from "Smith's" loan to "Morgan's” loan, all the user would have to do is select (e.g., by highlighting, clicking on, etc.) Morgan. This process may be known as switching working environments and is more clearly illustrated with reference to FIG. 2C where a working environment corresponding with the Morgan loan task is shown.
  • each tool may have one or more initial settings or instances which may be set by the system in accordance with, for example, the process.
  • a menu may have certain submenus
  • a widget such as, for example, a text entry box
  • a radio box may have certain buttons selected
  • a browser may have a default home page.
  • a user may change the default settings or instances. For example, a user may add/change text in a widget such as a text entry box, may change/select a default web page of a browser, or add data to a word processor, a spreadsheet, etc.
  • This information may be referred to as user state information which may include, for example, instance values that may be entered by the user.
  • the instances may include, for example, WIP data.
  • the save area 120 may be used to select and/or save various tasks in accordance with the present system.
  • the save area may include one or more save options such as, for example, three saving levels: a level one (L1) 126, a level two (L2) 124, a (L3) level three 122, a user defined save (which may be set by the user, etc.), a context save, etc., save selections.
  • the present system may provide a user- defined save option. These selections may be used for preserving tasks and the working environment of Ul 100 (sets of application tools) of the tasks. Further, a save now selection may be used to save and/or exit a task depending upon configuration.
  • the L1 126 save option may be available at all times.
  • the L2 124 and L3 122 save options may be disabled depending upon state. For example, with reference to FIG. 1 , a task (instance) has not been assigned to a user yet. Accordingly, the L2 124 and L3 122 save options may be disabled.
  • the context save selection may save contextual searching parameters (e.g., a type of search, instance information of a search query, systems to be searched, etc. , which may be selected/deselected, etc., by a user of a contextual search query).
  • the context application 106-9 may include settings which may be set by the user and/or the system.
  • the context application 106-9 may include menu items such as, for example, an obtain information menu item 106-9A, a share information menu item 106-9B, and/or a directory menu item 106-9C. Selecting one of these menu items may cause the process of the present system to perform at least part of a contextual search, for example, using a process context extractor (PCE), etc., to obtain, share, and/or render various information.
  • PCE process context extractor
  • the contextual search may automatically obtain and/or share information and/or may request further user input based upon a user's current process, task, and/or application.
  • a user may decide to contextually obtain information.
  • the user may select the obtain information menu item 106-9 to obtain certain information based upon context.
  • the system may contextually determine desired information using information such as, for example, one or more of current application information, task information (e.g., loan application (current), house appraisals, etc.), task instance information (e.g., Smith instance), WIP data, etc., and determine appropriate data to query for, obtain, generate, and/or share.
  • task information e.g., loan application (current), house appraisals, etc.
  • task instance information e.g., Smith instance
  • WIP data etc.
  • the user may select the obtain information menu item 106-9A to contextually obtain this information.
  • information e.g., the Smith instance
  • the user may select the obtain information menu item 106-9A to contextually obtain this information.
  • name information e.g., Sam Smith — or parts thereof
  • SS Social Security
  • the system may perform a contextual search for information that the system has determined was not entered in relation to the current application (e.g., the credit check application 106-2 corresponding with the Smith instance) and/or task instance. Accordingly, the system may contextually determine which information is requested (e.g., information which has not been entered or selected in the present example). For example, assuming that the user has not yet entered Smith's name and SS number, the system may contextually detect this using any suitable method (e.g., detecting empty input entries, unselected radio buttons, check boxes, widgets, etc.).
  • the system may determine empty input areas such as, for example, text entry boxes, text selection boxes, drop down lists, widgets, radio buttons, etc., which may be associated with the presently selected application (e.g., the credit check application 106-2). Moreover, the system may detect selections which have not yet selected by a user such as, for example, radio boxes, check boxes, etc., which may be associated with the selected application (e.g., the credit check application 106-2). Further, the system may detect other types of inputs which are associated with the present application and have not been entered and/or selected. Further, it is also envisioned that the system may determine empty input areas which are associated with the present task (e.g., the Smith instance).
  • the system may determine empty input areas which are associated with the present task (e.g., the Smith instance).
  • the system may determine one or more locations of desired information using any suitable method. For example, the system may use an identification (ID) system which may associate an ID (e.g., a location ID) with a corresponding information element (e.g., file, user name, task, task instance, associated information, etc.). This ID may correspond with a customer (e.g., Smith), a task (e.g., the Smith instance), a series of related tasks (e.g., Smith's loan) which may include a plurality of related task instances, etc.
  • ID e.g., a location ID
  • a corresponding information element e.g., file, user name, task, task instance, associated information, etc.
  • This ID may correspond with a customer (e.g., Smith), a task (e.g., the Smith instance), a series of related tasks (e.g., Smith's loan) which may include a plurality of related task instances, etc.
  • a common identification e.g., a numerical identification
  • This ID may be saved in association with a customer, a task, an instance, etc., and may be referred to in order to determine one or more locations of desired information associated with the ID.
  • the system may further include an ID memory such as, for example, an ID database or other suitable memory, which may store locations of desired information.
  • the system may refer to the location ID to determine one or more locations of information associated with the Smith instance. Then, the system may query these locations for the desired information (e.g., Name and/or SS information related to the Smith instance in the present example).
  • the system may transmit a query to one or more systems to determine whether these systems store any desired information (e.g., information related to the Smith instance). The system may then parse this information to obtain information related to the present application context (e.g., the Smith instance).
  • desired information e.g., information related to the Smith instance.
  • the system may then parse this information to obtain information related to the present application context (e.g., the Smith instance).
  • FIG. 2A shows a Ul 200A
  • FIG. 2B shows a Ul 200B, each of which illustratively relates to the Ul of FIG. 1.
  • DMI desired missing information
  • WIP information i.e., WIP information
  • name and/or SS number information e.g., Sam Smith and 123-45-6789, respectively
  • SS number information e.g., Sam Smith and 123-45-6789, respectively
  • the Name and Security is illustratively shown filled in, one or more of these fields of the current task (e.g., the Smith instance) may be blank (e.g., not yet filled in).
  • the system may contextually determine the desired information based upon one or more of the current task, task instance, and/or application (e.g., the credit check application 106-2) and may obtain the desired information as described herein. Thereafter, the system may render this information using any suitable method (e.g., visually using a GUI, audibly using a speaker, etc.) for the user's convenience. For example, the system may render the desired information in a suitable area (e.g., a present screen) in frame, a window, a widget, etc.
  • a suitable area e.g., a present screen
  • the desired information such as, for example, information corresponding with a name 201 and/or a social security (SS) number 203 may be displayed for a user's selection. Thereafter, the user may select to insert the desired information by selecting an insert menu item 202 or may close the window by selecting the close menu item 204. The desired information may then be added to a corresponding area such as to the WIP area as shown in FIG. 1. The system may also render a source of the desired information such as "credit rating co.” 205.
  • SS social security
  • SS number information e.g., Sam Smith and 123-45-6789, respectively
  • a current application e.g., the loan application
  • the system may contextually determine the desired information based upon one or more of the current task, task instance, and/or application (e.g., the credit check application 106-4) and obtain the desired information as described above.
  • the system may contextually determine that information related to the name is present (e.g., Sam Smith) in the present application of the current task, however, the system may contextually determine that information corresponding to SS information is not present. Accordingly, the system may obtain this information using a suitable method (e.g., a contextual query as described above) and may render the desired information using any suitable method (e.g., visually using a GUI, audibly using a speaker, etc.) for the user's convenience. For example, the system may render the desired information in a suitable area (e.g., a present screen) in frame, a window, a widget, etc.
  • a suitable method e.g., a contextual query as described above
  • any suitable method e.g., visually using a GUI, audibly using a speaker, etc.
  • the system may render the desired information in a suitable area (e.g., a present screen) in frame, a window, a widget, etc.
  • the desired information such as, for example, information corresponding with an SS number 203B may be displayed for a user's selection. Thereafter, the user may select to insert the desired information by selecting an insert menu item 202 or may close the window by selecting the close menu item 204.
  • the system may also include a source of the information and may group the desired information with a corresponding source. Thus, for example, if the system obtains the desired information (or parts thereof) from two different sources (e.g., a tax form data base and a credit rating co.), the system may display information with a corresponding source for a user's selection.
  • the system may also simply provide the requested information in a suitable area of the user interface, such as in the area 140 wherein the requested information may be required for a given task.
  • the present system may also extract process context and render relationships between one or more processes. For example, with reference to FIG. 1 , when a user selects, for example, the directory menu item 106-9C, the system (e.g., using a process context extractor as will be described below) may extract process context and render a corresponding Ul. For example, with reference to FIG. 2C, the system may render a Ul 200C which illustrates a process relationship in accordance with a further embodiment of the present system.
  • the PCE may extract data from one or more BPM/Workflow systems and may build a data model of, for example, tasks, process instances, process contexts and/or resources, and store this data model in a memory of the system.
  • This data model, and/or parts thereof, may then be rendered and/or used to enable one or more collaboration functions which may be provided by, for example, a collaboration tool (CT).
  • CT collaboration tool
  • the system may render, for example, user task information 222, a sorting menu 224, process information 226, etc., which may correspond with the selected user task information 222 (e.g., see, Smith task instance) and the selected sorting menu 224 (e.g., task instance).
  • the system may render all tasks which are related to the current task instance, type, and/or or application.
  • the system may track and/or render relationships of tasks (e.g., by type, instance, user, etc.), track projects, executing business processes workflows and managing the assignment of tasks assigned to one or more users.
  • a relationship map may show relationships having the same task type, belonging to the same business process, all relationships related to a task instance (e.g., the Smith instance), processes handled on the same date (e.g., day, date, time period, etc.), processes (or tasks) assigned to the same user or a group of users, process to be viewed by managers (e.g., all processes, processes in the managers group), etc.
  • a share information menu item 228 may be provided to facilitate the sharing of information.
  • a user may inform MeI of a share request and transmit and/or receive related information.
  • a status may be shown (c.f., "completed” task 230 and "open” task 240).
  • a user may readily determine a status of a task.
  • the system may associate an ID (e.g. a location ID) with a corresponding information element (e.g., file, user name, task, task instance, associated information, etc.), business process, etc.
  • an ID e.g. a location ID
  • a corresponding information element e.g., file, user name, task, task instance, associated information, etc.
  • the ID may include information which may relate various users, tasks, business processes, etc. For example, select bits of an ID may identify a task, while other select bits identify an assigned user, while other assigned bits identify a work group, etc. Further, a look up table may be used to determine a group to which a user, task, etc., belongs.
  • the Ul 100 may be rendered by the system in accordance with an operation of the system.
  • the rendering of the Ul 100 will be assumed to correspond with a working environment which was saved by a user. Creation and operation within a working environment will not be discussed further here however is described in detail in U.S. Patent Application No. 61/142,154, incorporated herein as if set out in its entirety.
  • the Ul 100 may correspond with an initial working environment that may be rendered, for example a first time a task is launched and/or may correspond with a working environment in accordance with a re-launched task (e.g., launched a second time, a third time, etc.).
  • the working environment of the Ul 100 may correspond with a working environment in which task instances and/or types may have been assigned to the user. Further, the working environment of the Ul 100 may be reconfigured to provide a user defined working environment as desired.
  • the system may save the working environment in, for example, a memory of the system, in accordance with a selected save option (e.g., an L1 , L2, L3, a user defined save option, etc., as discussed in U.S. Patent Application No. 61/142,154).
  • a selected save option e.g., an L1 , L2, L3, a user defined save option, etc., as discussed in U.S. Patent Application No. 61/142,154.
  • the working environment of the Ul 100 may correspond with a task that the user has been assigned in accordance with an operation of the present system.
  • the system may also distinguish different working environments for different task types.
  • the system may assign the same or a similar working environment to tasks of the same type.
  • the system may associate similar working environments for each of these tasks.
  • the user's task inbox (e.g., see, task area 114) may have different task instances for the tasks of the same type (e.g., "collect customer data").
  • a user customizes the task instances e.g., initial task instances
  • these task instances may be referred to as a user-customized task instance.
  • the user may then select one of these tasks to launch and use the same set of tools in each working environment that corresponds with the same task type.
  • the user may be presented with a common working environment for each task of the same type.
  • the user and/or the system may save the user's work according to a predetermined save option.
  • FIG. 3 shows a flow diagram that illustrates a process 300 in accordance with an embodiment of the present system.
  • the process 300 may be performed using one or more computers that are programmed by one or more computer programs (e.g., program portions) to configure the computer(s) as a special purpose computer(s) including communicating over a network in accordance with an operation of the present system.
  • the process 300 can include one or more of the following acts. Further, one or more of these acts may be combined and/or separated into sub-acts, if desired. In operation, the process may start during act 301 and then proceed to act 302.
  • the process may set an assigned working environment which may correspond with a business process, task, etc. After completing act 302, the process may continue to act 304.
  • a contextual search corresponds to a search that is related not only to a given task but that also includes instance information identifying the instance of the task.
  • the operation of the present system offers a unique workspace for each individual user.
  • different processes or tasks are carried out and may advance sequentially, simultaneously, etc. Some processes may be split into several parallel ones. Consequently several users may be working simultaneously on different tasks linked to the same subject (or context) such as a single customer or a single process, task, etc., simultaneously.
  • the idea of the collaborative environment in accordance with the present system is to offer users a possibility of knowing who are the other users working on the same or associated tasks, and share documents, applications, info, tools, etc., about the task, instance, etc.
  • the user will have a sharing tool, represented as a query herein, that enables a user to, for example, see who are these other users involved with a given instance of a task, share info and data with the other users, any other functions provided it allows multiple users to read, edit, etc., the shared content, identify tools, data, user contact information, etc., that are utilized/involved with the instance, etc., through use of the PCE, all within the context of a BPM flow and particularly related to a given instance of the flow.
  • the query may even show who the active users, related to a particular portion of the business process (e.g., a particular context).
  • the collaboration is carried out at the level of the tools and given instances, not the workspace level.
  • each user may have a different (unique) workspace, even if they are sharing data through the sharing/querying tool.
  • the sharing is more focused on the ongoing task instance then on a person to person sharing.
  • the environment is not static but dynamic as the BPM context brings in the idea that multiple tasks, (similar, identical or not) that may be related to a given instance, may be carried on simultaneously and that there is a desire to be able to identify tools, users, data, etc., related to the given instance.
  • the Credit and Appraisal Departments in a company may share some credit records about a series of consumers (e.g., cross-department data), and one may need to know where the other one is on their respective (linked) task or may desire to contact other users working on the same or related tasks.
  • the result of a query may be an invitation to each related user for a teleconference to discuss a task and particular instance (e.g., see acts 308 and 310 below).
  • the query results in not only an identification of users working on a related task or portion thereof, but also an identification of tools, data, etc., that is also related so that a closer collaboration with the business process may be achieved then was heretofore achievable with prior systems.
  • prior systems may have enabled an identification of users involved with a given process generally (e.g., all parties working on Sam Smith's credit application), prior systems are not enabled to identify users based on context of a given user. For example, within the business process of examining Sam Smith's credit application, some users may be working on credit history while other users are working on current asset assessment. While each of these users are performing tasks related to Sam Smith's credit application, the different users may be working on different application data, tools, etc.
  • a query within an instance of Sam Smith's current asset assessment may produce an identification of one or more of users, data, tools, systems (e.g., for example in a case wherein multiple business process management systems are involved), etc., related to that instance.
  • the granularity of the query may be selectable by the user and or the present system, such that, for example, a query on Sam Smith's current asset assessment may produce all users, tools, data, etc. related to Sam Smith's current asset assessment generally and/or may produce one or more of the above related to a particular asset (e.g., a home).
  • the present system may by default (e.g., unless selected otherwise by the user) produce a general query related to a current user task/instance and thereafter provide the user an ability to increase and/or decrease the granularity of a query result in response to further queries. For example, while a query may result in an identification of all users, tools, data, etc.
  • a further query may be utilized to identify a user, for example, reduce the granularity, to identify a manager that has authorization to make a final determination of a value, etc.
  • a simple query system in accordance with the present system, which heretofore was unavailable to the user of the business process management tools.
  • related user identifications may be rendered, in response to a query, on a collaboration list.
  • systems and services that are also related may also be identified, for example, similar to the related users.
  • present query system be enabled to gather "process context", which is the element that enables a building of the collaboration list.
  • process context is the element that enables a building of the collaboration list.
  • user(s), system(s) and service(s) related to the same process context may be provided in response to a query.
  • the present system considers not only a single process, but also all of its "sub- processes", for example as described above related to Sam Smith's credit application, current asset assessment, a given asset, etc.
  • the process context extractor (e.g., see, FIG. 4, PCE 424) is a system that extracts process context from a BPM/Workflow system.
  • Process context may involve one or many process instances that BPM/Workflow system executes to achieve a common goal (e.g., evaluation of Sam Smith's credit application).
  • BPM/Workflow systems may allow definition of processes and sub-processes for composing executable processes (e.g., for modularizing the processes, sub-process etc., for example, for process reuse), it is possible that a single process execution( process instance) is divided into multiple process instances(for example, since a sub-process's instance is a separate instance from a parent process instance).
  • the function of process context extractor in accordance with an embodiment of the present system is to identify all the process instances and how they are related to each other to enable an identification of which process instances belong to the same process (context).
  • the processes may be organized into one or more sub-processes, etc.
  • BPM/Workflow systems execute these processes, the systems may invoke a process and that process may invoke its sub-processes. While all the processes, sub-processes, etc., may reside within a given system (e.g., server), it is also possible that BPM/Workflow systems invokes "remote" sub-processes on other systems that may not readily interact together.
  • the process context extractor e.g., see FIG. 4 provides a system to gather data from remote BPM/Workflow systems to generate a complete process context.
  • the complete process context may be determined dynamically (e.g., continuously as changes occur, periodically, etc.) and/or may be determined as a result of a query.
  • process context extractor of an embodiment of the present system may identify the relationship between task(s), process instances, process context, and resources.
  • a process context may be related to one or more resources (resources are used to execute processes and may include users, user devices, applications, tools, etc.).
  • resources may be a human user, a document, a service, tool, etc.
  • Process context is related to one or many process instances which in turn, the process instance(s) may be related to one or more tasks.
  • the process context extractor extracts data from one or more BPM/Workflow system(s) to build a data model of task(s), process instance(s), process context, resource(s), and this information may be utilized to support a query, enable collaboration functions, etc.
  • a process context may be related to one or more resources. Theses resources may include, for example, subjects that may be used to execute one or more processes. Resources may include a user, a document, a service, etc.
  • Process context may be related to one or more process instances. Each process instance may be related to one more tasks.
  • each element may be viewed as a node of a hierarchical tree wherein each node corresponds to an element of the business process hierarchy.
  • the process context extractor may search through the hierarchical tree to find out a corresponding process context of a current work environment/task, and then search down through the hierarchical tree to discover all the related resources. For example, in supporting a querying operation, the context extractor may proceed from the querying resource (e.g., left-most resource of FIG. 7) through the upward arrow path to find out the corresponding process context of the current work environment/task. Thereafter, the context extractor may proceed down the hierarchical tree following the arrow path to discover all the related resources (e.g., the resources shown in hatched boxes).
  • the querying resource e.g., left-most resource of FIG. 7
  • the context extractor may proceed down the hierarchical tree following the arrow path to discover all the related resources (e.g., the resources shown in hatched boxes).
  • the process may continue to act 306. However, if the process determines that a contextual search has not requested, the process may repeat act 304.
  • the process may determine a current working environment. For example, the process may determine a current process, task, task instance, application (e.g., credit check application), related user(s), a current working group, status (e.g., closed, completed, in progress, open, etc.), etc. (e.g., see, FIG. 7). After completing act 306, the process may continue to act 308. During act 308, the process may generate a data model of contextual information which may correspond with the current working environment.
  • the process may extract data from one or more BPM/Workflow systems to form the data model of, for example, desired information such as, for example, information related to tasks, process instances, process contexts, resources, DMI, etc., which may be used to generate the data model of contextual information.
  • desired information such as, for example, information related to tasks, process instances, process contexts, resources, DMI, etc.
  • the process may continue to act 310.
  • the process may render the generated data model of contextual information that was generated in act 308.
  • the rendered data model may be rendered in a form of one or more collaboration lists as discussed above (e.g., see, FIG. 1 , recommend task area 108, user tools area 110, directory area 118 which may be rendered individually and/or as combined collaboration lists).
  • the result of the rendering may be an invitation to each user and a coordination of one or more (e.g., all) of related tools, systems, etc., to facilitate a collaborative conference session between the users.
  • collaboration tools may also be identified and/or provided to enable collaboration, for example, between users (e.g., instant message (IM) chatting tools may be provided/identified for users working on the same process context, shared documents, storage, etc.).
  • IM instant message
  • the collaboration tools may be identified by the process context extractor or may involve a further query into related resources (e.g., IM tool) which may not be a portion of the business process however may be identified as a common collaboration tool to the related users.
  • the present system may not only enable a user to select a phone service to initiate a teleconference between everyone related to a given task, instance, etc. (e.g., based on the granularity of the request), but in accordance with the present system, the process context extractor may also identify and/or make available to the related users, the other resources, such as tools, data, systems, etc., that are related to the given task, instance, etc.
  • FIG. 4 shows a schematic of an embodiment of the present system 400.
  • the system 400 may include one or more of a working environment management portion 402, a process context extractor (PCE) 424, one or more applications 404, one or more universal converters 406, one or more memories 408, one or more user interfaces (UIs) 412, and one more third party applications 416.
  • PCE process context extractor
  • the working environment management portion 402 may include, a PCE 424 which may communicate with one or more of the Ul 412, the memories 408, the one or more applications 404, and/or the third party applications 416 to obtain necessary information.
  • the PCE 424 may communicate with the one more third party applications 416 via, for example, the converter 406.
  • the one or more third party applications 416 may include various applications which may transmit and/or receive information in a format which may not be compatible with the PCE 424, for example provided by different vendors, such that the one or more third party applications 416 may not handshake and/or share data natively (e.g., as a function of the one or more third party applications 416). Accordingly, in the present example, the one or more third party applications 416 may include, for example, a credit score 416-A, a tax form application 416-B, an income verification application 416, an appraisal application 416-D, etc., which may receive information from and/or transmit information to the PCE via, for example, the converter 406.
  • the converter 406 may translate information received from the PCE 424 such that it the translated information is compatible with a desired one of the one or more third party applications 416. Accordingly, when the PCE 424 requests information (e.g., using a query, such as shown during act 304) from, for example, the credit score application 416-A, the converter 406 may translate the information received from the PCE 424 (e.g., the query) into a format which is suitable for the credit score application 416-A (e.g., a translated query).
  • the converter may translate this information (e.g., a response to the translated query) to a format that is suitable for the PCE 424.
  • the converter 406 may include information to determine suitable formats to translate information which is received from and/or transmitted to the one or more third party applications 416.
  • the converter 406 may use a look-up table to determine an appropriate translation.
  • the converter 406 may utilize a universally recognized (e.g., across each of the third party applications 416 and the converter 406) system to translate a query for given information to a universally recognized designation.
  • a query for a social security number may be translated to query "1" (e.g., a process, resource, data, etc., identification number) which is recognized by each of the third party applications 416 and the converter 406 as corresponding to a query for a social security number.
  • query "1" e.g., a process, resource, data, etc., identification number
  • this embodiment results in changes to each of the third party applications 416 to also recognize the universally recognized designation.
  • the PCE 424 and/or the converter 406 may know one or more of the nomenclature, structure, data system, etc., of one or more of the third party applications 416 to enable a direct translation from a nomenclature utilized by the PCE 424 to a nomenclature, etc., recognized by the third party applications 416 resulting in no need for the universally recognized designation.
  • FIG. 5 shows a schematic of an embodiment of the present system.
  • a system 500 may include one or more of a working environment management portion 502, a wireless server 504, one or more base stations (BSs) BS-1 and BS-2, a network 506, an external storage 510, user devices 508-1 - 508-n, global positioning system (GPS) transmitter(s) 522, and mobile stations (MSs) MS-1 - MS-m.
  • BSs base stations
  • GPS global positioning system
  • MSs mobile stations
  • Each of the BSs may include a corresponding service area SA-1 and SA-2, respectively, and may communicate with one or more MSs in a corresponding service area using any suitable method and/or combinations thereof (e.g., TDMA, CDMA, GSM, Bluetooth, WiMax, WiFi, wired, optical, etc.).
  • the working environment management portion 502 may include one or more of a BPM/Workflow component 512, a browser/desktop (BD) execution environment 514, a co-ordination component 518, one or more storage devices 516, a process context extractor (PCE) 524, a collaboration tool (CT) 526, and a controller 520.
  • the controller 520 may include one or more controllers one or more of which may be located locally and/or remotely from the others. The controller 520 may control the overall operation of the working environment management portion 502.
  • the storage 516 may store one or more of operating tools of the present system (e.g., applications, widgets, instance data, etc.), data generated by the present system, and/or user information (e.g., user preferences, user identification (ID), user passwords, user logins, employment information, etc.), BPM information, task information, etc.
  • the storage 516 may include any suitable storage device or devices such as, for example, a read only memory (ROM), a random access memory (RAM), an optical memory, a flash memory, a disc storage, a SAN, etc.
  • the BPM workflow component 512 may be responsible for, among other things, tracking relationships of tasks (e.g., by type, instance, user, etc.), tracking projects, executing business processes workflows and managing the assignment of tasks to one or more users.
  • the BPM workflow component 512 may perform one or more tasks such as, for example, parse workflow information, load/retrieve worker information from the storage 516, extract tasks from the workflow, and/or match tasks to available users (workers, etc.), and assign tasks to users.
  • the browser/desktop execution environment 514 may provide tools such as, for example, applications, widgets, etc., user interfaces (Ul), etc. to run independently on a common area.
  • the tools may be initially assigned by the system 502 and/or may be selected by a user or users.
  • As the ability to run different widgets or application UIs in a common window is well known in the art (e.g., see, iGoogleTM or NetvibesTM), for the sake of clarity it will not be discussed further herein.
  • the PCE 524 may extract process context from BPM/Workflow system.
  • the process context may include one or more process instances that the BPM/Workflow system may execute to achieve a common goal (e.g., to complete a process).
  • the BPM/Workflow system may define processes and/or sub- processes for composing executable processes (e.g., to enhance process reuse), it is envisioned that a process execution (e.g., which may include a process instance) may be divided into multiple process instances. For example, a process instance may be divided into multiple process instances when a sub-process instance is a separate instance from its parent process instance.
  • the PCE 524 may determine and/or find all the process instances and/or determine a relation between them.
  • This PCE 524 may include one or more PCEs which may be located at one or more locations (e.g., remotely).
  • the PCE 124 may include a "process monitoring" function to monitor one more processes which may be performed using one or more BPM systems.
  • the PCE 524 may generate information that may be used to identify and/or find one or more process contexts. This information may be stored in one or more suitable memories such as, for example, storage 516, and/or a remote storage which, for example, may include a storage device of a remote BPM system. Accordingly, one or more BPM systems may communicate with each other to obtain and/or exchange information related to, for example, one more business processes.
  • the PCE 524 may also manage the relationship between one or more tasks, process instances, process contexts, and/or resources as discussed above.
  • the PCE 524 may extract data from one or more BPM/Workflow systems and may build a data model of, for example, tasks, process instances, process contexts and/or resources, and store this data model in a memory of the system. This data model may then be used to enable one or more collaboration functions which may be provided by, for example, the CT 526.
  • the CT 526 may include one or more collaboration tools which may provide a collaboration function, such as, a chatting function, a document sharing function, a graphics sharing function, a spreadsheet sharing function, etc.
  • the CT 526 may include, for example, a chatting tools (e.g., instant messaging, teleconference, etc.) to enable users (e.g., users working on the same process context, etc.) to communicate and/or share information (e.g. documents, data, tools, etc.) with each other.
  • a chatting tools e.g., instant messaging, teleconference, etc.
  • users e.g., users working on the same process context, etc.
  • information e.g. documents, data, tools, etc.
  • one or more CT 526 may be provided to access and/or store documents, files, etc., using the PCE 524 which may determine and/or access resources corresponding with (e.g., related to) one or more current tasks.
  • the coordination component 518 may operate under the control of the controller 520 and may synchronize and/or coordinate the functions between one or more of the BPM/Workflow component 512, the PCE 524, the CT 526, and/or the browser/desktop execution environment 514.
  • the system 500 may generate and/or assign tasks to individuals and/or provide a personalized working environment and dynamically associate tasks assigned to individuals with the personalized working environment for individuals. Each task may correspond with one or more projects.
  • the system 500 may receive location information regarding the one or more MSs (Ms-1 - MS-m) and assign tasks to user's based upon a geophysical location of an MS (e.g., a user's MS). For example, in mobile environment, a user of an MS may be a traveling. The system 500 may, determine the geophysical location of the user's MS and assign a task to the user based upon the determined position. For example, if the system 500 determines that a task may require a user to be located at a certain position (e.g., at a certain location or address), the task may assign this task to, a user who may be able to reach the certain position at a given time (e.g., a nearest user, etc.).
  • a geophysical location of an MS e.g., a user's MS
  • a user's MS may be a traveling.
  • the system 500 may, determine the geophysical location of the user's MS and assign a task to the user based upon the determined position
  • the system may include least-traveling-distance functions, and the like, to determine how to assign one or more tasks.
  • the system 500 may determine a geophysical location using any suitable method such as, for example, GPS transmissions, assisted GPS (A-GPS), triangulation, base station ID, etc.
  • the system 500 may also await a user's confirmation when assigning tasks and may reassign tasks or notify certain user's (e.g., managers), if, for example, a confirmation for a certain task is not received from a user.
  • the external storage 510 may store information similar to the storage 516 and/or may include any suitable storage device or devices as described elsewhere.
  • the external storage may store one or more external applications (e.g., tools), etc., that may be used by the present system.
  • the external storage 510 may communicate with other components via any suitable method such as, for example, the network 506.
  • the user devices 508-1 - 508-n may include any suitable computational device which may provide a user interface.
  • the user devices 508-1 - 508-n may include workstations, etc.
  • the user devices 508-1 - 508-n may communicate with each other and/or the working environment management 502 any suitable method.
  • the user devices 508-1 - 508-n may communicate with each other and/or the working environment management portion 502 using one or more networks such as, for example, the network 506.
  • the user devices 508-x may include any suitable device for rendering a Ul of the present system.
  • the user devices 508-x may be the same type of device or one or more may be different types, classes, etc., devices, such as desktop system, smartphone, etc.
  • the working environment management portion 502 may communicate with the one mobile stations MS-1 - MS-m via the wireless server 504 and corresponding stations BS-1 and BS-2. However, a wired connection may also be used.
  • the mobile stations (MS-1 -MS-m) may include similar functions as provide by the user devices 508- x. Accordingly, the mobile stations (MS-1 -MS-m) may render a Ul for a user's convenience.
  • the network 506 may include, any suitable network such as, may include one or more of a wide area network (WAN), a local area network (LAN), a proprietary network, the Internet, an intranet, etc.
  • the mobile stations (MS-1 - MS-m) may be coupled to the network 506.
  • the present system provides a personalized collaborative working environment for users who have tasks assigned to them. These tasks may be automatically determined and/or assigned by an information technology (IT) system such as a BPM or workflow system.
  • This working environment may include various applications and/or features needed to perform the task which is assigned to the user.
  • the system may also keep track of task, working environment, and/or their respective instances (e.g., a-task instance and/or working environment-work-in-progress data, etc.) and a relationship among them for each user, task, instance, group, etc. Accordingly, workplace efficiency may be enhanced.
  • the wireless server 504 may include components to communicate with, for example, wireless stations such as the MS-1- MS-m, using any suitable method.
  • the wireless server 504 may include one or more wireless servers, base stations, etc., and may communicate to, for example, the working environment management portion 502 using any suitable method such as, for example, a wired and/or wireless connection, the network 506, etc.
  • the (GPS) transmitter(s) 522 may communicate with one or more of the MSs (e.g., MS-1 - MS-m), the working environment management portion 502, the UIs (e.g., 508-1 - 508-n), the wireless server, and/or other portions of the present system using any suitable method.
  • FIG. 6 shows a system 600 in accordance with a further embodiment of the present system.
  • the system 600 includes a user device 690 that has a processor 610 operationally coupled to a memory 620, a rendering device 630, such as one or more of a display, speaker, etc., a user input device 670 and a server 680 operationally coupled to the user device 690.
  • the memory 620 may be any type of device for storing application data (e.g., process context extractor, collaboration tools, business process management tools, etc.) as well as other data, such as task data, instance data, workflow data, etc.
  • the application data and other data are received by the processor 610 for configuring the processor 610 to perform operation acts in accordance with the present system.
  • the operation acts include controlling at least one of the rendering device 630 to render one or more of the GUIs, to render BPM related data, to support a query, etc.
  • the user input 670 may include a keyboard, mouse, trackball or other devices, including touch sensitive displays, which may be stand alone or be a part of a system, such as part of a personal computer, personal digital assistant, mobile phone, converged device, or other rendering device for communicating with the processor 610 via any type of link, such as a wired or wireless link.
  • the user input device 670 is operable for interacting with the processor 610 including interaction within a paradigm of a GUI and/or other elements of the present system, such as to enable interaction with the present system, queries, such as provided by left and right clicking on a device, a mouse-over, pop-up menu, etc., such as provided by user interaction with a computer mouse, etc., as may be readily appreciated by a person of ordinary skill in the art.
  • the rendering device 630 may operate as a touch sensitive display for communicating with the processors 610 (e.g., providing selection of a web browser, a Uniform Resource Locator (URL), portions of web pages, etc.) and thereby, the rendering device 630 may also operate as a user input device. In this way, a user may interact with the processor 610 including interaction within a paradigm of a Ul, such as to support querying, etc.
  • the processors 610 e.g., providing selection of a web browser, a Uniform Resource Locator (URL), portions of web pages, etc.
  • the user device 690, the processor 610, memory 620, rendering device 630 and/or user input device 670 may all or partly be portions of a computer system or other device, and/or be embedded in a portable device, such as a mobile station (MS), mobile telephone, personal computer (PC), personal digital assistant (PDA), converged device such as a smart telephone, etc.
  • MS mobile station
  • PC personal computer
  • PDA personal digital assistant
  • the user device 690, corresponding user interfaces and other portions of the system 600 are provided for operation within a BPM system as may be readily appreciated including interaction between the user device 690 and the server 680.
  • the methods of the present system are particularly suited to be carried out by a computer software program, such program containing modules corresponding to one or more of the individual steps or acts described and/or envisioned by the present system.
  • a computer software program such program containing modules corresponding to one or more of the individual steps or acts described and/or envisioned by the present system.
  • Such program may of course be embodied in a computer-readable medium, such as an integrated chip, a peripheral device or memory, such as the memory 620 or other memory coupled to the processor 610.
  • the computer-readable medium and/or memory 620 may be any recordable medium (e.g., RAM, ROM, removable memory, CD-ROM, hard drives, DVD, floppy disks or memory cards) or may be a transmission medium utilizing one or more of radio frequency (RF) coupling, Bluetooth coupling, infrared coupling, wired coupling, etc. Any medium known or developed that can store and/or transmit information suitable for use with a computer system may be used as the computer-readable medium and/or memory 620.
  • RF radio frequency
  • the computer-readable medium, the memory 620, and/or any other memories may be long-term, short-term, or a combination of long-term and short-term memories. These memories configure processor 610 as a special purpose processor to implement the methods, operational acts, and functions disclosed herein.
  • the operation acts may include controlling the rendering device 630 to render elements in a form of a Ul and/or controlling the rendering device 630 to render other information in accordance with the present system.
  • the memories may be distributed (e.g., such as a portion of the content server 680) or local and the processor 610, where additional processors may be provided, may also be distributed or may be singular.
  • the memories may be implemented as electrical, magnetic or optical memory, or any combination of these or other types of storage devices.
  • the term "memory" should be construed broadly enough to encompass any information able to be read from or written to an address in the addressable space accessed by a processor. With this definition, information on a network is still within memory 620, for instance, because the processor 610 may retrieve the information from the network for operation in accordance with the present system. For example, a portion of the memory as understood herein may reside as a portion of the server 680.
  • the server 680 should be understood to include further network connections to other devices, systems (e.g., servers), etc. While not shown for purposes of simplifying the following description, it is readily appreciated that the server 680 may include processors, memories, displays and user inputs similar as shown for the user device 690, as well as other networked servers, such as may host business process tools, etc. Clearly, the user device 690 may also comprise common portions to one or more of the working environment management portion and other portions of the present system (shown generally as server 680 in FIG. 6) and as such, a separate description of these portions is not further addressed other than to point out that clearly the working environment management portion, etc., may also comprise a processor, memory, rendering device, etc. Accordingly, while the description contained herein focuses on details of interaction within components of the user devices 690, it should be understood to similarly apply to interactions of components of the server 680.
  • the processor 610 is capable of providing control signals and/or performing operations in response to input signals from the user input device 670 and executing instructions stored in the memory 620.
  • the processor 610 may be an application- specific or general-use integrated circuit(s). Further, the processor 610 may be a dedicated processor for performing in accordance with the present system or may be a general-purpose processor wherein only one of many functions operates for performing in accordance with the present system.
  • the processor 610 may operate utilizing a program portion, multiple program segments, or may be a hardware device utilizing a dedicated or multi-purpose integrated circuit.
  • the user device 690, corresponding user interfaces and other portions of the system 600 are provided for rendering tasks, browsing content, selecting content, providing reaction indications, reaction indication palettes, etc., and for transferring the information related to the tasks, content and reaction indications, tallied reaction indications, etc., between the user device 690 and the content server 680.
  • the present system may dynamically assign job tasks to an individual or a group of individuals and then, dynamically associate the job tasks assigned to individuals with a personalized working environment, including further operation as described herein.
  • the present system may be utilized to determine the presence of distinguishing information such as a watermark and push content which corresponds with the detected watermark and/or the user profile information.
  • the present system may be provided in a form of a content rendering device, such as a MS.
  • a further embodiment of the present system may provide a Ul that operates as a browser extension, such as a rendered browser toolbar, that can build a content rendering playlist, such as a video playlist.
  • the present system may push predetermined content while a user is browsing the Internet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

A method of providing a user interface (Ul), including setting a working environment including a plurality of applications in accordance with a business process task assigned to a user of a plurality of users. A current state of the working environment is determined, a process context is extracted based upon the current state of the working environment, resources are identified based on the process context, and results of the identifying are rendered. Determining a current state of the working environment may include identifying at least one of a current task and an application corresponding with the working environment.

Description

SYSTEM FOR DYNAMICALLY CONFIGURING TASK-BASED COLLABORATIVE ENVIRONMENT AND METHOD OF OPERATION THEREOF
FIELD OF THE PRESENT SYSTEM:
The present system relates to at least one of a system, method, user interface, and apparatus to provide a task-oriented working environment and providing a dynamic collaborative task-oriented user interface (Ul) based on workflow information. BACKGROUND OF THE PRESENT SYSTEM:
Typically, in an enterprise environment, a business process or project may be described using a sequence of steps known as tasks which may define a workflow. The tasks may include essential tasks which must be completed before the business process or project may be considered to be complete. In today's technologically- complex environment, in order to complete business processes or projects or other goals in a timely and efficient manner, more and more enterprises are increasingly relying upon using information technology (IT) systems, such as business process management systems (BPMs) or workflow systems (WSs), to manage the execution of their business processes or projects by assigning tasks to individual workers and tracking and/or monitoring their progress based on a pre-defined process model.
In a typical enterprise environment, many enterprise workers contribute to the enterprise by performing daily operations such as completing tasks that are assigned to the workers by information technology systems. These IT systems may use BPM and/or workflow applications, to create tasks and/or assign these tasks to workers. When tasks are assigned, the IT systems typically notify workers of these tasks. For example, the workers will typically receive notification of a task at their task inbox. When workers open their task, they will usually see some description of the task and a form to submit information back when they complete the task. The IT systems can typically track when, and to whom, a task was assigned. When individual workers report that their tasks are completed, the IT systems can create or select new tasks to assign to the workers according to the design of the business process model.
However, conventional IT systems, such as BPM and workflow systems, do not provide a method for user's (e.g., user's who are processing one or more tasks of a BPM) to easily and conveniently collaborate and/or share information with each other. Accordingly there is a desire to provide a system, method, user interface, and apparatus to provide a task-oriented working environment and providing a dynamic collaborative task-oriented user interface (Ul) based on workflow information. SUMMARY OF THE PRESENT SYSTEM:
It is an object of the present system to overcome disadvantages and/or make improvements in the prior art.
The present system includes one or more of a system, method, device, computer program, and interface for rendering a user interface (Ul) for collaboratively working on a task of a plurality of tasks of a workflow. The workflow may correspond with, for example, a business workflow such as a BPM workflow.
According to an aspect of the present system, there is provided a method of providing a user interface (Ul), including setting a working environment including a plurality of applications in accordance with a business process task assigned to a user of a plurality of users, determining a current state of the working environment, extracting a process context based upon the current state of the working environment, identifying resources based on the process context, and rendering results of the identifying. Determining a current state of the working environment may include identifying at least one of a current task and an application corresponding with the working environment.
Identifying resources may include querying a plurality of systems utilizing a universally recognized designation that identifies a query term in a form that is identifiable by each of the plurality of systems and that is not natively recognized and operated on by the plurality of systems. The resource may include one or more of a user, an application, a processing device, and a storage device. The method may include determining whether a user has requested to collaborate with a further user of the plurality of users.
Further, a collaboration tool may be identified based on the rendered results. A collaboration function may be established in response to the identified collaboration tool. Establishing the collaboration function may include rendering a list of related users from the plurality of users based on the extracted process, rendering a list of related applications based on the extracted process, and rendering a list of collaboration tools based on collaboration tools available to the related users. Establishing the collaboration function may include connecting the related users together utilizing at least one of the list of collaboration tools and providing one or more of the related users use of one or more of the related applications during the collaboration function.
In an embodiment of the present system, a security level may be set for access to data during extracting and identifying. The security level may be based on one or more of a users security level, the security level of a tool operated on by the user and the tools assigned security level, and the business process task and the tasks assigned security level. In addition, a search may be performed for information not yet entered within the business process task based on the extracted process context. The results of the search may be rendered, such as displayed.
BRIEF DESCRIPTION OF THE DRAWINGS:
The present system is explained in further detail, and by way of example, with reference to the accompanying drawings wherein:
FIG. 1 shows a Ul in accordance with an embodiment of the present system; FIG. 2A shows a context information window in accordance with an embodiment of the present system;
FIG. 2B shows a context information window in accordance with an embodiment of the present system;
FIG. 2C shows a Ul which illustrates a process relationship in accordance with a further embodiment of the present system;
FIG. 3 shows a flow diagram that illustrates a process in accordance with an embodiment of the present system;
FIG. 4 shows a schematic of an embodiment of the present system; FIG. 5 shows a schematic of an embodiment of the present system; FIG. 6 shows a system in accordance with a further embodiment of the present system; and
FIG. 7 shows an example of a relationship between business process elements in accordance with an embodiment of the present system. DETAILED DESCRIPTION OF THE PRESENT SYSTEM: The following are descriptions of illustrative embodiments that when taken in conjunction with the following drawings will demonstrate the above noted features and advantages, as well as further ones. In the following description, for purposes of explanation rather than limitation, illustrative details are set forth such as architecture, interfaces, techniques, element attributes, etc. However, it will be apparent to those of ordinary skill in the art that other embodiments that depart from these details would still be understood to be within the scope of the appended claims. Moreover, for the purpose of clarity, detailed descriptions of well known devices, circuits, tools, techniques and methods are omitted so as not to obscure the description of the present system. It should be expressly understood that the drawings are included for illustrative purposes and do not represent the scope of the present system. In the accompanying drawings, like reference numbers in different drawings may designate similar elements.
For purposes of simplifying a description of the present system, the terms "operatively coupled", "coupled" and formatives thereof as utilized herein refer to a connection between devices, elements, etc., and/or portions thereof that enables operation in accordance with the present system. For example, an operative coupling may include one or more of a wired connection and/or a wireless connection between two or more devices that enables a one and/or two-way communication path between the devices, elements, etc., and/or portions thereof. For example, an operative coupling may include a wired and/or wireless coupling to enable communication between a server and one or more user devices. A further operative coupling, in accordance with the present system may include one or more couplings between two or more user devices, such as via a network source, such as the server, in accordance with an embodiment of the present system. Elements may also be operatively coupled together in accordance with the present system.
The term rendering and formatives thereof as utilized herein refer to providing data such that it may be perceived by at least one user sense, such as a sense of sight and/or a sense of hearing. For example, the present system may render a user interface on a display device so that it may be seen and interacted with by a user. Further, the present system may render data on both of a device that renders audible output (e.g., a speaker, such as a loudspeaker) and a device that renders visual output (e.g., a display). To simplify the following discussion, the terms data, information, etc., and formatives thereof will be utilized and should be understood to include any data and/or information that may be provided by a user and/or may be provided by operation of the present system.
The system, device(s), method, user interface, etc., described herein address problems in prior art systems. In accordance with an embodiment of the present system, a system, method, device, computer program, and interface for rendering a Ul for a users convenience. The Ul may include one or more applications which are necessary to complete an assigned task. The method may include an act of accessing user profile information including stored task information for one or more users of a plurality of users. The method may also include an act of assigning a task of a plurality of tasks to a user of the plurality of users. The method may further include an act of determining whether the assigned task corresponds with the stored task information for the user. The method may also include an act of setting a working environment based upon the determination. Further, the method may include an act of rendering the set working environment using the Ul. The task may be selected from a plurality of tasks. The method may also determine the tasks from a workflow. The method may also assign tasks to two or more users. In addition, the present system may collect other statistics related to the user and/or user device in accordance with the present system, such as a relative time of an action, geo-location, network, detected content item, etc.
The user interaction with and manipulation of the computer environment is achieved using any of a variety of types of human-processor interface devices that are operationally coupled to the processor controlling the displayed environment. A common interface device for a user interface (Ul), such as a graphical user interface (GUI) is a mouse, trackball, keyboard, touch-sensitive display, etc. For example, a mouse may be moved by a user in a planar workspace to move a visual object, such as a cursor, depicted on a two-dimensional display surface in a direct mapping between the position of the user manipulation and the depicted position of the cursor. This is typically known as position control, where the motion of the depicted object directly correlates to motion of the user manipulation. An example of such a GUI in accordance with an embodiment of the present system is a GUI that may be provided by a computer program that may be user invoked, such as to enable a operation within a business process management system. To facilitate interaction within the present environment, the GUI may provide different views that are directed to different portions of the present process.
For example, the GUI may present a typical Ul including a windowing environment and as such, may include menu items, pull-down menu items, pop-up windows, etc., that are typical of those provided in a windowing environment, such as may be represented within a Windows™ Operating System GUI as provided by Microsoft Corporation and/or an OS XTM Operating System GUI, such as provided on an iPhone™, MacBook™, iMac™, etc., as provided by Apple, Inc., and/or another operating system. The objects and sections of the GUI may be navigated utilizing a user input device, such as a mouse, trackball, finger, and/or other suitable user input. Further, the user input may be utilized for making selections within the GUI such as by selection of menu items, window items, radio buttons, pop-up windows, for example, in response to a mouse-over operation, and other common interaction paradigms as understood by a person of ordinary skill in the art.
Similar interfaces may be provided by a device having a touch sensitive screen that is operated on by an input device such as a finger of a user or other input device such as a stylus. In this environment, a cursor may or may not be provided since location of selection is directly determined by the location of interaction with the touch sensitive screen. Although the GUI utilized for supporting touch sensitive inputs may be somewhat different than a GUI that is utilized for supporting, for example, a computer mouse input, however, for purposes of the present system, the operation is similar. Accordingly, for purposes of simplifying the foregoing description, the interaction discussed is intended to apply to either of these systems or others that may be suitably applied.
FIG. 1 shows a Ul 100 in accordance with an embodiment of the present system. The Ul 100 may include a GUI in accordance with an embodiment of the present system. The Ul 100 corresponds with a user defined working environment (that may correspond with an initial Ul that may have been defined by the system) and is provided in accordance with a task (e.g., a task of a business process model) which may be assigned to a user by the present system. The task may be selected by the system from a plurality of tasks of a workflow process. Further, the task may correspond with a specific business process task (e.g., BPT). The Ul 100 may include one or more of windows, frames, menus, title bars, applications, tasks, links, widgets, and/or features (hereinafter "tools") that are selected by the system in accordance with the current task so that the user may focus upon tasks in the current window. For example, the Ul 100 may include tools which may include one or more windows such as a main window 102, a work area 106, a recommend task area 108, a user tools area 110, a directory area 118, a time area 116, an efficiency area 112, a save area 120, an other task area 114. Each of the tools may include, for example, a frame, menus, and/or a title which describes the area. For example, the main window 102 may include a title 102 -T, the work area 106 may include a title 106-T, etc. Each title may describe an appropriate area and may be initially set by the system in accordance with the BPT.
The main window 102 may include one or more of the work area 106, the recommend task area 108, the user tools area 110, the directory area 118, the time area 116, the efficiency area 112, the save area 120, and the other task area 114, if desired. Further, each of these areas may be maximized, minimized, and/or closed as may be typical in a windows operating environment.
The system may provide the capability to drag and drop tools into any tool so as to syndicate information distributed by different sources. As used herein, a frame located within another frame may be referred to as a subframe. Likewise, any window in another window may be referred to as a subwindow. The sources may include the one or more of applications including, for example, windows, menus, titlebars, applications, tasks, links, widgets, and/or features that are selected by the system in accordance with a corresponding task. For example, with respect to the work area 106, a plurality of tools (e.g., applications, widgets, etc.,) such as for example, a browser application (e.g., IE, Firefox, etc.) 106-1 , a credit check application 106-2, a report application 106-3, a word processor (e.g., MS Word) 106-4, a widget application 106-6, a context application 106-9, and/or other applications 106-N may operate together in the work area 106. Each of the applications 106-1 through 106-N may be linked to share data with each other. The links may be established by the system in accordance with the task and/or user selections. Thus, for example, information which is generated by the credit check application 106-2 and the word processor 106-4 may be sent to the report application 106-3 which may then prepare a corresponding report for later use. This report may then be stored by the system in a database or other memory.
The recommend task area 108 may include a list of one or more recommended tools such as GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features (hereinafter features 108-F) that a user may select for use. For example, the user may copy or drag one or more of the features 108-F to another window (or frame) such as, for example, the work area 106, the efficiency area 112, etc. This process will be known as "selecting the tool." The user may also set one or more links to other windows, menus, titlebars, applications, tasks, links, widgets, data, values, and/or features in the GUI 100, as is known in the art. The user may copy or drag a tool to a certain area such as, for example, the main window 102 or another window in which the tool may be active.
The features 108-F may be selected in accordance with the BPT and/or user characteristics. For example, if the system determines that the user has a certain handicap, then certain accessibility options (e.g., a text to speech (TTS) and/or speech to text (STT) applications may be provided.
The user tools area 110 may include tools such as one or more GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, that the system determines the user may need. For example, the system may determine that the user is likely to use one or more GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, based upon previous history. For example, the system may determine GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, that are most likely and/or most recently used by the user. The system may determine this using, for example, heuristic analysis, that may use as an input the times and/or types of GUIs, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features, used by the user. As heuristic analysis is known in the art, for the sake of clarity, it will not be discussed. Moreover, a user preference list associated with the user may also be used to determine the contents of the user tools area 110.
The directory area 118 may include options to obtain information about, share and/or collaborate with other business process resources. These business process resources may include, for example, subjects that may execute one or more processes of the present system, one or more systems that may execute certain business processes (e.g., a business process (or a related process or part) of the present system. Further, the subjects may include user associated with a business process. For example, the business process resources may include a one or more of a persons directory which corresponds with the current process, an application (or tool), a business group, etc. The business group may include, for example, a project directory. The project directory may show groups, leaders, tasks, etc, which may be related to one or more business groups, business processes, tasks, etc. The current user's (e.g., "John") name may be highlighted. The user may select certain elements in the directory for more information. For example, selecting "Group 2" may expand the directory tree and/or show one or more of a hierarchy of this group, tasks, completion levels, expected and/or actual completion times of tasks, names of members, etc. Further, a person in the directory may be selected for a communication exchange and/or to share information related to a current business process, task and/or application. Thus, the system may determine information to be communicated and/or exchanged contextually based upon information such as, a current task, work in progress (WIP) data, active applications (e.g., see, 106-2 — credit check application), etc. This information may be useful when navigating through groups of employees and/or scheduling tasks. The system may use the expected and/or actual completion times to schedule new tasks or provide updates to others (e.g., managers, directors, persons who are working on a task which depends upon another task being performed/completed, etc.). The system may set a security level and/or an (information) access level for each user. Accordingly, the system may provide certain information (e.g., group information, employment statistics for a plurality of workers such as pay, security level, efficiency/productivity, etc.) to a manager, while providing an employee with project work related information so that a worker can accomplish a certain task. Thus, each user may have a certain security level and the system may determine what the user is allowed to see based on one or more of a user's security level and/or a tool's assigned security level. The security level may be a numerical system such as, for example, a 1 granting access to all information, a 2 having access to more limited information, and a 10, which is the most restrictive, may have access just to information which must be accessed by an employee. These levels may be associated with a user's status, for example, a 1 may assigned to an executive of the company who can view all information, a 3 may be assigned to a manager who may access certain information related to the managers department, a 7 may assigned to an associate such as, for example, an processor so that this associate may access loan applications related to the processor's department, a 10 may be assigned to a receptionist who can access employee's telephone numbers and associated customers. Further, these levels may be associated with a tool and/or task to ensure that a user authorized to use a given tool and/or task is provided a sufficient security access level to gain access to data, resources, etc., necessary for use of the tool and/or task. The security levels may be set by a security department etc., as desired.
The time area 116 may include various times which may be displayed for the user's convenience. However, this information may also be used by the system to schedule tasks, determine efficiencies of persons/groups, for accounting, etc. The system may also save this information in a database in accordance with one or more of user information (e.g., user identification (ID)), group information, task information, etc., for later use.
The efficiency area 112 may be used to display a user's and/or group's efficiency. Efficiency information may also be presented in a graphic form for a user's convenience. The information in this area may be calculated by the system (e.g., using information from the time area, directory area, etc.), and may be stored in a database in accordance with one or more of user information (e.g., user identification (ID)), group information, task information, etc., for later use.
The other tasks area may 114 may display a list of other tasks that may be assigned to the user or which the user may have finished. Accordingly, the user may select another task in order to switch to that task. For example, in the current window shown in FIG. 1 A, if the user wishes to switch from "Smith's" loan to "Morgan's" loan, all the user would have to do is select (e.g., by highlighting, clicking on, etc.) Morgan. This process may be known as switching working environments and is more clearly illustrated with reference to FIG. 2C where a working environment corresponding with the Morgan loan task is shown.
For the sake of clarity, the various Ul elements, windows, menus, titlebars, applications, tasks, links, widgets, instances, and/or features of the Ul 100A may be referred to as tools. When the user selects the tool, the system may remember this selection using various methods as will be described below with regard to a save option such as those shown in the save area 120. Each tool may have one or more initial settings or instances which may be set by the system in accordance with, for example, the process. For example, using the initial setting, a menu may have certain submenus, a widget such as, for example, a text entry box, may be blank or have certain text entered, a radio box may have certain buttons selected, and a browser may have a default home page. Thereafter, the user may change the default settings or instances. For example, a user may add/change text in a widget such as a text entry box, may change/select a default web page of a browser, or add data to a word processor, a spreadsheet, etc. This information may be referred to as user state information which may include, for example, instance values that may be entered by the user. Further, the instances may include, for example, WIP data.
The save area 120 may be used to select and/or save various tasks in accordance with the present system. The save area may include one or more save options such as, for example, three saving levels: a level one (L1) 126, a level two (L2) 124, a (L3) level three 122, a user defined save (which may be set by the user, etc.), a context save, etc., save selections. Further, the present system may provide a user- defined save option. These selections may be used for preserving tasks and the working environment of Ul 100 (sets of application tools) of the tasks. Further, a save now selection may be used to save and/or exit a task depending upon configuration. The L1 126 save option may be available at all times. However, the L2 124 and L3 122 save options may be disabled depending upon state. For example, with reference to FIG. 1 , a task (instance) has not been assigned to a user yet. Accordingly, the L2 124 and L3 122 save options may be disabled. The context save selection may save contextual searching parameters (e.g., a type of search, instance information of a search query, systems to be searched, etc. , which may be selected/deselected, etc., by a user of a contextual search query).
The context application 106-9 may include settings which may be set by the user and/or the system. For example, the context application 106-9 may include menu items such as, for example, an obtain information menu item 106-9A, a share information menu item 106-9B, and/or a directory menu item 106-9C. Selecting one of these menu items may cause the process of the present system to perform at least part of a contextual search, for example, using a process context extractor (PCE), etc., to obtain, share, and/or render various information. The contextual search may automatically obtain and/or share information and/or may request further user input based upon a user's current process, task, and/or application. For example, when accessing the credit check application 106-3 for the Smith instance, a user may decide to contextually obtain information. Accordingly, the user may select the obtain information menu item 106-9 to obtain certain information based upon context. Accordingly, the system may contextually determine desired information using information such as, for example, one or more of current application information, task information (e.g., loan application (current), house appraisals, etc.), task instance information (e.g., Smith instance), WIP data, etc., and determine appropriate data to query for, obtain, generate, and/or share. Several examples of obtaining and/or sharing information using the context application 106-9 of FIG. 1 will be described below with reference to FIGs. 2A-2B.
Referring back to FIG. 1 , assuming a user is in the Smith task instance and has selected the credit check application 106-2 and that the user desirers to obtain information that has not been entered in the current application corresponding with the current instance (e.g., the Smith instance) such as, for example, name information (e.g., Sam Smith — or parts thereof) and/or Social Security (SS) information (e.g., 123-45- 6789 or parts thereof), the user may select the obtain information menu item 106-9A to contextually obtain this information. Thus, upon detecting the selection of the obtain information menu item 106-9, the system may perform a contextual search for information that the system has determined was not entered in relation to the current application (e.g., the credit check application 106-2 corresponding with the Smith instance) and/or task instance. Accordingly, the system may contextually determine which information is requested (e.g., information which has not been entered or selected in the present example). For example, assuming that the user has not yet entered Smith's name and SS number, the system may contextually detect this using any suitable method (e.g., detecting empty input entries, unselected radio buttons, check boxes, widgets, etc.). Thus, the system may determine empty input areas such as, for example, text entry boxes, text selection boxes, drop down lists, widgets, radio buttons, etc., which may be associated with the presently selected application (e.g., the credit check application 106-2). Moreover, the system may detect selections which have not yet selected by a user such as, for example, radio boxes, check boxes, etc., which may be associated with the selected application (e.g., the credit check application 106-2). Further, the system may detect other types of inputs which are associated with the present application and have not been entered and/or selected. Further, it is also envisioned that the system may determine empty input areas which are associated with the present task (e.g., the Smith instance).
After determining the type of information which is requested, the system may determine one or more locations of desired information using any suitable method. For example, the system may use an identification (ID) system which may associate an ID (e.g., a location ID) with a corresponding information element (e.g., file, user name, task, task instance, associated information, etc.). This ID may correspond with a customer (e.g., Smith), a task (e.g., the Smith instance), a series of related tasks (e.g., Smith's loan) which may include a plurality of related task instances, etc. Thus, a common identification (e.g., a numerical identification, an alphabetical identification, etc.) may be generated by the system and associated with corresponding information that is saved. This ID may be saved in association with a customer, a task, an instance, etc., and may be referred to in order to determine one or more locations of desired information associated with the ID. The system may further include an ID memory such as, for example, an ID database or other suitable memory, which may store locations of desired information. Thus, in the present example, the system may refer to the location ID to determine one or more locations of information associated with the Smith instance. Then, the system may query these locations for the desired information (e.g., Name and/or SS information related to the Smith instance in the present example).
However, it is also envisioned that the system may transmit a query to one or more systems to determine whether these systems store any desired information (e.g., information related to the Smith instance). The system may then parse this information to obtain information related to the present application context (e.g., the Smith instance).
Once the system obtains the desired information (e.g., information related to the Sam Smith instance in the present example), the system may render the information. The desired information may be rendered in a separate application, window, widget, text box, etc., or may be rendered in the corresponding application. This will be described with reference to reference to FIGs. 2A and 2B. FIG. 2A shows a Ul 200A and FIG. 2B shows a Ul 200B, each of which illustratively relates to the Ul of FIG. 1.
With reference to FIGs. 1 and 2A, assuming that certain information (i.e., desired missing information (DMI)) such as, for example, WIP information, name and/or SS number information (e.g., Sam Smith and 123-45-6789, respectively) were not entered in a current application, such as the loan application discussed herein. Although in FIG. 1 , the Name and Security is illustratively shown filled in, one or more of these fields of the current task (e.g., the Smith instance) may be blank (e.g., not yet filled in). Then, in accordance the present system, when a user requests this information (e.g., by selecting the obtain information menu item 106-9A), the system may contextually determine the desired information based upon one or more of the current task, task instance, and/or application (e.g., the credit check application 106-2) and may obtain the desired information as described herein. Thereafter, the system may render this information using any suitable method (e.g., visually using a GUI, audibly using a speaker, etc.) for the user's convenience. For example, the system may render the desired information in a suitable area (e.g., a present screen) in frame, a window, a widget, etc. Thus, as shown in the context information GUI 200A, the desired information such as, for example, information corresponding with a name 201 and/or a social security (SS) number 203 may be displayed for a user's selection. Thereafter, the user may select to insert the desired information by selecting an insert menu item 202 or may close the window by selecting the close menu item 204. The desired information may then be added to a corresponding area such as to the WIP area as shown in FIG. 1. The system may also render a source of the desired information such as "credit rating co." 205.
With reference to FIGs. 1 and 2B, assuming that certain information such as, for example, SS number information (e.g., Sam Smith and 123-45-6789, respectively) was not entered in a current application (e.g., the loan application) of the current task (e.g., the Smith instance) then, when a user requests this information (e.g., by selecting the obtain information menu item 106-9A), the system may contextually determine the desired information based upon one or more of the current task, task instance, and/or application (e.g., the credit check application 106-4) and obtain the desired information as described above. Accordingly, the system may contextually determine that information related to the name is present (e.g., Sam Smith) in the present application of the current task, however, the system may contextually determine that information corresponding to SS information is not present. Accordingly, the system may obtain this information using a suitable method (e.g., a contextual query as described above) and may render the desired information using any suitable method (e.g., visually using a GUI, audibly using a speaker, etc.) for the user's convenience. For example, the system may render the desired information in a suitable area (e.g., a present screen) in frame, a window, a widget, etc. Thus, as shown in the context information GUI 200B, the desired information such as, for example, information corresponding with an SS number 203B may be displayed for a user's selection. Thereafter, the user may select to insert the desired information by selecting an insert menu item 202 or may close the window by selecting the close menu item 204. The system may also include a source of the information and may group the desired information with a corresponding source. Thus, for example, if the system obtains the desired information (or parts thereof) from two different sources (e.g., a tax form data base and a credit rating co.), the system may display information with a corresponding source for a user's selection. As may be readily appreciated, the system may also simply provide the requested information in a suitable area of the user interface, such as in the area 140 wherein the requested information may be required for a given task. The present system may also extract process context and render relationships between one or more processes. For example, with reference to FIG. 1 , when a user selects, for example, the directory menu item 106-9C, the system (e.g., using a process context extractor as will be described below) may extract process context and render a corresponding Ul. For example, with reference to FIG. 2C, the system may render a Ul 200C which illustrates a process relationship in accordance with a further embodiment of the present system. To obtain a data model which may be used to render the process relationship, the PCE (e.g., using a PCE 124 as will be described below) may extract data from one or more BPM/Workflow systems and may build a data model of, for example, tasks, process instances, process contexts and/or resources, and store this data model in a memory of the system. This data model, and/or parts thereof, may then be rendered and/or used to enable one or more collaboration functions which may be provided by, for example, a collaboration tool (CT). Using the data model, the system may render, for example, user task information 222, a sorting menu 224, process information 226, etc., which may correspond with the selected user task information 222 (e.g., see, Smith task instance) and the selected sorting menu 224 (e.g., task instance). Thus, the system may render all tasks which are related to the current task instance, type, and/or or application. Accordingly, the system, may track and/or render relationships of tasks (e.g., by type, instance, user, etc.), track projects, executing business processes workflows and managing the assignment of tasks assigned to one or more users.
With reference to the sorting menu 224, the system and/or a user may select one or more menu items to view a corresponding relationship map. For example, a relationship map may show relationships having the same task type, belonging to the same business process, all relationships related to a task instance (e.g., the Smith instance), processes handled on the same date (e.g., day, date, time period, etc.), processes (or tasks) assigned to the same user or a group of users, process to be viewed by managers (e.g., all processes, processes in the managers group), etc. Further, a share information menu item 228 may be provided to facilitate the sharing of information. For example, when a user selects a task and/or a related user (e.g., see, 230 data collection task handled by user "MeI"), the system may inform MeI of a share request and transmit and/or receive related information. Further, with respect to task 230, a status may be shown (c.f., "completed" task 230 and "open" task 240). Thus, a user may readily determine a status of a task.
With reference to the data model, the system may associate an ID (e.g. a location ID) with a corresponding information element (e.g., file, user name, task, task instance, associated information, etc.), business process, etc. Thus, a common ID or parts thereof may be associated with all or part of various information that may be used to generate the data model. Moreover, the ID may include information which may relate various users, tasks, business processes, etc. For example, select bits of an ID may identify a task, while other select bits identify an assigned user, while other assigned bits identify a work group, etc. Further, a look up table may be used to determine a group to which a user, task, etc., belongs.
With reference to the Ul 100 of FIG. 1 , the Ul 100 may be rendered by the system in accordance with an operation of the system. For the sake of clarity, the rendering of the Ul 100 will be assumed to correspond with a working environment which was saved by a user. Creation and operation within a working environment will not be discussed further here however is described in detail in U.S. Patent Application No. 61/142,154, incorporated herein as if set out in its entirety. As discussed therein, the Ul 100 may correspond with an initial working environment that may be rendered, for example a first time a task is launched and/or may correspond with a working environment in accordance with a re-launched task (e.g., launched a second time, a third time, etc.). Accordingly, the working environment of the Ul 100 may correspond with a working environment in which task instances and/or types may have been assigned to the user. Further, the working environment of the Ul 100 may be reconfigured to provide a user defined working environment as desired. The system may save the working environment in, for example, a memory of the system, in accordance with a selected save option (e.g., an L1 , L2, L3, a user defined save option, etc., as discussed in U.S. Patent Application No. 61/142,154).
Thus, the working environment of the Ul 100 may correspond with a task that the user has been assigned in accordance with an operation of the present system. Further, the system may also distinguish different working environments for different task types. Thus, when the system determines that a task belongs to a certain type of class (e.g., collect customer data, mortgage sales, mortgage cold calls, collections, etc.), the system may assign the same or a similar working environment to tasks of the same type. Thus, for example, if a user is assigned several different tasks each of which is associated with a different customer (e.g., customers Smith, Morgan, Johnson, Doe, Fitzpatrick, etc.) and has the same task type (e.g., "collect customer data"), the system may associate similar working environments for each of these tasks. However, data such as, names, etc. may be different in each task and, thus, the task instances may be different. Thus, the user's task inbox (e.g., see, task area 114) may have different task instances for the tasks of the same type (e.g., "collect customer data"). Once a user customizes the task instances (e.g., initial task instances), then these task instances may be referred to as a user-customized task instance. The user may then select one of these tasks to launch and use the same set of tools in each working environment that corresponds with the same task type. Thus, the user may be presented with a common working environment for each task of the same type. When the user processes a task for each of the different customers, the user and/or the system may save the user's work according to a predetermined save option.
FIG. 3 shows a flow diagram that illustrates a process 300 in accordance with an embodiment of the present system. The process 300 may be performed using one or more computers that are programmed by one or more computer programs (e.g., program portions) to configure the computer(s) as a special purpose computer(s) including communicating over a network in accordance with an operation of the present system. The process 300 can include one or more of the following acts. Further, one or more of these acts may be combined and/or separated into sub-acts, if desired. In operation, the process may start during act 301 and then proceed to act 302.
During act 302, the process may set an assigned working environment which may correspond with a business process, task, etc. After completing act 302, the process may continue to act 304.
During act 304, the process may determine whether the system or the user has requested to perform a contextual search. As utilized herein, a contextual search corresponds to a search that is related not only to a given task but that also includes instance information identifying the instance of the task.
The operation of the present system offers a unique workspace for each individual user. In typical BPM deployments, different processes or tasks are carried out and may advance sequentially, simultaneously, etc. Some processes may be split into several parallel ones. Consequently several users may be working simultaneously on different tasks linked to the same subject (or context) such as a single customer or a single process, task, etc., simultaneously. The idea of the collaborative environment in accordance with the present system is to offer users a possibility of knowing who are the other users working on the same or associated tasks, and share documents, applications, info, tools, etc., about the task, instance, etc.
At any given time, among the tools (e.g. application widgets) within a users working environment, the user will have a sharing tool, represented as a query herein, that enables a user to, for example, see who are these other users involved with a given instance of a task, share info and data with the other users, any other functions provided it allows multiple users to read, edit, etc., the shared content, identify tools, data, user contact information, etc., that are utilized/involved with the instance, etc., through use of the PCE, all within the context of a BPM flow and particularly related to a given instance of the flow. For example, the query may even show who the active users, related to a particular portion of the business process (e.g., a particular context).
In accordance with the present system, the collaboration is carried out at the level of the tools and given instances, not the workspace level. In this way, each user may have a different (unique) workspace, even if they are sharing data through the sharing/querying tool. The sharing is more focused on the ongoing task instance then on a person to person sharing. In this way, the environment is not static but dynamic as the BPM context brings in the idea that multiple tasks, (similar, identical or not) that may be related to a given instance, may be carried on simultaneously and that there is a desire to be able to identify tools, users, data, etc., related to the given instance.
For instance, the Credit and Appraisal Departments in a company may share some credit records about a series of consumers (e.g., cross-department data), and one may need to know where the other one is on their respective (linked) task or may desire to contact other users working on the same or related tasks. In accordance with the present system, the result of a query may be an invitation to each related user for a teleconference to discuss a task and particular instance (e.g., see acts 308 and 310 below). The query results in not only an identification of users working on a related task or portion thereof, but also an identification of tools, data, etc., that is also related so that a closer collaboration with the business process may be achieved then was heretofore achievable with prior systems.
While prior systems may have enabled an identification of users involved with a given process generally (e.g., all parties working on Sam Smith's credit application), prior systems are not enabled to identify users based on context of a given user. For example, within the business process of examining Sam Smith's credit application, some users may be working on credit history while other users are working on current asset assessment. While each of these users are performing tasks related to Sam Smith's credit application, the different users may be working on different application data, tools, etc. In accordance with the present system, a query within an instance of Sam Smith's current asset assessment, may produce an identification of one or more of users, data, tools, systems (e.g., for example in a case wherein multiple business process management systems are involved), etc., related to that instance. In accordance with the present system, the granularity of the query may be selectable by the user and or the present system, such that, for example, a query on Sam Smith's current asset assessment may produce all users, tools, data, etc. related to Sam Smith's current asset assessment generally and/or may produce one or more of the above related to a particular asset (e.g., a home). In one embodiment, the present system may by default (e.g., unless selected otherwise by the user) produce a general query related to a current user task/instance and thereafter provide the user an ability to increase and/or decrease the granularity of a query result in response to further queries. For example, while a query may result in an identification of all users, tools, data, etc. related to a given asset, a further query may be utilized to identify a user, for example, reduce the granularity, to identify a manager that has authorization to make a final determination of a value, etc. In this way, collaboration is facilitated through a simple query system in accordance with the present system, which heretofore was unavailable to the user of the business process management tools.
In this way, for example, related user identifications may be rendered, in response to a query, on a collaboration list. Further, systems and services that are also related may also be identified, for example, similar to the related users. It should be recognized that present query system be enabled to gather "process context", which is the element that enables a building of the collaboration list. In this way, user(s), system(s) and service(s) related to the same process context may be provided in response to a query. It should be readily appreciated that to determine the process context, the present system considers not only a single process, but also all of its "sub- processes", for example as described above related to Sam Smith's credit application, current asset assessment, a given asset, etc.
In accordance with the present system, the process context extractor (e.g., see, FIG. 4, PCE 424) is a system that extracts process context from a BPM/Workflow system. Process context may involve one or many process instances that BPM/Workflow system executes to achieve a common goal (e.g., evaluation of Sam Smith's credit application). However, since BPM/Workflow systems may allow definition of processes and sub-processes for composing executable processes (e.g., for modularizing the processes, sub-process etc., for example, for process reuse), it is possible that a single process execution( process instance) is divided into multiple process instances(for example, since a sub-process's instance is a separate instance from a parent process instance). The function of process context extractor in accordance with an embodiment of the present system is to identify all the process instances and how they are related to each other to enable an identification of which process instances belong to the same process (context).
In general, when one or more users use a BPM/Workflow system to define processes, they processes may be organized into one or more sub-processes, etc. For example, when BPM/Workflow systems execute these processes, the systems may invoke a process and that process may invoke its sub-processes. While all the processes, sub-processes, etc., may reside within a given system (e.g., server), it is also possible that BPM/Workflow systems invokes "remote" sub-processes on other systems that may not readily interact together. In accordance with the present system, the process context extractor (e.g., see FIG. 4) provides a system to gather data from remote BPM/Workflow systems to generate a complete process context. In accordance with the present system, the complete process context may be determined dynamically (e.g., continuously as changes occur, periodically, etc.) and/or may be determined as a result of a query.
In addition, the process context extractor of an embodiment of the present system may identify the relationship between task(s), process instances, process context, and resources. For example, a process context may be related to one or more resources (resources are used to execute processes and may include users, user devices, applications, tools, etc.). In this way and as should be readily appreciated, resources may be a human user, a document, a service, tool, etc. Process context is related to one or many process instances which in turn, the process instance(s) may be related to one or more tasks. In accordance with the present system, the process context extractor extracts data from one or more BPM/Workflow system(s) to build a data model of task(s), process instance(s), process context, resource(s), and this information may be utilized to support a query, enable collaboration functions, etc.
An example of such a data model is illustrated in FIG. 7. The relationship between business process elements may be defined as follows. A process context may be related to one or more resources. Theses resources may include, for example, subjects that may be used to execute one or more processes. Resources may include a user, a document, a service, etc. Process context may be related to one or more process instances. Each process instance may be related to one more tasks. As an illustration of the relationship of elements in accordance with an embodiment of the present system, each element may be viewed as a node of a hierarchical tree wherein each node corresponds to an element of the business process hierarchy. Since each node has only one parent, the process context extractor may search through the hierarchical tree to find out a corresponding process context of a current work environment/task, and then search down through the hierarchical tree to discover all the related resources. For example, in supporting a querying operation, the context extractor may proceed from the querying resource (e.g., left-most resource of FIG. 7) through the upward arrow path to find out the corresponding process context of the current work environment/task. Thereafter, the context extractor may proceed down the hierarchical tree following the arrow path to discover all the related resources (e.g., the resources shown in hatched boxes).
In any event, in accordance with the present system, if the process determines that a user has requested a contextual search, the process may continue to act 306. However, if the process determines that a contextual search has not requested, the process may repeat act 304.
During act 306, the process may determine a current working environment. For example, the process may determine a current process, task, task instance, application (e.g., credit check application), related user(s), a current working group, status (e.g., closed, completed, in progress, open, etc.), etc. (e.g., see, FIG. 7). After completing act 306, the process may continue to act 308. During act 308, the process may generate a data model of contextual information which may correspond with the current working environment. Accordingly, the process may extract data from one or more BPM/Workflow systems to form the data model of, for example, desired information such as, for example, information related to tasks, process instances, process contexts, resources, DMI, etc., which may be used to generate the data model of contextual information. After completing act 308, the process may continue to act 310.
During act 310, the process may render the generated data model of contextual information that was generated in act 308. The rendered data model may be rendered in a form of one or more collaboration lists as discussed above (e.g., see, FIG. 1 , recommend task area 108, user tools area 110, directory area 118 which may be rendered individually and/or as combined collaboration lists). Further, the result of the rendering may be an invitation to each user and a coordination of one or more (e.g., all) of related tools, systems, etc., to facilitate a collaborative conference session between the users. In this way, not only may the resources be identified by the process context extractor, but further, collaboration tools may also be identified and/or provided to enable collaboration, for example, between users (e.g., instant message (IM) chatting tools may be provided/identified for users working on the same process context, shared documents, storage, etc.). In accordance with an embodiment of the present system, the collaboration tools may be identified by the process context extractor or may involve a further query into related resources (e.g., IM tool) which may not be a portion of the business process however may be identified as a common collaboration tool to the related users.
In this way, the present system may not only enable a user to select a phone service to initiate a teleconference between everyone related to a given task, instance, etc. (e.g., based on the granularity of the request), but in accordance with the present system, the process context extractor may also identify and/or make available to the related users, the other resources, such as tools, data, systems, etc., that are related to the given task, instance, etc.
Returning to FIG. 3, after completing act 310, the process may continue to act 312, where the process may end.
FIG. 4 shows a schematic of an embodiment of the present system 400. The system 400 may include one or more of a working environment management portion 402, a process context extractor (PCE) 424, one or more applications 404, one or more universal converters 406, one or more memories 408, one or more user interfaces (UIs) 412, and one more third party applications 416.
The working environment management portion 402 may include, a PCE 424 which may communicate with one or more of the Ul 412, the memories 408, the one or more applications 404, and/or the third party applications 416 to obtain necessary information. The PCE 424 may communicate with the one more third party applications 416 via, for example, the converter 406.
The one or more third party applications 416 may include various applications which may transmit and/or receive information in a format which may not be compatible with the PCE 424, for example provided by different vendors, such that the one or more third party applications 416 may not handshake and/or share data natively (e.g., as a function of the one or more third party applications 416). Accordingly, in the present example, the one or more third party applications 416 may include, for example, a credit score 416-A, a tax form application 416-B, an income verification application 416, an appraisal application 416-D, etc., which may receive information from and/or transmit information to the PCE via, for example, the converter 406. The converter 406 may translate information received from the PCE 424 such that it the translated information is compatible with a desired one of the one or more third party applications 416. Accordingly, when the PCE 424 requests information (e.g., using a query, such as shown during act 304) from, for example, the credit score application 416-A, the converter 406 may translate the information received from the PCE 424 (e.g., the query) into a format which is suitable for the credit score application 416-A (e.g., a translated query). Conversely, when one of the one or more third party applications 416 (e.g., the credit score application 416-A) transmits information to, for example, the PCE 424, the converter may translate this information (e.g., a response to the translated query) to a format that is suitable for the PCE 424. Further, the converter 406, may include information to determine suitable formats to translate information which is received from and/or transmitted to the one or more third party applications 416. For example, the converter 406 may use a look-up table to determine an appropriate translation. For example, the converter 406 may utilize a universally recognized (e.g., across each of the third party applications 416 and the converter 406) system to translate a query for given information to a universally recognized designation. For example, a query for a social security number may be translated to query "1" (e.g., a process, resource, data, etc., identification number) which is recognized by each of the third party applications 416 and the converter 406 as corresponding to a query for a social security number. As readily appreciated, this embodiment results in changes to each of the third party applications 416 to also recognize the universally recognized designation. In a further embodiment, the PCE 424 and/or the converter 406 may know one or more of the nomenclature, structure, data system, etc., of one or more of the third party applications 416 to enable a direct translation from a nomenclature utilized by the PCE 424 to a nomenclature, etc., recognized by the third party applications 416 resulting in no need for the universally recognized designation.
FIG. 5 shows a schematic of an embodiment of the present system. A system 500 may include one or more of a working environment management portion 502, a wireless server 504, one or more base stations (BSs) BS-1 and BS-2, a network 506, an external storage 510, user devices 508-1 - 508-n, global positioning system (GPS) transmitter(s) 522, and mobile stations (MSs) MS-1 - MS-m. One or more of these components may be combined with each other, if desired.
Each of the BSs (BS-1 , BS-2) may include a corresponding service area SA-1 and SA-2, respectively, and may communicate with one or more MSs in a corresponding service area using any suitable method and/or combinations thereof (e.g., TDMA, CDMA, GSM, Bluetooth, WiMax, WiFi, wired, optical, etc.).
The working environment management portion 502 may include one or more of a BPM/Workflow component 512, a browser/desktop (BD) execution environment 514, a co-ordination component 518, one or more storage devices 516, a process context extractor (PCE) 524, a collaboration tool (CT) 526, and a controller 520. The controller 520 may include one or more controllers one or more of which may be located locally and/or remotely from the others. The controller 520 may control the overall operation of the working environment management portion 502.
The storage 516 may store one or more of operating tools of the present system (e.g., applications, widgets, instance data, etc.), data generated by the present system, and/or user information (e.g., user preferences, user identification (ID), user passwords, user logins, employment information, etc.), BPM information, task information, etc. The storage 516 may include any suitable storage device or devices such as, for example, a read only memory (ROM), a random access memory (RAM), an optical memory, a flash memory, a disc storage, a SAN, etc.
The BPM workflow component 512 may be responsible for, among other things, tracking relationships of tasks (e.g., by type, instance, user, etc.), tracking projects, executing business processes workflows and managing the assignment of tasks to one or more users. For example, the BPM workflow component 512 may perform one or more tasks such as, for example, parse workflow information, load/retrieve worker information from the storage 516, extract tasks from the workflow, and/or match tasks to available users (workers, etc.), and assign tasks to users.
The browser/desktop execution environment 514 may provide tools such as, for example, applications, widgets, etc., user interfaces (Ul), etc. to run independently on a common area. The tools may be initially assigned by the system 502 and/or may be selected by a user or users. As the ability to run different widgets or application UIs in a common window is well known in the art (e.g., see, iGoogle™ or Netvibes™), for the sake of clarity it will not be discussed further herein.
The PCE 524 may extract process context from BPM/Workflow system. The process context may include one or more process instances that the BPM/Workflow system may execute to achieve a common goal (e.g., to complete a process). In the interest of commonality, the BPM/Workflow system may define processes and/or sub- processes for composing executable processes (e.g., to enhance process reuse), it is envisioned that a process execution (e.g., which may include a process instance) may be divided into multiple process instances. For example, a process instance may be divided into multiple process instances when a sub-process instance is a separate instance from its parent process instance. Thus, the PCE 524 may determine and/or find all the process instances and/or determine a relation between them. Accordingly, the system may distinguish which process instances belong to the same process (e.g., context) and inform a user. This PCE 524 may include one or more PCEs which may be located at one or more locations (e.g., remotely). The PCE 124 may include a "process monitoring" function to monitor one more processes which may be performed using one or more BPM systems. Further, the PCE 524 may generate information that may be used to identify and/or find one or more process contexts. This information may be stored in one or more suitable memories such as, for example, storage 516, and/or a remote storage which, for example, may include a storage device of a remote BPM system. Accordingly, one or more BPM systems may communicate with each other to obtain and/or exchange information related to, for example, one more business processes.
???The PCE 524 may also manage the relationship between one or more tasks, process instances, process contexts, and/or resources as discussed above. The PCE 524 may extract data from one or more BPM/Workflow systems and may build a data model of, for example, tasks, process instances, process contexts and/or resources, and store this data model in a memory of the system. This data model may then be used to enable one or more collaboration functions which may be provided by, for example, the CT 526. The CT 526 may include one or more collaboration tools which may provide a collaboration function, such as, a chatting function, a document sharing function, a graphics sharing function, a spreadsheet sharing function, etc. The CT 526 may include, for example, a chatting tools (e.g., instant messaging, teleconference, etc.) to enable users (e.g., users working on the same process context, etc.) to communicate and/or share information (e.g. documents, data, tools, etc.) with each other.
Thus, one or more CT 526 may be provided to access and/or store documents, files, etc., using the PCE 524 which may determine and/or access resources corresponding with (e.g., related to) one or more current tasks.
The coordination component 518 may operate under the control of the controller 520 and may synchronize and/or coordinate the functions between one or more of the BPM/Workflow component 512, the PCE 524, the CT 526, and/or the browser/desktop execution environment 514.
The system 500 may generate and/or assign tasks to individuals and/or provide a personalized working environment and dynamically associate tasks assigned to individuals with the personalized working environment for individuals. Each task may correspond with one or more projects.
The system 500 may receive location information regarding the one or more MSs (Ms-1 - MS-m) and assign tasks to user's based upon a geophysical location of an MS (e.g., a user's MS). For example, in mobile environment, a user of an MS may be a traveling. The system 500 may, determine the geophysical location of the user's MS and assign a task to the user based upon the determined position. For example, if the system 500 determines that a task may require a user to be located at a certain position (e.g., at a certain location or address), the task may assign this task to, a user who may be able to reach the certain position at a given time (e.g., a nearest user, etc.). Accordingly, the system may include least-traveling-distance functions, and the like, to determine how to assign one or more tasks. The system 500 may determine a geophysical location using any suitable method such as, for example, GPS transmissions, assisted GPS (A-GPS), triangulation, base station ID, etc. The system 500 may also await a user's confirmation when assigning tasks and may reassign tasks or notify certain user's (e.g., managers), if, for example, a confirmation for a certain task is not received from a user.
The external storage 510 may store information similar to the storage 516 and/or may include any suitable storage device or devices as described elsewhere. For example, the external storage may store one or more external applications (e.g., tools), etc., that may be used by the present system. The external storage 510 may communicate with other components via any suitable method such as, for example, the network 506.
The user devices 508-1 - 508-n may include any suitable computational device which may provide a user interface. For example, the user devices 508-1 - 508-n may include workstations, etc. The user devices 508-1 - 508-n may communicate with each other and/or the working environment management 502 any suitable method. For example, the user devices 508-1 - 508-n may communicate with each other and/or the working environment management portion 502 using one or more networks such as, for example, the network 506. The user devices 508-x may include any suitable device for rendering a Ul of the present system. The user devices 508-x may be the same type of device or one or more may be different types, classes, etc., devices, such as desktop system, smartphone, etc.
The working environment management portion 502 may communicate with the one mobile stations MS-1 - MS-m via the wireless server 504 and corresponding stations BS-1 and BS-2. However, a wired connection may also be used. The mobile stations (MS-1 -MS-m) may include similar functions as provide by the user devices 508- x. Accordingly, the mobile stations (MS-1 -MS-m) may render a Ul for a user's convenience.
The network 506 may include, any suitable network such as, may include one or more of a wide area network (WAN), a local area network (LAN), a proprietary network, the Internet, an intranet, etc. The mobile stations (MS-1 - MS-m) may be coupled to the network 506.
Accordingly, the present system provides a personalized collaborative working environment for users who have tasks assigned to them. These tasks may be automatically determined and/or assigned by an information technology (IT) system such as a BPM or workflow system. This working environment may include various applications and/or features needed to perform the task which is assigned to the user. The system may also keep track of task, working environment, and/or their respective instances (e.g., a-task instance and/or working environment-work-in-progress data, etc.) and a relationship among them for each user, task, instance, group, etc. Accordingly, workplace efficiency may be enhanced.
The wireless server 504 may include components to communicate with, for example, wireless stations such as the MS-1- MS-m, using any suitable method. The wireless server 504 may include one or more wireless servers, base stations, etc., and may communicate to, for example, the working environment management portion 502 using any suitable method such as, for example, a wired and/or wireless connection, the network 506, etc.
The (GPS) transmitter(s) 522 may communicate with one or more of the MSs (e.g., MS-1 - MS-m), the working environment management portion 502, the UIs (e.g., 508-1 - 508-n), the wireless server, and/or other portions of the present system using any suitable method.
FIG. 6 shows a system 600 in accordance with a further embodiment of the present system. The system 600 includes a user device 690 that has a processor 610 operationally coupled to a memory 620, a rendering device 630, such as one or more of a display, speaker, etc., a user input device 670 and a server 680 operationally coupled to the user device 690. The memory 620 may be any type of device for storing application data (e.g., process context extractor, collaboration tools, business process management tools, etc.) as well as other data, such as task data, instance data, workflow data, etc. The application data and other data are received by the processor 610 for configuring the processor 610 to perform operation acts in accordance with the present system. The operation acts include controlling at least one of the rendering device 630 to render one or more of the GUIs, to render BPM related data, to support a query, etc. The user input 670 may include a keyboard, mouse, trackball or other devices, including touch sensitive displays, which may be stand alone or be a part of a system, such as part of a personal computer, personal digital assistant, mobile phone, converged device, or other rendering device for communicating with the processor 610 via any type of link, such as a wired or wireless link. The user input device 670 is operable for interacting with the processor 610 including interaction within a paradigm of a GUI and/or other elements of the present system, such as to enable interaction with the present system, queries, such as provided by left and right clicking on a device, a mouse-over, pop-up menu, etc., such as provided by user interaction with a computer mouse, etc., as may be readily appreciated by a person of ordinary skill in the art.
In accordance with an embodiment of the present system, the rendering device 630 may operate as a touch sensitive display for communicating with the processors 610 (e.g., providing selection of a web browser, a Uniform Resource Locator (URL), portions of web pages, etc.) and thereby, the rendering device 630 may also operate as a user input device. In this way, a user may interact with the processor 610 including interaction within a paradigm of a Ul, such as to support querying, etc. Clearly the user device 690, the processor 610, memory 620, rendering device 630 and/or user input device 670 may all or partly be portions of a computer system or other device, and/or be embedded in a portable device, such as a mobile station (MS), mobile telephone, personal computer (PC), personal digital assistant (PDA), converged device such as a smart telephone, etc.
The system and method described herein address problems in prior art systems. In accordance with an embodiment of the present system, the user device 690, corresponding user interfaces and other portions of the system 600 are provided for operation within a BPM system as may be readily appreciated including interaction between the user device 690 and the server 680.
The methods of the present system are particularly suited to be carried out by a computer software program, such program containing modules corresponding to one or more of the individual steps or acts described and/or envisioned by the present system. Such program may of course be embodied in a computer-readable medium, such as an integrated chip, a peripheral device or memory, such as the memory 620 or other memory coupled to the processor 610.
The computer-readable medium and/or memory 620 may be any recordable medium (e.g., RAM, ROM, removable memory, CD-ROM, hard drives, DVD, floppy disks or memory cards) or may be a transmission medium utilizing one or more of radio frequency (RF) coupling, Bluetooth coupling, infrared coupling, wired coupling, etc. Any medium known or developed that can store and/or transmit information suitable for use with a computer system may be used as the computer-readable medium and/or memory 620.
Additional memories may also be used. The computer-readable medium, the memory 620, and/or any other memories may be long-term, short-term, or a combination of long-term and short-term memories. These memories configure processor 610 as a special purpose processor to implement the methods, operational acts, and functions disclosed herein. The operation acts may include controlling the rendering device 630 to render elements in a form of a Ul and/or controlling the rendering device 630 to render other information in accordance with the present system.
The memories may be distributed (e.g., such as a portion of the content server 680) or local and the processor 610, where additional processors may be provided, may also be distributed or may be singular. The memories may be implemented as electrical, magnetic or optical memory, or any combination of these or other types of storage devices. Moreover, the term "memory" should be construed broadly enough to encompass any information able to be read from or written to an address in the addressable space accessed by a processor. With this definition, information on a network is still within memory 620, for instance, because the processor 610 may retrieve the information from the network for operation in accordance with the present system. For example, a portion of the memory as understood herein may reside as a portion of the server 680. Further, the server 680 should be understood to include further network connections to other devices, systems (e.g., servers), etc. While not shown for purposes of simplifying the following description, it is readily appreciated that the server 680 may include processors, memories, displays and user inputs similar as shown for the user device 690, as well as other networked servers, such as may host business process tools, etc. Clearly, the user device 690 may also comprise common portions to one or more of the working environment management portion and other portions of the present system (shown generally as server 680 in FIG. 6) and as such, a separate description of these portions is not further addressed other than to point out that clearly the working environment management portion, etc., may also comprise a processor, memory, rendering device, etc. Accordingly, while the description contained herein focuses on details of interaction within components of the user devices 690, it should be understood to similarly apply to interactions of components of the server 680.
The processor 610 is capable of providing control signals and/or performing operations in response to input signals from the user input device 670 and executing instructions stored in the memory 620. The processor 610 may be an application- specific or general-use integrated circuit(s). Further, the processor 610 may be a dedicated processor for performing in accordance with the present system or may be a general-purpose processor wherein only one of many functions operates for performing in accordance with the present system. The processor 610 may operate utilizing a program portion, multiple program segments, or may be a hardware device utilizing a dedicated or multi-purpose integrated circuit.
The system and method described herein address problems in prior art systems. In accordance with an embodiment of the present system, the user device 690, corresponding user interfaces and other portions of the system 600 are provided for rendering tasks, browsing content, selecting content, providing reaction indications, reaction indication palettes, etc., and for transferring the information related to the tasks, content and reaction indications, tallied reaction indications, etc., between the user device 690 and the content server 680.
Accordingly, the present system may dynamically assign job tasks to an individual or a group of individuals and then, dynamically associate the job tasks assigned to individuals with a personalized working environment, including further operation as described herein.
Finally, the above discussion is intended to be merely illustrative of the present system and should not be construed as limiting the appended claims to any particular embodiment or group of embodiments. For example, the present system may be utilized to determine the presence of distinguishing information such as a watermark and push content which corresponds with the detected watermark and/or the user profile information. The present system may be provided in a form of a content rendering device, such as a MS. A further embodiment of the present system may provide a Ul that operates as a browser extension, such as a rendered browser toolbar, that can build a content rendering playlist, such as a video playlist. In addition, the present system may push predetermined content while a user is browsing the Internet.
Thus, while the present system has been described with reference to exemplary embodiments, including user interfaces, it should also be appreciated that numerous modifications and alternative embodiments may be devised by those having ordinary skill in the art without departing from the broader and intended spirit and scope of the present system as set forth in the claims that follow. Further, while exemplary user interfaces are provided to facilitate an understanding of the present system, other user interfaces may be provided and/or elements of one user interface may be combined with another of the user interfaces in accordance with further embodiments of the present system.
The section headings included herein are intended to facilitate a review but are not intended to limit the scope of the present system. Accordingly, the specification and drawings are to be regarded in an illustrative manner and are not intended to limit the scope of the appended claims.
In interpreting the appended claims, it should be understood that: a) the word "comprising" does not exclude the presence of other elements or acts than those listed in a given claim; b) the word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements; c) any reference signs in the claims do not limit their scope; d) several "means" may be represented by the same item or hardware or software implemented structure or function; e) any of the disclosed elements may be comprised of hardware portions (e.g., including discrete and integrated electronic circuitry), software portions (e.g., computer programming), and any combination thereof; f) hardware portions may be comprised of one or both of analog and digital portions; g) any of the disclosed devices or portions thereof may be combined together or separated into further portions unless specifically stated otherwise; h) no specific sequence of acts or steps is intended to be required unless specifically indicated; and i) the term "plurality of an element includes two or more of the claimed element, and does not imply any particular range of number of elements; that is, a plurality of elements may be as few as two elements, and may include an immeasurable number of elements.

Claims

ClaimsWhat is claimed is:
1. A method of providing a user interface (Ul), the method comprising acts of: setting, by a suitably programmed processor, a working environment including a plurality of applications in accordance with a business process task assigned to a user of a plurality of users; determining a current state of the working environment; extracting a process context based upon the current state of the working environment; identifying resources based on the process context; and rendering results of the identifying.
2. The method of claim 1 , wherein the act of determining a current state of the working environment further comprises identifying at least one of a current task and an application corresponding with the working environment.
3. The method of claim 2, wherein the act of identifying resources comprises an act of querying a plurality of systems utilizing a universally recognized designation that identifies a query term in a form that is identifiable by each of the plurality of systems and that is not natively recognized and operated on by the plurality of systems.
4. The method of claim 1 , wherein the resource includes one or more of a user, an application, a processing device, and a storage device.
5. The method of claim 1 , further comprising an act of determining whether a user has requested to collaborate with a further user of the plurality of users.
6. The method of claim 1 , further comprising an act of identifying a collaboration tool based on the rendered results.
7. The method of claim 6, further comprising an act of establishing a collaboration function in response to the identified collaboration tool.
8. The method of claim 7, wherein the act of establishing the collaboration function comprises acts of: rendering a list of related users from the plurality of users based on the extracted process; rendering a list of related applications based on the extracted process; and rendering a list of collaboration tools based on collaboration tools available to the related users.
9. The method of claim 8, wherein the act of establishing the collaboration function comprises acts of: connecting the related users together utilizing at least one of the list of collaboration tools; and providing one or more of the related users use of one or more of the related applications during the collaboration function.
10. The method of claim 1 , further comprising an act of setting a security level for access to data during the acts of extracting and identifying.
11. The method of claim 10, wherein the security level is based on a users security level.
12. The method of claim 10, wherein the security level is based on a tool operated on by the user and a tools assigned security level.
13. The method of claim 10, wherein the security level is based on the business process task and a tasks assigned security level.
14. The method of claim 1 , further comprising acts of: performing a search for information not yet entered within the business process task based on the extracted process context; and rendering results of the search.
15. A computer program stored on a computer readable memory medium for execution by a processor for configuring the processor to support a business process, the computer program comprising: a program portion for setting a working environment including a plurality of applications in accordance with a business process task assigned to a user of a plurality of users; a program portion for determining a current state of the working environment; a program portion for extracting a process context based upon the current state of the working environment; a program portion for identifying resources based on the process context; and a program portion for controlling rendering results of the identifying.
16. The computer program of claim 15, wherein the program portion for determining the current state of the working environment further comprises a program portion for identifying at least one of a current task and an application corresponding with the working environment.
17. The computer program of claim 15, wherein the program portion for identifying resources comprises a program portion for querying a plurality of systems utilizing a universally recognized designation that identifies a query term in a form that is identifiable by each of the plurality of systems and that is not natively recognized and operated on by the plurality of systems.
18. The computer program of claim 15, further comprising a program portion for identifying a collaboration tool based on the rendered results.
19. The computer program of claim 18, further comprising a program portion for establishing a collaboration function in response to the identified collaboration tool.
20. The computer program of claim 19, wherein the program portion for establishing the collaboration function comprises program portions for: rendering a list of related users from the plurality of users based on the extracted process; rendering a list of related applications based on the extracted process; and rendering a list of collaboration tools based on collaboration tools available to the related users.
21. The computer program of claim 20, wherein the program portion for establishing the collaboration function comprises acts program portions for: connecting the related users together utilizing at least one of the list of collaboration tools; and providing one or more of the related users use of one or more of the related applications during the collaboration function.
22. The computer program of claim 15, further comprising a program portion for setting a security level for access to data during operation of the program portions for extracting and identifying.
PCT/IB2010/001640 2009-05-29 2010-05-28 System for dynamically configuring task-based collaborative environment and method of operation thereof WO2010136904A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP10750163A EP2435960A2 (en) 2009-05-29 2010-05-28 System for dynamically configuring task-based collaborative environment and method of operation thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18234009P 2009-05-29 2009-05-29
US61/182,340 2009-05-29

Publications (2)

Publication Number Publication Date
WO2010136904A2 true WO2010136904A2 (en) 2010-12-02
WO2010136904A3 WO2010136904A3 (en) 2011-01-20

Family

ID=43016690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2010/001640 WO2010136904A2 (en) 2009-05-29 2010-05-28 System for dynamically configuring task-based collaborative environment and method of operation thereof

Country Status (2)

Country Link
EP (1) EP2435960A2 (en)
WO (1) WO2010136904A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084215A1 (en) * 2010-10-05 2012-04-05 Accenture Global Services Limited Electronic Process-Driven Collaboration System
US10165224B2 (en) 2012-03-07 2018-12-25 Accenture Global Services Limited Communication collaboration

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084215A1 (en) * 2010-10-05 2012-04-05 Accenture Global Services Limited Electronic Process-Driven Collaboration System
US10165224B2 (en) 2012-03-07 2018-12-25 Accenture Global Services Limited Communication collaboration

Also Published As

Publication number Publication date
EP2435960A2 (en) 2012-04-04
WO2010136904A3 (en) 2011-01-20

Similar Documents

Publication Publication Date Title
JP7183154B2 (en) Increased efficiency in task management applications
CN113454665B (en) Task-based action generation
US7711694B2 (en) System and methods for user-customizable enterprise workflow management
US8122084B2 (en) Collaborative conversation channels
US20180067914A1 (en) Enterprise-related context-appropriate user prompts
US9367824B2 (en) Provisioning and performing action items
US10095471B2 (en) Context aware voice interface for computing devices
US9519613B2 (en) Method for integrating applications in an electronic address book
CN112751746B (en) Task processing method and device and electronic equipment
US9959527B2 (en) Calendaring between user profiles
US20040181417A1 (en) Managing the definition of a product innovation
EP3188004B1 (en) Creating dynamic mnemonics
US20080040126A1 (en) Social Categorization in Electronic Mail
US20140006343A1 (en) Methods and Systems for Generating a List of Recent Contacts
CN110517159A (en) Presenting most frequently used contact information to a user of a computing device
JP2006523352A (en) Joint start pad
TW201519064A (en) Managing conversations
WO2005024587A2 (en) Pattern-based software design
US11861562B2 (en) Real-time candidate matching based on a system-wide taxonomy
US11258744B2 (en) Digital conversation management
Kwan et al. Process-oriented knowledge management: a case study
WO2018200157A1 (en) Attendee specific meeting attributes
CN114556389A (en) Keeping track of important tasks
US20130174093A1 (en) Compass menu
JP2005514693A (en) Improved workflow ease

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10750163

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010750163

Country of ref document: EP