US20190171638A1 - Multi-linked workflows - Google Patents

Multi-linked workflows Download PDF

Info

Publication number
US20190171638A1
US20190171638A1 US16/321,380 US201716321380A US2019171638A1 US 20190171638 A1 US20190171638 A1 US 20190171638A1 US 201716321380 A US201716321380 A US 201716321380A US 2019171638 A1 US2019171638 A1 US 2019171638A1
Authority
US
United States
Prior art keywords
space
presentation space
presentation
data
instantiating
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US16/321,380
Inventor
Kevin RUTTEN
Harold DAVIDSON
Terrance GRAY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onbase Db Systems Inc
Original Assignee
Onbase Db Systems Inc
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 Onbase Db Systems Inc filed Critical Onbase Db Systems Inc
Priority to US16/321,380 priority Critical patent/US20190171638A1/en
Publication of US20190171638A1 publication Critical patent/US20190171638A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • the present disclosure relates to systems and methods for users to work efficiently with data, including big data and data having rich or complex relationships.
  • the invention may be deployed in various configurations, including client-server and standalone configurations.
  • the present disclosure is directed to this need.
  • an electronic device having a processor, a storage medium and a client component stored on the storage medium, the client component having machine-executable code for execution by the processor for managing data, wherein managing data includes:
  • the at least one data fragment is operable to be currently selected when presented in the respective at least one presentation space
  • At least one other of the at least one presentation space presenting a corresponding data fragment.
  • the at least one presentation space may have a constraint bar, having at least one of: a search box, a filter box and a sort box, for constraining the data fragments presented, respectively by search, filter and sort.
  • a constraint bar having at least one of: a search box, a filter box and a sort box, for constraining the data fragments presented, respectively by search, filter and sort.
  • the at least one presentation space may be operable to have focus, and in response to the at least one presentation space having focus, at least one other of the at least one presentation space may present a constrained data fragment constrained by the constraint bar of the at least one presentation space.
  • the at least one presentation space may have at least one of: a table space, a detail space, and a mash-up space.
  • the at least two screens may respectively have tabs for selecting between presentation spaces.
  • a computer-implemented method for managing data comprising:
  • the at least one data fragment is operable to be currently selected when presented in the respective at least one presentation space
  • At least one other of the at least one presentation space presenting a corresponding datafragment.
  • the method may further comprise constraining the data fragment presented in at least one presentation space, wherein constraining may include searching, filtering, sorting, or a combination of these.
  • the method may further comprise selecting the at least one presentation space to have focus, and in response to the at least one presentation space having focus, presenting a constrained data fragment in at least one other of the at least one presentation space.
  • a computer program product comprising a computer readable medium storing computer executable instructions thereon that when executed by a computer perform the above-provided method.
  • FIG. 1 is a Unified Modeling Language (UML) 2 deployment diagram of one embodiment of a system for managing data in accordance with aspects of the present invention, the system having nodes that include a Server connected to an Edge Device.
  • UML Unified Modeling Language
  • FIG. 2 is a UML 2 component diagram of one embodiment of a node in the system of FIG. 1 , the node having a stack of devices and components.
  • FIG. 3 is a graphical user interface diagram showing one embodiment of an interactive display of an Edge Device of FIG. 1 .
  • FIG. 4 is a UML 2 class diagram of a Client Component deployed on an Edge Device of FIG. 1 to support the graphical user interface of FIG. 3 .
  • FIG. 1 shows a system for managing data according to one embodiment of aspects of the present disclosure.
  • the system may include one or more Servers connected to serve data to at least one Edge Device.
  • Servers connected to serve data to at least one Edge Device.
  • the at least one Edge Device might include a plurality of Edge Devices having different computation, presentation and communication characteristics, including for example a Desktop Device, a Laptop Device, a Tablet Device, a Phone Device or a Wearable Device, such Edge Device or plurality of Edge Devices being configured for use by one user or a plurality of users, such users having one activity or a plurality of activities, each activity being characterized by particular interactions with particular data.
  • the network topology depicted in FIG. 1 has been simplified for clarity.
  • the network could be scaled to include multiple servers, clients, devices or more generally resources for each node.
  • a particular node might be spread across multiple physical locations (or jurisdictions), which might increase, decrease or change over time, including on-the-fly, depending on resource demands and network management decisions.
  • the network could be provided as a managed network service.
  • an action is often the result of coordinated activities occurring at multiple nodes in the system.
  • these nodes are often distributed ad hoc and unpredictably across multiple jurisdictions.
  • the actions as described or claimed herein are intended to encompass at least: (a) actions performed directly and completely within the jurisdiction of the patent, (b) actions coordinated within the jurisdiction but with at least some activities performed outside the jurisdiction, (c) actions coordinated outside the jurisdiction but with at least some activities performed within the jurisdiction, and (d) actions performed for the benefit of a node within the jurisdiction or a person within the jurisdiction using that node.
  • An example of such coordination would be serving a layout for a web page from one node and serving content for insertion into the layout from one or more other nodes, including through the use of server-side scripting, client-side scripting, and Asynchronous JavaScript and XML (AJAX) techniques.
  • server-side scripting including client-side scripting, and Asynchronous JavaScript and XML (AJAX) techniques.
  • AJAX Asynchronous JavaScript and XML
  • each node, server, client, device and more generally resource might be a duly configured general purpose programmable computing and communication resource, sometimes called a processing unit or a computing or communication device, for example a server, a workstation, a desktop computer, a laptop computer, a tablet, a smartphone or a wearable device.
  • a device might be a more specific or purpose-built device, for example a smart field-use tool, a point-of-service device, a point-of-sale device, a self-serve kiosk or a smart appliance.
  • each resource might include a farm of computing devices or one or more virtualized computer resources embodied as processes operating on a physical general purpose programmable computing and communication device. Such farmed or virtualized computers might themselves be distributed over their own local or wide area network, not shown.
  • nodes, devices, servers, and clients are roles or functions performed in the system by properly configured computing and communication resources. Multiple roles or functions could be performed by one resource and one role or function could be distributed over multiple resources.
  • the specific character and configuration of a resource and its connecting network topology is important to the extent that it supports the performance of the assigned roles or functions.
  • FIG. 2 shows an exemplary architecture for a typical computing and communication resource embodying a node of FIG. 1 .
  • These resources have a bottom hardware layer, a middle operating system layer and a top application program layer.
  • the hardware layer provides the resource with computing and communication hardware, including: (a) a Processor to execute processes of instructions and to compute data, (b) user Input hardware to receive input from a user, such as a keyboard (real or virtual), a selection device (for example a mouse, touchpad, touchscreen or other haptic sensor) or a microphone, (c) environmental Sensors to receive input from the environment, such as a camera, a location sensor (e.g. GPS global positioning satellite receiver or cellular radio), an orientation sensor (e.g. compass, gyroscope), a movement sensor (e.g. GPS receiver, accelerometer), or a scanner (e.g. an optical scanner, a magnetic scanner, a chip-and-PIN scanner, a field scanner (e.g.
  • Radio frequency identification—RFID radio frequency identification
  • NFC near field communication
  • COD radio frequency identification
  • NFC near field communication
  • CRFID radio frequency identification
  • NFC near field communication
  • CRFID radio frequency identification
  • NFC near field communication
  • CRFID radio frequency identification
  • NFC near field communication
  • biometric scanner a biometric scanner
  • Output hardware to provide information to a user, such as a video display, a printer or a speaker
  • Memory such as read only memory and random access memory to store data and processing instructions
  • mass Storage such as electromagnetic, optical or nonvolatile solid-state media to store data and processing instructions
  • g Network Interface to support communication with other devices in accordance with known protocols such as code division multiple access (CDMA), global system for mobile communications (GSM), long term evolution (LTE), IEEE standard 802.11 (Wi-Fi), IEEE standard 802.3 (Ethernet), and transmission control protocol/internet protocol (TCP/IP), all interconnected by Buses such as address and data buses and control lines such as interrupt and clock
  • LINUX® or Microsoft® Windows® Server® or Mac® OS X Server® for a resource such as general purpose programmable computer configured as a server or LINUX® or Microsoft® Windows® or Mac® OS X® for a resource such as a general purpose programmable computer configured as a client or even Microsoft® Windows Phone®, Apple® iOS®, Google® Android®, BlackBerry® QNX® or Symbian®, for a portable such device.
  • the operating system layer provides the basic instructions to direct the Processor how to interact with the other hardware described above and more generally how to perform the functions of a communication and computing resource, including storing, accessing and computing data, and communicating with other devices, providing for example a Hardware Abstraction Interface, a File System, Drivers for devices, Process and Resource Management, a System Interface, and an Application Program Interface.
  • the operating system may be configured or extended to provide a web services framework, such as for distributed computing, such as the Windows Communication Foundation application programming interface in the .NET Framework.
  • the operating system layer presents the Application Program Interface to the Application Program layer, so the Processor can execute more sophisticated combinations of processes under the direction of higher level Application Programs stored in mass Storage and loaded into random access Memory for execution, for example the Components and other processes that will be elaborated below.
  • the Application Program layer may also include more purpose-specific application programming interfaces.
  • FIGS. 3 and 4 provide further detail about the interactive presentation and manipulation of data at one of the at least one Edge Devices, wherein FIG. 3 illustrates one embodiment of a graphical user interface and FIG. 4 illustrates classes that support that graphical user interface.
  • An Edge Client deployed on the at least one of the Edge Devices may be provisioned with at least one Workflow commensurate with the Edge Client's Credentials and matched to the characteristics of the at least one of the Edge Devices and its communication Connections, and tailored, as will be described further below, to a user's one activity or plurality of activities, each activity being characterized by the user's particular interactions with particular data.
  • provisioning might be conducted in many ways, for example, including with the Server or a server, or without a server, for example with a configuration tool or medium.
  • the Workflow has a Workspace, having a user-interactive Command Bar and at least one Screen.
  • the Command Bar may include user-interactive objects, such as a File Menu, an Edit Menu, a Selection Menu and a Settings Menu through which a user may interrogate and direct the Workflow, including toggling between Workflows in the case that more than one Workflow has been provisioned.
  • Each Screen may correspond to either a physical display device or a window presented on a physical display, such that multiple Screens may be presented on one or multiple physical display devices.
  • FIG. 3 As illustrated in FIG. 3 , four Screens are provided, for example; however those skilled in the art will recognize that depending on the user preferences and the nature of particular data and Workflows, more or fewer screens may be deployed effectively.
  • Each Screen has at least one Tab having at least one Presentation Space. If a Screen has more than one Tab, a user-interactive Tab Selection Bar may be configured to enable a user to toggle between Tabs.
  • Each Presentation Space may be configured for most effective presentation of an associated Data Fragment. For example, a Data Fragment that includes fields for many records would be well-presented in a Table Space. In contrast, a Data Fragment that includes many fields detailing one record would be well-presented in a Detail Space. In contrast again, a Data Fragment that includes renderable objects linked to (e.g. document files) or associated with (e.g. a map location) one record would be well-presented in a Mash-Up Space.
  • a Presentation Space may also include a user-interactive Constraint Bar, having for example a Search Box, a Filter Box, a Sort Box and a Reset Button, to further constrain the presented Data Fragment for clearer presentation.
  • the current presentation of each of these Screens can depend on which data are constrained or currently selected in other Screens and on which Presentation Space currently has focus.
  • Screen1 For example, if a user were to select in Screen1 a particular one of the presented company records, then in Screen2, only the records of people associated with that company might be displayed. Similarly, if Screen1 were constrained to present only records of companies having a place of business in Marin County, Calif., then in Screen2, only the records of people associated with those companies might be displayed.
  • Screen1 might present only companies associated with that selection and Screen2 might present only people associated with that selection, for example.
  • each Workflow may persist at the Server, and at the Edge Device reside only in Memory, in whole or in part; however, embodiments with Edge Device persistence are also possible, including standalone Edge Device embodiments.
  • a process modeler (or system analyst or the like) would identify the tasks performed for various activities in an organization and deconstruct those tasks into Workflows having associated Data Fragments needed by a user executing the task in performance of the activity.
  • data is presented to such a user by one or more Saas Cloud Servers as a succession of hyperlinked pages that must be laboriously drilled through to locate sought data.
  • the modeler would create concurrent Screens for each Workflow, such Screens having selectable and constrainable Presentation Spaces for presenting the associated Data Fragments.
  • This Workflow data fragmentation allows for more efficient queries, providing better prediction of what Data Fragments need to be served in a priority order to efficiently meet the needs of the user.
  • a Screen1 Data Fragment has a higher rank in a parent-child hierarchy (e.g. company data) than does a Screen2 Data Fragment (e.g. employee data)—in the respect that a user is likely to work through a task from company data toward employee data—then it would make sense that the Screen1 Data Fragment be provided first and then while the user is considering that data the Screen2 Data Fragment be provided.
  • the default prioritization created by the process modeler may be refined in real-time by the selection and constraint choices of the user of the Edge Client, to focus on providing the data of highest interest to the user.
  • the providing of Screen2 would be refined to prioritize first those people associated with ABC Company Ltd.
  • the present disclosure provides advantages even in embodiments where the Server is not present or is otherwise not needed or at least continuously needed, in which the data required by an Edge Client resides on the corresponding Edge Device, having been previously downloaded or otherwise provisioned, or wherein the Edge Device functions as a mini-server for the Edge Client.

Abstract

The present disclosure relates to systems and methods for users to work efficiently with data, including big data and data having rich or complex relationships.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims priority from United States provisional patent application serial number U.S. 62/368,948 filed on Jul. 29, 2016 entitled MULTI-LINKED WORKFLOWS, which is expressly incorporated herein, to the fullest extent permitted by law.
  • BACKGROUND 1. Field
  • The present disclosure relates to systems and methods for users to work efficiently with data, including big data and data having rich or complex relationships. The invention may be deployed in various configurations, including client-server and standalone configurations.
  • 2. Description of Related Art
  • As the volume, velocity and variety of data continues to increase, data workers (users) need tools and other technical solutions to work with such data, let alone work efficiently and effectively (and hence productively).
  • In one example of this challenge, particular users require that data appropriate for their particular needs be delivered in a timely manner and presented in a useful format.
  • Another broader challenge is that the quality of the data itself can become degraded should a system be too frustrating or onerous for its users, such that they don't embrace—or even game—data collection processes, seeing it as a burden unwarranted by the intelligence it yields.
  • Accordingly, what is needed is a better way to address challenges in managing data, for example enterprise data. Aspects and advantages of the present invention will become apparent upon considering the following drawings and description.
  • SUMMARY
  • The present disclosure is directed to this need.
  • According to one aspect of the present disclosure, there is provided an electronic device having a processor, a storage medium and a client component stored on the storage medium, the client component having machine-executable code for execution by the processor for managing data, wherein managing data includes:
  • a. instantiating a workflow,
  • b. instantiating a workspace associated with the workflow,
  • c. instantiating at least two screens associated with the workspace,
  • d. instantiating at least one presentation space associated with each of the at least two screens, and
  • e. presenting a respective at least one data fragment in each respective at least one presentation space,
  • wherein:
  • the at least one data fragment is operable to be currently selected when presented in the respective at least one presentation space, and
  • in response to said selection, at least one other of the at least one presentation space presenting a corresponding data fragment.
  • The at least one presentation space may have a constraint bar, having at least one of: a search box, a filter box and a sort box, for constraining the data fragments presented, respectively by search, filter and sort.
  • The at least one presentation space may be operable to have focus, and in response to the at least one presentation space having focus, at least one other of the at least one presentation space may present a constrained data fragment constrained by the constraint bar of the at least one presentation space.
  • The at least one presentation space may have at least one of: a table space, a detail space, and a mash-up space.
  • The at least two screens may respectively have tabs for selecting between presentation spaces.
  • According to another aspect of the present disclosure, there is provided a computer-implemented method for managing data, comprising:
  • a. instantiating a workflow,
  • b. instantiating a workspace associated with the workflow,
  • c. instantiating at least two screens associated with the workspace,
  • d. instantiating at least one presentation space associated with each of the at least two screens, and
  • e. presenting a respective at least one data fragment in each respective at least on presentation space,
  • wherein:
  • the at least one data fragment is operable to be currently selected when presented in the respective at least one presentation space, and
  • in response to said selection, at least one other of the at least one presentation space presenting a corresponding datafragment.
  • The method may further comprise constraining the data fragment presented in at least one presentation space, wherein constraining may include searching, filtering, sorting, or a combination of these. The method may further comprise selecting the at least one presentation space to have focus, and in response to the at least one presentation space having focus, presenting a constrained data fragment in at least one other of the at least one presentation space.
  • According to yet another aspect of the present disclosure, there is provided a computer program product comprising a computer readable medium storing computer executable instructions thereon that when executed by a computer perform the above-provided method.
  • DESCRIPTION
  • The invention will be more fully illustrated by the following detailed description of non-limiting specific embodiments in conjunction with the accompanying drawing figures. In the figures, similar elements and/or features may have the same reference label. Further, various elements of the same type may be distinguished by following the reference label with a second label that distinguishes among the similar elements. If only the first reference label is identified in a particular passage of the detailed description, then that passage describes any one of the similar elements having the same first reference label irrespective of the second reference label.
  • 1. BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a Unified Modeling Language (UML) 2 deployment diagram of one embodiment of a system for managing data in accordance with aspects of the present invention, the system having nodes that include a Server connected to an Edge Device.
  • FIG. 2 is a UML 2 component diagram of one embodiment of a node in the system of FIG. 1, the node having a stack of devices and components.
  • FIG. 3 is a graphical user interface diagram showing one embodiment of an interactive display of an Edge Device of FIG. 1.
  • FIG. 4 is a UML 2 class diagram of a Client Component deployed on an Edge Device of FIG. 1 to support the graphical user interface of FIG. 3.
  • 2. DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS (a) Structure of Specific Embodiments
  • The structure of the invention will now be illustrated by explanation of specific, non-limiting, exemplary embodiments shown in the drawing figures and described in greater detail herein.
  • FIG. 1 shows a system for managing data according to one embodiment of aspects of the present disclosure. The system may include one or more Servers connected to serve data to at least one Edge Device. Those skilled in the art will appreciate that the teachings of the present disclosure extend also to embodiments where all data and functionality are local to an Edge Device, shared peer-to-peer on a system of Edge Devices, or shared between one or more Servers and one or more Edge Devices.
  • The at least one Edge Device might include a plurality of Edge Devices having different computation, presentation and communication characteristics, including for example a Desktop Device, a Laptop Device, a Tablet Device, a Phone Device or a Wearable Device, such Edge Device or plurality of Edge Devices being configured for use by one user or a plurality of users, such users having one activity or a plurality of activities, each activity being characterized by particular interactions with particular data.
  • Thus, those skilled in the art will recognize that the network topology depicted in FIG. 1 has been simplified for clarity. For example, the network could be scaled to include multiple servers, clients, devices or more generally resources for each node. Furthermore, a particular node might be spread across multiple physical locations (or jurisdictions), which might increase, decrease or change over time, including on-the-fly, depending on resource demands and network management decisions. The network could be provided as a managed network service.
  • Those skilled in the art will understand that in an internetworked system an action is often the result of coordinated activities occurring at multiple nodes in the system. In the case of a system built on the Internet, these nodes are often distributed ad hoc and unpredictably across multiple jurisdictions. The actions as described or claimed herein are intended to encompass at least: (a) actions performed directly and completely within the jurisdiction of the patent, (b) actions coordinated within the jurisdiction but with at least some activities performed outside the jurisdiction, (c) actions coordinated outside the jurisdiction but with at least some activities performed within the jurisdiction, and (d) actions performed for the benefit of a node within the jurisdiction or a person within the jurisdiction using that node. An example of such coordination would be serving a layout for a web page from one node and serving content for insertion into the layout from one or more other nodes, including through the use of server-side scripting, client-side scripting, and Asynchronous JavaScript and XML (AJAX) techniques.
  • In general, each node, server, client, device and more generally resource might be a duly configured general purpose programmable computing and communication resource, sometimes called a processing unit or a computing or communication device, for example a server, a workstation, a desktop computer, a laptop computer, a tablet, a smartphone or a wearable device. Alternatively, a device might be a more specific or purpose-built device, for example a smart field-use tool, a point-of-service device, a point-of-sale device, a self-serve kiosk or a smart appliance. Furthermore, each resource might include a farm of computing devices or one or more virtualized computer resources embodied as processes operating on a physical general purpose programmable computing and communication device. Such farmed or virtualized computers might themselves be distributed over their own local or wide area network, not shown.
  • In essence, nodes, devices, servers, and clients are roles or functions performed in the system by properly configured computing and communication resources. Multiple roles or functions could be performed by one resource and one role or function could be distributed over multiple resources. The specific character and configuration of a resource and its connecting network topology is important to the extent that it supports the performance of the assigned roles or functions.
  • FIG. 2 shows an exemplary architecture for a typical computing and communication resource embodying a node of FIG. 1. These resources have a bottom hardware layer, a middle operating system layer and a top application program layer. Those skilled in the art will recognize the aspects in which like virtualized hardware and resources depart from like physical ones.
  • The hardware layer provides the resource with computing and communication hardware, including: (a) a Processor to execute processes of instructions and to compute data, (b) user Input hardware to receive input from a user, such as a keyboard (real or virtual), a selection device (for example a mouse, touchpad, touchscreen or other haptic sensor) or a microphone, (c) environmental Sensors to receive input from the environment, such as a camera, a location sensor (e.g. GPS global positioning satellite receiver or cellular radio), an orientation sensor (e.g. compass, gyroscope), a movement sensor (e.g. GPS receiver, accelerometer), or a scanner (e.g. an optical scanner, a magnetic scanner, a chip-and-PIN scanner, a field scanner (e.g. radio frequency identification—RFID, near field communication—NFC), a chemical scanner, or a biometric scanner), (d) Output hardware to provide information to a user, such as a video display, a printer or a speaker, (e) Memory such as read only memory and random access memory to store data and processing instructions, (f) mass Storage such as electromagnetic, optical or nonvolatile solid-state media to store data and processing instructions and (g) a Network Interface to support communication with other devices in accordance with known protocols such as code division multiple access (CDMA), global system for mobile communications (GSM), long term evolution (LTE), IEEE standard 802.11 (Wi-Fi), IEEE standard 802.3 (Ethernet), and transmission control protocol/internet protocol (TCP/IP), all interconnected by Buses such as address and data buses and control lines such as interrupt and clock lines and such other connections and components as is conventionally required and known in the art.
  • Stored in a portion of the read only Memory and the mass Storage are the components of the operating system layer, for example LINUX® or Microsoft® Windows® Server® or Mac® OS X Server® for a resource such as general purpose programmable computer configured as a server or LINUX® or Microsoft® Windows® or Mac® OS X® for a resource such as a general purpose programmable computer configured as a client or even Microsoft® Windows Phone®, Apple® iOS®, Google® Android®, BlackBerry® QNX® or Symbian®, for a portable such device. The operating system layer provides the basic instructions to direct the Processor how to interact with the other hardware described above and more generally how to perform the functions of a communication and computing resource, including storing, accessing and computing data, and communicating with other devices, providing for example a Hardware Abstraction Interface, a File System, Drivers for devices, Process and Resource Management, a System Interface, and an Application Program Interface. The operating system may be configured or extended to provide a web services framework, such as for distributed computing, such as the Windows Communication Foundation application programming interface in the .NET Framework.
  • The operating system layer presents the Application Program Interface to the Application Program layer, so the Processor can execute more sophisticated combinations of processes under the direction of higher level Application Programs stored in mass Storage and loaded into random access Memory for execution, for example the Components and other processes that will be elaborated below. The Application Program layer may also include more purpose-specific application programming interfaces.
  • FIGS. 3 and 4 provide further detail about the interactive presentation and manipulation of data at one of the at least one Edge Devices, wherein FIG. 3 illustrates one embodiment of a graphical user interface and FIG. 4 illustrates classes that support that graphical user interface.
  • An Edge Client deployed on the at least one of the Edge Devices may be provisioned with at least one Workflow commensurate with the Edge Client's Credentials and matched to the characteristics of the at least one of the Edge Devices and its communication Connections, and tailored, as will be described further below, to a user's one activity or plurality of activities, each activity being characterized by the user's particular interactions with particular data. Those skilled in the art will recognize that such provisioning might be conducted in many ways, for example, including with the Server or a server, or without a server, for example with a configuration tool or medium.
  • The Workflow has a Workspace, having a user-interactive Command Bar and at least one Screen. The Command Bar may include user-interactive objects, such as a File Menu, an Edit Menu, a Selection Menu and a Settings Menu through which a user may interrogate and direct the Workflow, including toggling between Workflows in the case that more than one Workflow has been provisioned. Each Screen may correspond to either a physical display device or a window presented on a physical display, such that multiple Screens may be presented on one or multiple physical display devices.
  • As illustrated in FIG. 3, four Screens are provided, for example; however those skilled in the art will recognize that depending on the user preferences and the nature of particular data and Workflows, more or fewer screens may be deployed effectively.
  • Each Screen has at least one Tab having at least one Presentation Space. If a Screen has more than one Tab, a user-interactive Tab Selection Bar may be configured to enable a user to toggle between Tabs. Each Presentation Space may be configured for most effective presentation of an associated Data Fragment. For example, a Data Fragment that includes fields for many records would be well-presented in a Table Space. In contrast, a Data Fragment that includes many fields detailing one record would be well-presented in a Detail Space. In contrast again, a Data Fragment that includes renderable objects linked to (e.g. document files) or associated with (e.g. a map location) one record would be well-presented in a Mash-Up Space. A Presentation Space may also include a user-interactive Constraint Bar, having for example a Search Box, a Filter Box, a Sort Box and a Reset Button, to further constrain the presented Data Fragment for clearer presentation.
  • Because the data is fragmented into Data Fragments according to a carefully-architected predetermined Workflow, relationships between Data Fragments are well-understood at the time of the architecting and such relationships can be implemented in the user-interactivity of the Screens, such that constraints and selections in each of the Screens can affect the retrieval and presentation of data in the other Screens.
  • In one example:
      • a first Screen1 may include Table Space for presenting records about a set of companies, for example sales prospects in a particular territory,
      • a second Screen2 may include Table Space for presenting records about a set of people,
      • a third Screen3 may include Table Space for presenting records about a set of notes and a Detail Space for presenting details or content of one of the notes, and
      • a fourth Screen4 may include Mash-Up Space for presenting Emails, Reports, Calendar entries, Documents and Map locations, and more generally linked to (e.g. documents) or associated (e.g. a map location) renderable objects.
  • The current presentation of each of these Screens can depend on which data are constrained or currently selected in other Screens and on which Presentation Space currently has focus.
  • For example, if a user were to select in Screen1 a particular one of the presented company records, then in Screen2, only the records of people associated with that company might be displayed. Similarly, if Screen1 were constrained to present only records of companies having a place of business in Marin County, Calif., then in Screen2, only the records of people associated with those companies might be displayed.
  • Extending this example, if a user were then to select in Screen2 a record of one such person, then in Screen3, only records of notes associated with that person might be displayed in the Table Space. If in Screen3 a user were to select one such note record, then in the Detail Space details about and/or content of that note record would be presented. Alternatively, if Screen2 were constrained to present only records of people having as a last name Smith, then in Screen3, only the records of notes associated with such a subset of people might be displayed.
  • Similarly, if a user were to select in Screen2 a record of one such person, then in Screen4, Emails, Reports, Calendar entries, Documents and Map locations associated with that person might be presented and/or rendered in the Mash-Up Space, for example.
  • Working in the other direction, if a user were to select a note in Screen3 or an Email, Report, Calendar entry, Document and Map location in Screen4, then Screen1 might present only companies associated with that selection and Screen2 might present only people associated with that selection, for example.
  • Those skilled in the art will recognize that a user might apply successive selections and constraints in various combinations of Screens to build up a sophisticated search, filter and/or sort through graphic refinement.
  • Depending on Credentials, data might be added, updated or deleted.
  • Those skilled in the art will recognize that such systems and methods might be embodied using a model-view-controller architecture, passing messages between screens in response to triggering events, for example mouse-clicks or key-presses.
  • Those skilled in the art will recognize that the invention is not limited to specific types of data, workflows, activities or sectors, for example as illustrated above. The invention might be deployed for example to manage:
      • personal information on a standalone laptop computer,
      • a children's sports league in the cloud,
      • municipal publics works on a client-server network,
      • prospective investments on a super computer, or
      • widely distributed climate observations on a peer-to-peer network.
  • As embodied herein, each Workflow may persist at the Server, and at the Edge Device reside only in Memory, in whole or in part; however, embodiments with Edge Device persistence are also possible, including standalone Edge Device embodiments.
  • (b) Operation of Specific Embodiments
  • With reference now to FIGS. 1-4, the operation of these specific embodiments of the system will now be described.
  • A process modeler (or system analyst or the like) would identify the tasks performed for various activities in an organization and deconstruct those tasks into Workflows having associated Data Fragments needed by a user executing the task in performance of the activity. Conventionally, data is presented to such a user by one or more Saas Cloud Servers as a succession of hyperlinked pages that must be laboriously drilled through to locate sought data. Instead, herein the modeler would create concurrent Screens for each Workflow, such Screens having selectable and constrainable Presentation Spaces for presenting the associated Data Fragments.
  • This Workflow data fragmentation allows for more efficient queries, providing better prediction of what Data Fragments need to be served in a priority order to efficiently meet the needs of the user. Thus for example, where a Screen1 Data Fragment has a higher rank in a parent-child hierarchy (e.g. company data) than does a Screen2 Data Fragment (e.g. employee data)—in the respect that a user is likely to work through a task from company data toward employee data—then it would make sense that the Screen1 Data Fragment be provided first and then while the user is considering that data the Screen2 Data Fragment be provided. The default prioritization created by the process modeler may be refined in real-time by the selection and constraint choices of the user of the Edge Client, to focus on providing the data of highest interest to the user. Thus for example, if a user has selected in Screen1 ABC Company Ltd. as the target of his interest, then the providing of Screen2 would be refined to prioritize first those people associated with ABC Company Ltd.
  • Those skilled in the art will recognize that the present disclosure provides advantages even in embodiments where the Server is not present or is otherwise not needed or at least continuously needed, in which the data required by an Edge Client resides on the corresponding Edge Device, having been previously downloaded or otherwise provisioned, or wherein the Edge Device functions as a mini-server for the Edge Client.
  • (c) Description Summary
  • Thus, it will be seen from the foregoing embodiments and examples that there has been described a way for accessing, updating, and more generally managing, enterprise data.
  • While specific embodiments of the invention have been described and illustrated, such embodiments should be considered illustrative of the invention only and not as limiting the invention. In particular, all quantities described have been determined empirically and those skilled in the art might well expect a wide range of values surrounding those described to provide similarly beneficial results.
  • It will be understood by those skilled in the art that various changes, modifications and substitutions can be made to the foregoing embodiments without departing from the principle and scope of the invention expressed in the claims made herein.

Claims (12)

1. An electronic device, comprising:
a. a processor,
b. a storage medium, and
c. a client component stored on the storage medium, the client component comprising machine-executable code executable by the processor to manage data, wherein managing data comprises:
i. instantiating a workflow,
ii. instantiating a workspace associated with the workflow,
iii. instantiating at least two screens associated with the workspace,
iv. instantiating at least one presentation space associated with each of the at least two screens, and
v. presenting a respective at least one data fragment in each respective at least one presentation space,
wherein:
the at least one data fragment is operable to be currently selected when presented in the respective at least one presentation space, and
in response to selection of the at least one data fragment, at least one other of the at least one presentation space presents a corresponding data fragment.
2. The electronic device as claimed in claim 1, wherein the at least one presentation space has a constraint bar, having at least one of:
i. a search box,
ii. a filter box, and
iii. a sort box,
configured to constrain the data fragments presented, respectively by search, filter and sort.
3. The electronic device as claimed in claim 2, wherein:
the at least one presentation space is operable to have focus, and
in response to the at least one presentation space having focus, at least one other of the at least one presentation space presents a constrained data fragment constrained by the constraint bar of the at least one presentation space.
4. The electronic device as claimed in claim 3, wherein the at least one presentation space has at least one of:
i. a table space,
ii. a detail space, and
iii. a mash-up space.
5. The electronic device as claimed in claim 4, wherein the at least two screens respectively have tabs for selecting between presentation spaces.
6. The electronic device as claimed in claim 1, wherein the at least one presentation space has at least one of:
i. a table space,
ii. a detail space, and
iii. a mash-up space.
7. The electronic device as claimed in claim 6, wherein the at least two screens respectively have tabs for selecting between presentation spaces.
8. A computer-implemented method for managing data, comprising:
a. instantiating a workflow,
b. instantiating a workspace associated with the workflow,
c. instantiating at least two screens associated with the workspace,
d. instantiating at least on presentation space associated with each of the at least two screens, and
e. presenting a respective at least one data fragment in each respective at least one presentation space,
wherein:
the at least one data fragment is operable to be currently selected when presented in the respective at least one presentation space, and
in response to said selection, at least one other of the at least one presentation space presents a corresponding data fragment.
9. The computer-implemented method as claimed in claim 8, further comprising constraining the data fragment presented in at least one presentation space.
10. The computer-implemented method as claimed in claim 9, wherein constraining includes at least one of:
a. searching,
b. filtering, and
c. sorting.
11. The computer-implemented method as claimed in claim 9, further comprising:
a. selecting the at least one presentation space to have focus, and
b. in response to the at least one presentation space having focus,
presenting a constrained data fragment in at least one other of the at least one presentation space.
12. A computer program product comprising a computer readable medium storing computer executable instructions thereon that when executed by a computer perform the method steps of claim 8.
US16/321,380 2016-07-29 2017-07-28 Multi-linked workflows Abandoned US20190171638A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/321,380 US20190171638A1 (en) 2016-07-29 2017-07-28 Multi-linked workflows

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662368948P 2016-07-29 2016-07-29
US16/321,380 US20190171638A1 (en) 2016-07-29 2017-07-28 Multi-linked workflows
PCT/CA2017/050902 WO2018018150A1 (en) 2016-07-29 2017-07-28 Multi-linked workflows

Publications (1)

Publication Number Publication Date
US20190171638A1 true US20190171638A1 (en) 2019-06-06

Family

ID=61015290

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/321,380 Abandoned US20190171638A1 (en) 2016-07-29 2017-07-28 Multi-linked workflows

Country Status (2)

Country Link
US (1) US20190171638A1 (en)
WO (1) WO2018018150A1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087053B2 (en) * 2012-10-12 2015-07-21 Hyland Software, Inc. Computer-implemented document manager application enabler system and method

Also Published As

Publication number Publication date
WO2018018150A1 (en) 2018-02-01

Similar Documents

Publication Publication Date Title
US20190272154A1 (en) Application with embedded workflow designer
CN107820701B (en) Developer exchange system
US9584583B2 (en) Desktop and mobile device integration
US20170316363A1 (en) Tailored recommendations for a workflow development system
US8806377B2 (en) Method and system for providing graphical user interface with contextual view
CN105900121B (en) Method for generating an activity stream
US10241777B2 (en) Method and system for managing delivery of analytics assets to users of organizations using operating system containers
US20140096046A1 (en) Composite application framework
US20220092119A1 (en) Integrated views of multiple different computer program applications with action options
US9460407B2 (en) Generating graphical representations of data
US9608869B2 (en) Enterprise applications navigation using tile characteristics that change with applications data
US8170903B2 (en) System and method for weighting configuration item relationships supporting business critical impact analysis
US9658933B2 (en) Automatically modifying a test for a program on multiple electronic devices
US20190140894A1 (en) System and method for enabling hybrid integration platform through runtime auto-scalable deployment model for varying integration
US20210264523A1 (en) System and Method for Presenting Insurance Data in an Interactive Pictorial User-Interface
US11036354B2 (en) Integrating desktop and mobile devices
US10884765B1 (en) Object configuration dynamic graphical user interface
US20190171638A1 (en) Multi-linked workflows
US11093041B2 (en) Computer system gesture-based graphical user interface control
US10628497B2 (en) Dynamic content suggestion in sparse traffic environment
US20170277789A1 (en) Node controllers for hierarchical data structures
US11138273B2 (en) Onboarding services
WO2015134305A1 (en) Configurable reusable controls
US20230305677A1 (en) Employee workflow navigation system
AU2021210221B2 (en) Performing search based on position information

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION