Concurrent Servicing of Multiple Processing Requests
Example systems and methods of concurrent servicing of multiple processing requests are presented. In one example, a plurality of first graphical objects representing processing requests are displayed in a first area of a display. Each of the first graphical objects presents information concerning its corresponding processing request. In response to selection of more than one of the first graphical objects, a plurality of second graphical objects corresponding to the selected first graphical objects are displayed in a second area of the display. Each of the second graphical objects presents second information having a greater level of detail than that of the first information of the corresponding first graphical object. A user-selectable region associated with the second graphical objects is also displayed. In response to a user selection of the user-selectable region, the processing requests associated with the second graphical objects are serviced.
Latest SAP AG Patents:
- Systems and methods for augmenting physical media from multiple locations
- Compressed representation of a transaction token
- Accessing information content in a database platform using metadata
- Slave side transaction ID buffering for efficient distributed transaction management
- Graph traversal operator and extensible framework inside a column store
Within many organizations, such as corporations and other business-oriented entities, managers are often tasked with approving (or otherwise processing) requests or other interrogatories from other employees within the organization. Such employees may be direct or indirect reports of the manager, or may be associated with the manager in some other capacity. Such requests may include, for example, purchase requests, requests for services, requests for vacation time scheduling, and others. Typically, the manager may review each request at some level of detail, and then either approve or deny each request in isolation according to the professional judgment of the manager before processing another request. In some situations, the manager may request more information from the requester before making a final determination on a request.
The present disclosure is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
The description that follows includes illustrative systems, methods, techniques, instruction sequences, and computing machine program products that embody illustrative embodiments. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the inventive subject matter. It will be evident, however, to those skilled in the art that embodiments of the inventive subject matter may be practiced without these specific details. In general, well-known instruction, instances, protocols, structures, and techniques have not been shown in detail.
Turning specifically to the enterprise application platform 112, web servers 124 and application program interface (API) servers 125 are coupled to, and provide web and programmatic interfaces to, application servers 126. The application servers 126 are, in turn, shown to be coupled to one or more database servers 128, which may facilitate access to one or more databases 130. The web servers 124. API servers 125, application servers 126, and database servers 128 may host cross-functional services 132. The application servers 126 may further host domain applications 134.
The cross-functional services 132 may provide user services and processes that utilize the enterprise application platform 112. For example, the cross-functional services 132 may provide portal services (e.g., web services), database services, and connectivity to the domain applications 134 for users that operate the client machine 116, the client/server machine 117, and the small device client machine 122. In addition, the cross-functional services 132 may provide an environment for delivering enhancements to existing applications and for integrating third-party and legacy applications with existing cross-functional services 132 and domain applications 134. Further, while the system 110 shown in
The portal modules 240 may enable a single point of access to other cross-functional services 132 and domain applications 134 for the client machine 116, the small device client machine 122, and the client/server machine 117 of
The relational database modules 242 may provide support services for access to the database 130 (
The connector and messaging modules 244 may enable communication across different types of messaging systems that are utilized by the cross-functional services 132 and the domain applications 134 by providing a common messaging application processing interface. The connector and messaging modules 244 may enable asynchronous communication on the enterprise application platform 112.
The API modules 246 may enable the development of service-based applications by exposing an interface to existing and new applications as services. Repositories may be included in the platform 112 as a central place to find available services when building applications.
The development modules 248 may provide a development environment for the adding, integrating, updating, and extending of software components on the enterprise application platform 112 without impacting existing cross-functional services 132 and domain applications 134.
Turning to the domain applications 134, customer relationship management applications 250 may enable access to, and facilitate collecting and storing of, relevant personalized information from multiple data sources and business processes. Enterprise personnel who are tasked with developing a buyer into a long-term customer may utilize the customer relationship management applications 250 to provide assistance to the buyer throughout a customer engagement cycle.
Enterprise personnel may utilize financial applications 252 and business processes to track and control financial transactions within the enterprise application platform 112. The financial applications 252 may facilitate the execution of operational, analytical, and collaborative tasks that are associated with financial management. Specifically, the financial applications 252 may enable the performance of tasks related to financial accountability, planning, forecasting, and managing the cost of finance.
Human resources applications 254 may be utilized by enterprise personnel and business processes to manage, deploy, and track enterprise personnel. Specifically, the human resources applications 254 may enable the analysis of human resource issues and facilitate human resource decisions based on real-time information.
Product life cycle management applications 256 may enable the management of a product throughout the life cycle of the product. For example, the product life cycle management applications 256 may enable collaborative engineering, custom product development, project management, asset-management, and quality management among business partners.
Supply chain management applications 258 may enable monitoring of performances that are observed in supply chains. The supply chain management applications 258 may facilitate adherence to production plans and on-time delivery of products and services.
Third-party applications 260, as well as legacy applications 262, may be integrated with domain applications 134 and utilize cross-functional services 132 on the enterprise application platform 112.
Additionally, collaborative applications 264 may facilitate joint creation and modification of documents and other work product by multiple users, and data management applications 266 may enable data organization and other management functions to be performed on data generated by one or more other domain applications 134.
In some examples, the processing requests may be request for approval of purchase orders, such as for office equipment to be employed by the requesting employee or others in the performance of work duties. In other implementations, the processing requests may be requests for approval of vacation time to be taken by the requestor during a particular time period. Many other examples of processing requests are also possible, both within and external to the corporate context.
The client device 300 may be a personal computer (PC), a laptop computer, a tablet computer, a smart phone, a personal digital assistant (PDA), or any other communication device that a user may employ to process requests, as described herein. As shown in
The user interface 302 of the client device 300 may include a display 304 and a user input interface 306. In some examples, such as those described more fully below, the display 304 and the user input interface 306 may be combined into a signal electronic component, such as a touchscreen that may be provided in a tablet computer or smart phone. In other examples, the display 304 may be a liquid crystal display (LCD) monitor or other type of display that does not incorporate a user input interface, while the user input interface 306 may include a keyboard, keypad, mouse, touchpad, and/or other devices for receiving user input.
The network interface 308 may be any interface facilitating communication between the client device 300 and other communication devices or systems, such as the enterprise application platforms 112 of
The application 310 may be any application executable on the client device 300 that is configured to receive processing requests via the network interface 308 and allow a user of the client device 300 to process the received requests in some manner. In other examples, the application 310 may be a web browser or other communication application that interacts with a server or other device via the network interface 308 to receive and process the requests. In yet other embodiments, the application 310 may operate as part of a larger communication application, such as an email application, through which the application 310 may receive the processing requests. Other forms of the application 310 that are capable of receiving processing requests and facilitating the processing of those requests by the user of the client device 300 may be employed in other implementations.
As depicted in
The processing request presentation module 316 may display, concurrently or simultaneously, multiple processing requests from one or more other users or entities via the display 304, as well as facilitate the processing (e.g., approval) of multiple ones of the requests by a user of the client device 300 via the user input interface 306. Further, the processing request presentation module 316 may display, upon selection by the user, additional information regarding multiple ones of the processing requests to facilitate a decision by the user regarding the processing of the requests.
The configuration module 312 of the application 310 may receive user input via the user input interface 306 to configure one or more aspects of the application 310. In one implementation, the configuration module 312 may receive selections regarding the location on the display 304 at which the processing requests are displayed, the types and/or amount of information being displayed for each of the requests, and so on.
In the method 400, the processing request presentation module 316 may display first graphical objects, each of which represents a particular processing request, in a first display area of the display 304 (operation 402). In one example, the first graphical objects are presented in a list format, although other forms of presentation are possible in other implementations. Also, each of the first graphical objects may provide information regarding its corresponding processing request at a first level of detail.
In response to a selection of multiple first graphical objects, such as by way of the user input interface 306, the processing request presentation module 316 may display second graphical objects corresponding to the selected first graphical objects in a second display area of the display 304 that is different from the first display area (operation 404). In at least some examples, the amount of information provided by each of the second graphical objects is at a second level higher than that of the first level of detail associated with the first graphical objects.
The processing request presentation module 316 may also present, via the display 304, a user-selectable region associated with the second graphical objects (operation 406). Depending on the nature of the particular user input interface 306 being employed, the user may either select the user-selectable region by touching the associated portion of the display 304 (in the case of a touchscreen), or by activating the region via a mouse click, or via other means. In response to the user selecting the user-selectable region, the processing requests associated with the second graphical objects may then be serviced (operation 408). In one example, servicing of the processing requests may include approval of each of the processing requests of the second graphical objects.
While the operations 402 through 408 of the method 400 of
Also, each of the first graphical objects 506 includes a user-selectable area 509 that, when selected by the user of the client device 300, causes a corresponding second graphical object 516 to be displayed in a second display area 502. In the specific example of
As shown in
Depending on the particular embodiment, the first selection of one of the first graphical objects 506 may be performed by a user of the client device 300, or may be a default selection provided by the processing request presentation module 316. If a default selection is made, the processing request presentation module 316 may base the selection on one or more factors, such as those that may be indicated in the configuration module 312 of the application 310. In one example, such as that shown in
Similarly, the types and amount of information provided in both the first graphical objects 506 and the second graphical object 516 may be determined by the processing request presentation module 316, or by the user via the configuration module 312 of the application 310.
Based on the second information 520 presented in the selected graphical object 516 over the first information 510 provided in the corresponding first graphical object 506, the user of the client device 300 may be able to decide whether to approve or decline the request. To facilitate receiving input regarding such approval or denial, the processing request presentation module 316 may provide a decision area 530 on the display 304 that includes a first user-selectable region 532 by which the user may approve the purchase request. More specifically, the first user-selectable region 532 may indicate the number of requests (e.g., one, in this case) that will be approved by activating the first user-selectable region 532. In the particular example of
As depicted in
In response to the user activating either the first user-selectable region 532 or the second user-selectable region 534, the processing request interface module 314 may cause an indication of the activation to be transmitted via the network interface 308 over a communication network (e.g., the network 114 of
As shown in
In
As a result of the additional second graphical object 516 being displayed, less of the second information 520 associated with each of the two second graphical objects 516 of
In one example, the user of the client device 300 may alter the arrangement of the second graphical objects 516 manually relative to each other. Within the environment of
Also in response to the selection of a second one of the first graphical objects 506, the processing request presentation module 316 may provide updated information in the decision area 530. For example, the number of second graphical objects 516 indicated in the first user-selectable region 532 may be updated, thus indicating that a user selection of the first user-selectable region 532 will result in concurrent or simultaneous approval of all of the processing (purchase) requests associated with the second graphical objects 516 in the second display area 502. Additionally, the summary information 536 of the decision area 530 may be updated to indicate that two of the processing requests are currently selected, with a total cost of $1500.00, thus providing the user an indication of the total financial impact of approving the selected processing requests. In some examples, the folder label 514 may also be updated to indicate the current number of the first graphical objects 506 currently remaining unselected (e.g., two).
To allow the user of the client device 300 to peruse more details regarding one of processing requests associated with a second graphical object 516 than what is available via the example screenshot 501C of
As a result of at least some of the embodiments described above, a user in charge of approving or otherwise processing requests (e.g., purchase requests, vacation time requests, etc.) from one or more sources may quickly select multiple such requests, review information regarding each request, and then process or deny the requests simultaneously or concurrently. Accordingly, the user may process the requests quickly using any type of communication device, including a mobile device, such as a PDA, a tablet computer, and a smart phone.
The machine is capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The example of the processing system 600 includes a processor 602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 604 (e.g., random access memory), and static memory 606 (e.g., static random-access memory), which communicate with each other via bus 608. The processing system 600 may further include video display unit 610 (e.g., a plasma display, a liquid crystal display (LCD), or a cathode ray tube (CRT). The processing system 600 also includes an alphanumeric input device 612 (e.g., a keyboard), a user interface (UI) navigation device 614 (e.g., a mouse), a disk drive unit 616, a signal generation device 618 (e.g., a speaker), and a network interface device 620.
The disk drive unit 616 (a type of non-volatile memory storage) includes a machine-readable medium 622 on which is stored one or more sets of data structures and instructions 624 (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. The data structures and instructions 624 may also reside, completely or at least partially, within the main memory 604, the static memory 606, and/or within the processor 602 during execution thereof by processing system 600, with the main memory 604 and processor 602 also constituting machine-readable, tangible media.
The data structures and instructions 624 may further be transmitted or received over a computer network 650 via network interface device 620 utilizing any one of a number of well-known transfer protocols (e.g., Hypertext Transfer Protocol (HTTP)).
Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A hardware module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., the processing system 600) or one or more hardware modules of a computer system (e.g., a processor 602 or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may include dedicated circuitry or logic that is permanently configured (for example, as a special-purpose processor, such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also include programmable logic or circuitry (for example, as encompassed within a general-purpose processor 602 or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (for example, configured by software) may be driven by cost and time considerations.
Accordingly, the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules include a general-purpose processor 602 that is configured using software, the general-purpose processor 602 may be configured as respective different hardware modules at different times. Software may accordingly configure a processor 602, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
Modules can provide information to, and receive information from, other modules. For example, the described modules may be regarded as being communicatively coupled. Where multiples of such hardware modules exist contemporaneously, communications may be achieved through signal transmissions (such as, for example, over appropriate circuits and buses) that connect the modules. In embodiments in which multiple modules are configured or instantiated at different times, communications between such modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple modules have access. For example, one module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further module may then, at a later time, access the memory device to retrieve and process the stored output. Modules may also initiate communications with input or output devices, and can operate on a resource (for example, a collection of information).
The various operations of example methods described herein may be performed, at least partially, by one or more processors 602 that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors 602 may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, include processor-implemented modules.
Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors 602 or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors 602, not only residing within a single machine but deployed across a number of machines. In some example embodiments, the processors 602 may be located in a single location (e.g., within a home environment, within an office environment, or as a server farm), while in other embodiments, the processors 602 may be distributed across a number of locations.
While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of claims provided below is not limited to the embodiments described herein. In general, the techniques described herein may be implemented with facilities consistent with any hardware system or hardware systems defined hereto. Many variations, modifications, additions, and improvements are possible.
Plural instances may be provided for components, operations, or structures described herein as a single instance. Finally, boundaries between various components, operations, and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the claims. In general, structures and functionality presented as separate components in the exemplary configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the claims and their equivalents.
Claims
1. A method, comprising:
- displaying, in a first area of a display, a plurality of first graphical objects representing processing requests, each of the first graphical objects presenting first information concerning the corresponding processing request;
- displaying, in a second area of the display that is different from the first area, in response to selection of more than one of the first graphical objects, a plurality of second graphical objects corresponding to the selected first graphical objects, each of the second graphical objects presenting second information concerning the processing request of the corresponding first graphical object, the second information having a level of detail greater than a level of detail of the first information of the corresponding first graphical object;
- displaying a user-selectable region associated with the second graphical objects; and
- servicing, by at least one processor of a machine, in response to a user selection of the user-selectable region, the processing requests associated with the second graphical objects.
2. The method of claim 1, at least one of the selected first graphical objects being selected by default without user input.
3. The method of claim 1, the plurality of first graphical objects being selectable by a user, and at least one of the selected first graphical objects being selected by the user.
4. The method of claim 1, the displaying of the user-selectable region occurring in the second area of the display.
5. The method of claim 1, further comprising:
- displaying, in conjunction with the user-selectable region, an indication of a number of the second graphical objects.
6. The method of claim 1, further comprising:
- displaying, in conjunction with the user-selectable region, a second user-selectable region to decline to service the processing requests associated with the second graphical objects.
7. The method of claim 1, the first graphical objects being arranged in the first area as a list.
8. The method of claim 1, the second graphical objects, appearing in the second area as overlapping documents.
9. The method of claim 1, the first information concerning the corresponding processing request comprising at least one of a requester of the corresponding processing request, a date of the corresponding processing request, a time of the corresponding processing request, and a title of the corresponding processing request, and the second information concerning the corresponding processing request comprising a description of the corresponding processing request.
10. The method of claim 1, each of the processing requests comprising a request for approval of a proposed action by a party, and the servicing of the processing requests comprising approving the processing requests.
11. The method of claim 10, the proposed action comprising a proposed purchase, the method further comprising displaying, in conjunction with the user-selectable region, a total amount of the proposed purchases associated with the second graphical objects.
12. The method of claim 1, further comprising:
- displaying, in response to a user selection of one of the second graphical objects, a third graphical object presenting third information concerning the processing request of the corresponding first graphical object and having a level of detail greater than a level of detail of the second information of the corresponding second graphical object.
13. The method of claim 12, the displaying of the third graphical object comprising overlaying the third graphical object over at least one of the first area and the second area.
14. The method of claim 12, further comprising:
- displaying a second user-selectable region in conjunction with the third graphical object; and
- servicing, in response to a user selection of the second user-selectable region, the processing request associated with the third graphical object.
15. The method of claim 14, further comprising:
- displaying, in conjunction with the third graphical object, a third user-selectable region to decline to service the processing request associated with the third graphical object.
16. A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor of a mobile communication device, cause the mobile communication device to perform operations comprising:
- displaying, in a first area of a display of the mobile communication device, a plurality of first graphical objects representing processing requests, each of the first graphical objects presenting first information concerning the corresponding processing request;
- displaying, in a second area of the display that is different from the first area, in response to selection of more than one of the first graphical objects, a plurality of second graphical objects corresponding to the selected first graphical objects, each of the second graphical objects presenting second information concerning the processing request of the corresponding first graphical object, the second information having a level of detail greater than a level of detail of the first information of the corresponding first graphical object;
- displaying a user-selectable region associated with the second graphical objects; and
- servicing, in response to a user selection of the user-selectable region, the processing requests associated with the second graphical objects.
17. The non-transitory computer-readable storage medium of claim 16, the plurality of first graphical objects being selectable by a user, and at least one of the selected first graphical objects being selected by the user.
18. A mobile communication device, comprising:
- a visual display component;
- at least one processor; and
- a memory storing modules comprising instructions to be executed by the at least one processor, the modules comprising: a processing request interface module configured to receive a plurality of processing requests from a computing system external to the mobile communication device; and a processing request presentation module configured to: display, in a first area of the visual display component, a plurality of first graphical objects representing processing requests, each of the first graphical objects presenting first information concerning the corresponding processing request; display, in a second area of the visual display component that is different from the first area, in response to selection of more than one of the first graphical objects, a plurality of second graphical objects corresponding to the selected first graphical objects, each of the second graphical objects presenting second information concerning the processing request of the corresponding first graphical object, the second information having a level of detail greater than a level of detail of the first information of the corresponding first graphical object; and displaying a user-selectable region associated with the second graphical objects; the processing request interface module further configured to indicate, in response to a user selection of the user-selectable region, servicing of the processing requests associated with the second graphical objects to the computing system.
19. The mobile communication device of claim 18, the processing request presentation module further configured to:
- display, in response to a user selection of one of the second graphical objects, a third graphical object presenting third information concerning the processing request of the corresponding first graphical object and having a level of detail greater than a level of detail of the second information of the corresponding second graphical object.
20. The mobile communication device of claim 18, the processing request presentation module further configured to display, in conjunction with the third graphical object, a second user-selectable region to service the processing request associated with the third graphical object; and
- the processing request interface module further configured to indicate, in response to a user selection of the second user-selectable region, servicing of the processing request associated with the third graphical object to the computing device.
Type: Application
Filed: Dec 12, 2012
Publication Date: Jun 12, 2014
Applicant: SAP AG (Walldorf)
Inventor: Timo Hoyer (Mountain View, CA)
Application Number: 13/712,706
International Classification: G06F 3/0482 (20060101);