A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The specification generally relates to forums for sharing ideas.
The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.
Some forms of obtaining customer feedback are focus groups and user meetings. However, focus groups and user meetings can be expensive to run. Conventionally, applications, such as databases, file systems, word processors and the like, were delivered to the end users in the form of software. Feedback mechanisms for these products exist typically in the form of problem reports, quality surveys and the like.
With the advent of the web, however, software-like utility is increasingly delivered to users as a service. These so named “software as a service” approaches may include a group of end users, who may wish to use the service offering collaboratively, or who may wish to share their input as a community, making the old problem report or feedback survey cumbersome or unsatisfactory.
Accordingly, it is desirable to provide techniques enabling sharing ideas to improve service offerings.
In the following drawings like reference numbers are used to refer to like elements. Although the following figures depict various examples, the one or more implementations are not limited to the examples depicted in the figures.
Systems and methods are provided for escalating the content of a forum to particular locations, which may be in a database network system.
Although various embodiments of the invention may have been motivated by various deficiencies with the prior art, which may be discussed or alluded to in one or more places in the specification, the embodiments of the invention do not necessarily address any of these deficiencies. In other words, different embodiments of the invention may address different deficiencies that may be discussed in the specification. Some embodiments may only partially address some deficiencies or just one deficiency that may be discussed in the specification, and some embodiments may not address any of these deficiencies.
As used herein, the term multi-tenant database system refers to those systems in which various elements of hardware and software of the database system may be shared by one or more customers. For example, a given application server may simultaneously process requests for a great number of customers, and a given database table may store rows for a potentially much greater number of customers. As used herein, the term query plan refers to a set of steps used to access information in a database system.
Next, mechanisms and methods for providing methods and systems for cases to escalate will be described with reference to example embodiments. In this specification a community is a group of users that share a common interest and tend to communicate with one another about that common interest. A community website is a website in which users share ideas that are related to the community. An on-demand community is a community website that is created by the tenant using pre-established tools specialized for creating communities. In an embodiment, the focus of the communities may be on on-demand enterprise communities, which are communities structured around a business' ecosystem: partners, customers, vendors, employees, etc.
In this specification the terms forum, web forum, and community website may be interchanged with one another to obtain different embodiments. Additionally, forum content may be used to refer to a question or questions and answers discussed in a forum. The forum contents may reside in a database. The forum may include various features and/or tools that are available to users and/or administrators. Some content may be placed initially on the forum at the launch of the website, which gives an initial significant value to the website that may be linearly proportional to the number of users that are able to view the content and that are expected to be interested in the content. Enabling user interaction with one another, via the posting of new ideas, the commenting on ideas, and/or participating in discussions causes the value of the website to increase in the community.
Traditional forums have focused on providing a meeting place for a virtual community of internet users who share common interest. However, forums can also be used for lowering costs in a business context by providing a cheaper avenue for customer service. Instead of calling into a call center where a human agent takes calls and answers questions, forums can provide a more scalable method where customers can help each other answer their own questions.
Generally, forums serve a similar function to customer support. However, there are questions that may come into a forum that may need to be escalated to a customer support agent for a variety of reasons. A few examples of such cases may be the importance of the issue, the severity of the customer's problem alluded to in the question, a question unanswered by the community, and/or the value of the customer, among other reasons.
In an embodiment, application platform 100 is a platform for hosting a forum about a product or customer related topic. Application platform 100 facilitates organizing the questions and answers presented during the forum in a manner so that the information receives appropriate attention. In an embodiment, application platform 100 may have forum 102, which may be a community website and may have a common goal of discussing a product. Customer case management system 104 may be a database for managing customer support issues. Customer case management 104 may store information about specific issues that need to be resolved for specific clients, such as which issues have troubled which clients, how long ago the issue appeared, whether any action has been taken to resolve the problem, what has been done to resolve the issue, how well the action taken to resolve the problem worked. Knowledge base management system 106 may be a database of knowledge articles. Generally, knowledge articles are entered by customer support agents. The knowledge articles may include information that customers, customer care agents, and/or administrators are expected to find useful. The knowledge articles may come from forum 102, optionally knowledge articles may also come from elsewhere. For example, knowledge articles about a new product, such as tutorials or specific topics, may be placed in forum 102 by the developer at the time that a product is released. Post question algorithm 108 presents a user interface to enter a question in forum 102. Once a question is presented to the forum 102, the question is visible to other users and the other users can reply to the posted question. Post reply 110 may be an algorithm with a user interface to post a reply to a question. Multiple users can reply to the question. Display similar questions 112, may be an algorithm for searching the forum 102 for similar questions which were presented earlier in the forum and display them. The user has the option of browsing the similar questions or presenting the question to the forum. Apart from answering questions, users can vote whether they like the posted answers. Vote like 114 may be an algorithm for voting whether a user likes the answer. In an alternative embodiment, the users can vote on questions in addition to, and/or independently from, voting on answers.
If the authorized personnel considers that a particular question has been well addressed, the authorized personnel can vote as best answer. Vote best answer 116 may be an algorithm for voting an answer as best answer. In this specification authorized personnel may be any person authorized to escalate or promote an article. For example, in an embodiment, the authorized personnel may include one or more moderators of the forum, one or more administrators of the system hosting the forum, owner of the question and customer support agents, and/or other authorized personnel.
Regarding evaluate question 118, in an embodiment, an integrated solution is provided whereby a forum question can be escalated into a customer case management system 104 by authorized personnel. Evaluate question 118, is an algorithm for evaluating the question for escalation to customer case management system 104.
Regarding, algorithm evaluate forum content 120, when a question is well discussed by the forum members, the forum content can become a valuable asset. In this specification, forum content refers to the questions and answers associated with the question. Evaluate forum content 120 is an algorithm for evaluating the forum content for promoting to knowledge base management system 106. The authorized personnel evaluates the forum content to promote the forum content to knowledge base management system 106.
Escalate question 122 escalates a question to customer case management system 104. Escalation is the process of adding information to a location where the information may be given more attention. The word “escalate” (or any of the conjugations of escalate) is used instead of “add” to indicate that the information is given a higher degree of importance and that the information is being added to a location where the information will receive attention. Escalation 122 generates a case in the customer case management system 104, attaching the question to the case so that the question and the case can be tracked as a pair and finally informing the forum that a case has been created from the forum.
Promote forum content 124 promotes forum content, so that the content is given a higher credibility. The words promote and escalate are used in a similar fashion, except in this specification, the word “promote” in conjunction with the “knowledge base” and the word “escalate” is used in conjunction with the “customer case management,” but otherwise both the words “promote” and “escalate” are used for the same meaning. Promoting forum content may be performed by generating an entry in the knowledge base management system 106 from the forum content. The entry may be attached to the forum content for further tracking and informing the forum members that a new article is added to the knowledge base management system 106 from the forum content.
Users who post questions in the forum can read posted replies, vote to like or dislike as well as vote an answer as best.
Users who do not post a question can read replies and vote to like or dislike a reply.
Users who do not post a question can only read posted replies and/or vote.
In an embodiment, each of the steps of method 200 is a distinct step. In other embodiments, method 200 may not have all of the above steps and/or may have other steps in addition to or instead of those listed above. The steps of method 200 may be performed in another order. Subsets of the steps listed above as part of method 200 may be used to form their own method. In an embodiment, there could be multiple instances of method 200.
In an embodiment, each of the steps of method 300 is a distinct step. In other embodiments, method 300 may not have all of the above steps and/or may have other steps in addition to or instead of those listed above. The steps of method 300 may be performed in another order. Subsets of the steps listed above as part of method 300 may be used to form their own method. In an embodiment, there could be multiple instances of method 300.
In an embodiment, each of the steps of method 400 is a distinct step. In other embodiments, method 400 may not have all of the above steps and/or may have other steps in addition to or instead of those listed above. The steps of method 400 may be performed in another order. Subsets of the steps listed above as part of method 400 may be used to form their own method. In an embodiment, there could be multiple instances of method 400.
A new entry is added to the customer case management system 104 by escalation. Escalation to customer case management system 104 is the process of creating a new case in customer case management system 104 with the question from forum 102. The second step in escalation involves attaching the question to the case for the purposes of tracking The final step in escalation may be informing forum 102 that a new case has been created with the forum content.
A new entry is added to knowledge base management system 106 by promotion. The first step in promoting to the knowledge base management system 106 may include creating a new article in the knowledge base management system 106 that includes the forum content. The second step may involve attaching the forum content to the new article and the final step may be informing the forum that a new article has been added to the knowledge base.
In step 510, a new entry is added to database, which optionally may involve adding a record for the entry in a relational database. In step 512, forum content may be attached to the new entry in the database, so that customer support staff as well as forum members can track the entry. In step 514, forum 102 is informed of the new entry in the database. If forum content is not added to the database, then the forum content remains in the forum. Steps 510, 512 and 514 constitute the escalation or promotion of the forum content.
In an embodiment, each of the steps of method 500 is a distinct step. In other embodiments, method 500 may not have all of the above steps and/or may have other steps in addition to or instead of those listed above. The steps of method 500 may be performed in another order. Subsets of the steps listed above as part of method 500 may be used to form their own method. In other embodiments, there could be multiple instances of method 500.
In an embodiment, each of the steps of method 600 is a distinct step. In other embodiments, method 600 may not have all of the above steps and/or may have other steps in addition to or instead of those listed above. The steps of method 600 may be performed in another order. Subsets of the steps listed above as part of method 600 may be used to form their own method. In an embodiment, there could be multiple instances of method 600.
In step 706, the collected data may be presented by the server to authorized personnel to evaluate promotion. In decision box 708, the server waits for input from the authorized personnel. If the server receives input from the authorized personnel requesting to promote a question and answer to knowledge base management system 106, then the system proceeds to step 710. Steps 704, 706 and 708 perform the step of 508 (which was discussed in conjunction with
In an embodiment, each of the steps of method 700 is a distinct step. In other embodiments, method 700 may not have all of the above steps and/or may have other steps in addition to or instead of those listed above. The steps of method 700 may be performed in another order. Subsets of the steps listed above as part of method 700 may be used to form their own method. In an embodiment, there could be multiple instances of method 700.
First a brief explanation of how
Although user name 802, help & training menu 804, community menu 806, home tab 808, contacts tab 810, companies tab 812, ideas tab 814, answers tab 816, reports tab 822, dashboards tab 824, search tab 826, and ‘+’ menu 830 appear in the screenshots of each of
Similarly, cases tab 818, articles tab 820, article management tab 828, discussed above, appear in
Screenshot 800 is a webpage that contains links for the user to access forum activities such as posting question, replying, escalating and promoting. Screenshot 800 includes information summarizing the recent forum activities and various forum topics.
User name 802 may display the user name of the current user. Help & training menu 804 may cause a webpage to appear that lists help and training in using the database system. Community menu 806, when selected, may list and provide links to various online communities such as sales and marketing. The home tab 808, when selected, may cause a webpage to appear that may be the user's webpage. Contacts tab 810, when selected, may cause a contacts webpage to appear that helps user in creating and managing contacts. The contacts webpage may allow the viewing and editing of detailed information about the contacts. Companies tab 812, when selected, may cause a companies-webpage to appear that list the organization's customers, competitors, and partners. The companies-webpage may have detailed information such as name, address, and phone numbers and related information such as opportunities, activities, cases, partners, contracts, and notes. Ideas tab 814, when selected, may causes a contacts-ideas-webpage to appear. The contacts-ideas-webpage is an online suggestion box that includes discussions and popularity rankings for a subject. Answer tab 816, when selected, may cause question screenshot 800 to appear. In the screenshot of
Continuing with
Selecting ask button 844 may cause the server to search forum 102 for questions similar to the question in question box 842.
In
In
When a reply is posted by selecting the reply button 1112, the user system receives an acknowledgement. Acknowledgement 1202 may be the acknowledgement that is received when a reply is successfully posted.
In
In
In
Selecting promote to article link 1408 causes article management webpage in
Selecting save button 1606 causes an article to be added to knowledge base. Screenshot 1700 shows acknowledgement of the article promotion 1702.
Selecting save button 1804 causes a case to be added to customer case management system. Screenshot 1900 shows acknowledgement of a case being escalated in escalation acknowledgement 1902.
Home tab 2002, chatter tab 2004, profile tab 2006, people tab 2008, groups tab 2010, accounts tab 2012, opportunities tab 2014, contacts tab 2016, files tab 2018, reports tab 2020 and dashboards tab 2022 also appears in figures
Screenshot 2000 is a webpage that provides the user with an interface for posting questions. The home tab 2002 is a tab that brings the user to a homepage (not shown) of the user's on-demand service. The chatter tab 2004 is a tab that causes a webpage to list workspaces (not shown) within the user's on-demand service which the user may select. The profile tab 2006 is a tab that causes user's profile page to appear, where the user can then view or edit the profile. People tab 2008 is a tab that takes the user to people's page. Selecting the people's tab causes a webpage to display a list of users in an organization. Groups tab 2010 is highlighted and presently selected by the user to display screenshot 2000. Groups are set of users. Selecting the groups tab 2010 causes to list of forums to appear. Selecting accounts tab 2012 causes the account management page to appear. The account management page helps in managing user accounts, and may contain links that provide a summary of information about specific accounts and/or may provide information about a group of accounts. Selecting opportunities tab 2014 takes the user to the sales and sale leads management pages, which help in managing new business opportunities. The contacts tab 2016 is a tab that helps users manage the contacts list. The Contacts list may help in managing by adding, deleting or editing contacts in an organization. The contacts list could contain names, email addresses and phone numbers of customers, vendors and potential customers and their activities on the multi-tenant database system. Selecting files tab 2018 takes the user to document storage area for managing documents. Reports tab 2020 is a tab that brings the user to a page where reports can be generated. Dashboards tab 2022 when selected causes dashboard webpage to appear. Dashboard webpage shows data from reports as visual components, which can be charts, gauges or tables. Dashboard webpage provides a snapshot of key metrics and performance indicators of an organization.
Continuing with
Screenshot 2100 is a webpage with a question input interface. Groups tab 2010 is highlighted and presently selected by the user to display screenshot 2100. User interface 2102 may be the box within which a question may be inputted. Content entered in the user interface can be posted in the forum. Question 2104 displays the question to be posted in the forum. Selecting share button 2106 causes the question to be entered in the forum.
Screenshot 2200 is a webpage which displays similar questions. Groups tab 2010 is highlighted and presently selected by the user to display screenshot 2200. The user system searches through the forum content for questions which are similar to the user's question and then displays them. User interface 2202 displays similar questions. Selecting similar questions 2204 causes a webpage with forum content related to the question to appear. Selecting share button 2106 posts the question in forum 102 and there by visible to all forum members.
Screenshot 2300 is a webpage that displays user posted questions. The groups tab 2010 is highlighted and presently selected by the user to display screenshot 2300. The posted question 2302 is now visible to all users of the forum.
Screenshot 2400 is a webpage which displays the chatter page. The chatter tab 2004 is highlighted and presently selected by the user to display chatter page in screenshot 2400. The chatter page displays the user activities in the forum. Such activities might include posting a question, posting an answer, following a conversation, commenting on posts and voting like or best answer. In an embodiment, the user name 2402 is displayed. User interface 2404 is an interface to post a question is available. The user system displays recommended people 2406, recommended groups 2408 and trending topics 2410. In screenshot 2400, the chatter page has additional links listed in chatter menu 2412. Posted reply 2414 is visible to all users. Users can choose to vote an answer choosing the like link 2416. The user who posted the question has additional privileges like voting best answer. Selecting best answer link 2418 marks the answer as best answer. Selecting the delete link 2420 by authorized personnel deletes the forum conversation.
Screenshot 2500 is a webpage which displays the chatter page. The chatter tab 2004 is highlighted and presently selected by the user to display chatter page in screenshot 2500. Users can vote an answer as best. In an embodiment, the chatter page could show an answer which has been voted as best answer 2502.
Environment 2610 is an environment in which an on-demand database service exists. User system 2612 may be any machine or system that is used by a user to access a database user system. For example, any of user systems 2612 can be a handheld computing device, a mobile phone, a laptop computer, a work station, and/or a network of computing devices. As illustrated in
An on-demand database service, such as system 2616, is a database system that is made available to outside users that do not need to necessarily be concerned with building and/or maintaining the database system, but instead may be available for their use when the users need the database system (e.g., on the demand of the users). Some on-demand database services may store information from one or more tenants stored into tables of a common database image to form a multi-tenant database system (MTS). Accordingly, “on-demand database service 2616” and “system 2616” will be used interchangeably herein. A database image may include one or more database objects. A relational database management system (RDMS) or the equivalent may execute storage and retrieval of information against the database object(s). Application platform 2618 may be a framework that allows the applications of system 2616 to run, such as the hardware and/or software, e.g., the operating system. In an embodiment, on-demand database service 2616 may include an application platform 2618 that enables creation, managing and executing one or more applications developed by the provider of the on-demand database service, users accessing the on-demand database service via user systems 2612, or third party application developers accessing the on-demand database service via user systems 2612.
The users of user systems 2612 may differ in their respective capacities, and the capacity of a particular user system 2612 might be entirely determined by permissions (permission levels) for the current user. For example, where a salesperson is using a particular user system 2612 to interact with system 2616, that user system has the capacities allotted to that salesperson. However, while an administrator is using that user system to interact with system 2616, that user system has the capacities allotted to that administrator. In systems with a hierarchical role model, users at one permission level may have access to applications, data, and database information accessible by a lower permission level user, but may not have access to certain applications, database information, and data accessible by a user at a higher permission level. Thus, different users will have different capabilities with regard to accessing and modifying application and database information, depending on a user's security or permission level.
Network 2614 is any network or combination of networks of devices that communicate with one another. For example, network 2614 can be any one or any combination of a LAN (local area network), WAN (wide area network), telephone network, wireless network, point-to-point network, star network, token ring network, hub network, or other appropriate configuration. As the most common type of computer network in current use is a TCP/IP (Transfer Control Protocol and Internet Protocol) network, such as the global internetwork of networks often referred to as the “Internet” with a capital “I,” that network will be used in many of the examples herein. However, it should be understood that the networks that the one or more implementations might use are not so limited, although TCP/IP is a frequently implemented protocol.
User systems 2612 might communicate with system 2616 using TCP/IP and, at a higher network level, use other common Internet protocols to communicate, such as HTTP, FTP, AFS, WAP, etc. In an example where HTTP is used, user system 2612 might include an HTTP client commonly referred to as a “browser” for sending and receiving HTTP messages to and from an HTTP server at system 2616. Such an HTTP server might be implemented as the sole network interface between system 2616 and network 2614, but other techniques might be used as well or instead. In some implementations, the interface between system 2616 and network 2614 includes load sharing functionality, such as round-robin HTTP request distributors to balance loads and distribute incoming HTTP requests evenly over a plurality of servers. At least as for the users that are accessing that server, each of the plurality of servers has access to the MTS' data; however, other alternative configurations may be used instead.
In one embodiment, system 2616, shown in
One arrangement for elements of system 2616 is shown in
Several elements in the system shown in
According to one embodiment, each user system 2612 and all of its components are operator configurable using applications, such as a browser, including computer code run using a central processing unit such as an Intel Pentium® processor or the like. Similarly, system 2616 (and additional instances of an MTS, where more than one is present) and all of their components might be operator configurable using application(s) including computer code to run using a central processing unit such as processor system 2617, which may include an Intel Pentium® processor or the like, and/or multiple processor units. A computer program product embodiment includes a machine-readable storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the embodiments described herein. Computer code for operating and configuring system 2616 to intercommunicate and to process webpages, applications and other data and media content as described herein are preferably downloaded and stored on a hard disk, but the entire program code, or portions thereof, may also be stored in any other volatile or non-volatile memory medium or device as is well known, such as a ROM or RAM, or provided on any media capable of storing program code, such as any type of rotating media including floppy disks, optical discs, digital versatile disk (DVD), compact disk (CD), microdrive, and magneto-optical disks, and magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data. Additionally, the entire program code, or portions thereof, may be transmitted and downloaded from a software source over a transmission medium, e.g., over the Internet, or from another server, as is well known, or transmitted over any other conventional network connection as is well known (e.g., extranet, VPN, LAN, etc.) using any communication medium and protocols (e.g., TCP/IP, HTTP, HTTPS, Ethernet, etc.) as are well known. It will also be appreciated that computer code for implementing embodiments can be implemented in any programming language that can be executed on a client system and/or server or server system such as, for example, C, C++, HTML, any other markup language, Java™, JavaScript, ActiveX, any other scripting language, such as VBScript, and many other programming languages as are well known may be used. (Java™ is a trademark of Sun Microsystems, Inc.).
According to one embodiment, each system 2616 is configured to provide webpages, forms, applications, data and media content to user (client) systems 2612 to support the access by user systems 2612 as tenants of system 2616. As such, system 2616 provides security mechanisms to keep each tenant's data separate unless the data is shared. If more than one MTS is used, they may be located in close proximity to one another (e.g., in a server farm located in a single building or campus), or they may be distributed at locations remote from one another (e.g., one or more servers located in city A and one or more servers located in city B). As used herein, each MTS could include one or more logically and/or physically connected servers distributed locally or across one or more geographic locations. Additionally, the term “server” is meant to include a computer system, including processing hardware and process space(s), and an associated storage system and database application (e.g., OODBMS or RDBMS) as is well known in the art. It should also be understood that “server system” and “server” are often used interchangeably herein. Similarly, the database object described herein can be implemented as single databases, a distributed database, a collection of distributed databases, a database with redundant online or offline backups or other redundancies, etc., and might include a distributed database or storage network and associated processing intelligence.
User system 2612, network 2614, system 2616, tenant data storage 2622, and system data storage 2624 were discussed above in
Application platform 2618 includes an application setup mechanism 2738 that supports application developers' creation and management of applications, which may be saved as metadata into tenant data storage 2622 by save routines 2736 for execution by subscribers as one or more tenant process spaces 2604 managed by tenant management process 2610 for example. Invocations to such applications may be coded using PL/SOQL 2734 that provides a programming language style interface extension to API 2732. A detailed description of some PL/SOQL language embodiments is discussed in commonly owned co-pending U.S. Provisional Patent Application 60/828,192 entitled, PROGRAMMING LANGUAGE METHOD AND SYSTEM FOR EXTENDING APIS TO EXECUTE IN CONJUNCTION WITH DATABASE APIS, by Craig Weissman, filed Oct. 4, 2006, which is incorporated in its entirety herein for all purposes. Invocations to applications may be detected by one or more system processes, which manages retrieving application metadata 2616 for the subscriber making the invocation and executing the metadata as an application in a virtual machine.
Each application server 2700 may be communicably coupled to database systems, e.g., having access to system data 2725 and tenant data 2723, via a different network connection. For example, one application server 27001 might be coupled via the network 2614 (e.g., the Internet), another application server 2700N−1 might be coupled via a direct network link, and another application server 2700N might be coupled by yet a different network connection. Transfer Control Protocol and Internet Protocol (TCP/IP) are typical protocols for communicating between application servers 2700 and the database system. However, it will be apparent to one skilled in the art that other transport protocols may be used to optimize the system depending on the network interconnect used.
In certain embodiments, each application server 2700 is configured to handle requests for any user associated with any organization that is a tenant. Because it is desirable to be able to add and remove application servers from the server pool at any time for any reason, there is preferably no server affinity for a user and/or organization to a specific application server 2700. In one embodiment, therefore, an interface system implementing a load balancing function (e.g., an F5 Big-IP load balancer) is communicably coupled between the application servers 2700 and the user systems 2612 to distribute requests to the application servers 2700. In one embodiment, the load balancer uses a least connections algorithm to route user requests to the application servers 2700. Other examples of load balancing algorithms, such as round robin and observed response time, also can be used. For example, in certain embodiments, three consecutive requests from the same user could hit three different application servers 2700, and three requests from different users could hit the same application server 2700. In this manner, system 2616 is multi-tenant, wherein system 2616 handles storage of, and access to, different objects, data and applications across disparate users and organizations.
As an example of storage, one tenant might be a company that employs a sales force where each salesperson uses system 2616 to manage their sales process. Thus, a user might maintain contact data, leads data, customer follow-up data, performance data, goals and progress data, etc., all applicable to that user's personal sales process (e.g., in tenant data storage 2622). In an example of a MTS arrangement, since all of the data and the applications to access, view, modify, report, transmit, calculate, etc., can be maintained and accessed by a user system having nothing more than network access, the user can manage his or her sales efforts and cycles from any of many different user systems. For example, if a salesperson is visiting a customer and the customer has Internet access in their lobby, the salesperson can obtain critical updates as to that customer while waiting for the customer to arrive in the lobby.
While each user's data might be separate from other users' data regardless of the employers of each user, some data might be organization-wide data shared or accessible by a plurality of users or all of the users for a given organization that is a tenant. Thus, there might be some data structures managed by system 2616 that are allocated at the tenant level while other data structures might be managed at the user level. Because an MTS might support multiple tenants including possible competitors, the MTS should have security protocols that keep data, applications, and application use separate. Also, because many tenants may opt for access to an MTS rather than maintain their own system, redundancy, up-time, and backup are additional functions that may be implemented in the MTS. In addition to user-specific data and tenant specific data, system 2616 might also maintain system level data usable by multiple tenants or other data. Such system level data might include industry reports, news, postings, and the like that are sharable among tenants.
In certain embodiments, user systems 2612 (which may be client systems) communicate with application servers 2700 to request and update system-level and tenant-level data from system 2616 that may require sending one or more queries to tenant data storage 2622 and/or system data storage 2624. System 2616 (e.g., an application server 2700 in system 2616) automatically generates one or more SQL statements (e.g., one or more SQL queries) that are designed to access the desired information. System data storage 2624 may generate query plans to access the requested data from the database.
Each database can generally be viewed as a collection of objects, such as a set of logical tables, containing data fitted into predefined categories. A “table” is one representation of a data object, and may be used herein to simplify the conceptual description of objects and custom objects. It should be understood that “table” and “object” may be used interchangeably herein. Each table generally contains one or more data categories logically arranged as columns or fields in a viewable schema. Each row or record of a table contains an instance of data for each category defined by the fields. For example, a CRM database may include a table that describes a customer with fields for basic contact information such as name, address, phone number, fax number, etc. Another table might describe a purchase order, including fields for information such as customer, product, sale price, date, etc. In some multi-tenant database systems, standard entity tables might be provided for use by all tenants. For CRM database applications, such standard entities might include tables for Account, Contact, Lead, and Opportunity data, each containing pre-defined fields. It should be understood that the word “entity” may also be used interchangeably herein with “object” and “table”.
In some multi-tenant database systems, tenants may be allowed to create and store custom objects, or they may be allowed to customize standard entities or objects, for example by creating custom fields for standard objects, including custom index fields. U.S. patent application Ser. No. 10/8128,161, filed Apr. 2, 2004, entitled “Custom Entities and Fields in a Multi-Tenant Database System”, and which is hereby incorporated herein by reference, teaches systems and methods for creating custom objects as well as customizing standard objects in a multi-tenant database system. In certain embodiments, for example, all custom entity data rows are stored in a single multi-tenant physical table, which may contain multiple logical tables per organization. It is transparent to customers that their multiple “tables” are in fact stored in one large table or that their data may be stored in the same table as the data of other customers.
In step 2904, system 2616 (
In step 2906, user system 2612 is communicatively coupled to network 2704. In step 2908, system 2616 is communicatively coupled to network 2704 allowing user system 2612 and system 2616 to communicate with one another (
While one or more implementations have been described by way of example and in terms of the specific embodiments, it is to be understood that one or more implementations are not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements as would be apparent to those skilled in the art. Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
In an alternate embodiment, the data presented to the server to decide escalation/promotion is in a central location accessible to authorized personnel. In another embodiment, data could be provided in a tabular format such that it is easy to analyze.
In another embodiment, the process of escalation or promotion can be partially or fully automated, subject to review of authorized personnel. For example, after the server has performed escalation/promotion may authorized personnel review the forum to determine whether the automated escalation/promotion were appropriate or whether other escalations/promotions should be made in addition or instead of the automated escalations/promotions. The server can provide data necessary for escalation or promotion to the software and the software can decide to escalate/promote or not. In an embodiment, the automation software can add an entry in the knowledge base with the forum content and inform the forum and the authorized personnel about the action. In an embodiment, the automation software can escalate the question to customer case management system by adding a new case in the customer case management system and informing the forum and authorized personnel about the new case. The software can also link the case/article to the question in the forum.
Each embodiment disclosed herein may be used or otherwise combined with any of the other embodiments disclosed. Any element of any embodiment may be used in any embodiment.
Although the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the true spirit and scope of the invention. In addition, modifications may be made without departing from the essential teachings of the invention.
This application claims the benefit of U.S. Provisional Patent Application 61/350,904 entitled METHOD AND SYSTEM FOR ANSWERS TO CASES ESCALATION, by Norimasa Yoshida et al., filed Jun. 2, 2010 (Attorney Docket No. SALEP0005P), the entire contents of which are incorporated herein by reference. The following commonly owned, co-pending United States Patents and Patent Applications, including the present application, are related to each other. Each of the other patents/applications are incorporated by reference herein in its entirety: U.S. Provisional Patent Application No. 61/350,904 entitled METHOD AND SYSTEM FOR ANSWERS TO CASES ESCALATION, by Norimasa Yoshida et al., filed Jun. 2, 2010 (Attorney Docket No. SALEP0005P); and U.S. patent application Ser. No. 11/716,365 entitled METHOD AND SYSTEM FOR POSTING IDEAS, by Norimasa Yoshida et al., filed Mar. 8, 2007 (Attorney Docket No. 48-2), which is now U.S. Pat. No. 7,831,455; and U.S. patent application Ser. No. 11/786,882 entitled METHOD AND SYSTEM FOR MANAGING IDEAS, by Norimasa Yoshida et al., filed Apr. 13, 2007 (Attorney Docket No. 48-3/042US), which is now U.S. Pat. No. 7,818,194; and U.S. patent application Ser. No. 11/801,572 entitled METHOD AND SYSTEM FOR INTEGRATING IDEA AND ON DEMAND SERVICES, by Norimasa Yoshida et al., filed May 9, 2007 (Attorney Docket No. 48-4/043US), which is now U.S. Pat. No. 7,840,413; and U.S. Provisional Patent Application No. 61/354,604 entitled METHODS AND SYSTEMS FOR DYNAMICALLY SUGGESTING ANSWERS TO QUESTIONS SUBMITTED TO A PORTAL OF AN ONLINE SERVICE, by Patrick McFarlane et al., filed Jun. 14, 2010 (Attorney Docket No. SALEP0030P); and U.S. patent application Ser. No. ______ entitled METHODS AND SYSTEMS FOR DYNAMICALLY SUGGESTING ANSWERS TO QUESTIONS SUBMITTED TO A PORTAL OF AN ONLINE SERVICE, by Patrick McFarlane et al., filed ______ (Attorney Docket No. 48-51/429US); and U.S. Provisional Patent Application No. 61/360,752 entitled METHODS AND SYSTEMS FOR SCORING AND RANKING ARTICLES IN AN ON-DEMAND SERVICES ENVIRONMENT, by Vinodh Rajagopal, filed Jul. 1, 2010 (Attorney Docket No. SALEP0034P); and U.S. patent application Ser. No. ______ entitled METHOD AND SYSTEM FOR SCORING ARTICLES IN AN ON-DEMAND SERVICES ENVIRONMENT, by Vinodh Rajagopal, filed ______ (Attorney Docket No. 48-52/436US); and U.S. Provisional Patent Application No. 61/402,576 entitled METHOD AND SYSTEM FOR PROVIDING SIMPLIFIED FORM FILLING IN AN ON-DEMAND SERVICE, by Nadia Naderi, filed Aug. 10, 2010 (Attorney Docket No. 48-46/463US); and U.S. patent application Ser. No. 13/030,096 entitled METHOD AND SYSTEM FOR PROVIDING SIMPLIFIED FORM FILLING IN AN ON-DEMAND SERVICE, by Nadia Naderi, filed Feb. 17, 2011 (Attorney Docket No. 48-53/463US); and U.S. Provisional Patent Application No. 61/351,620 entitled METHODS AND SYSTEMS FOR PROVIDING ANSWERS TO USERS OF A MULTI-TENANT DATABASE SYSTEM, by Norimasa Yoshida et al., filed Jun. 4, 2010 (Attorney Docket No. SALEP0004P); and U.S. patent application Ser. No. ______ entitled METHOD AND SYSTEM FOR PROVIDING ANSWERS TO USERS OF A MULTI-TENANT DATABASE SYSTEM, by Norimasa Yoshida et al., filed ______ (Attorney Docket No. 48-54/384US); and U.S. Provisional Patent Application No. 61/354,003 entitled METHODS AND SYSTEMS FOR ANALYZING SEARCH TERMS IN A MULTI-TENANT DATABASE SYSTEM ENVIRONMENT, by Olivier Y. Pin et al., filed Jun. 11, 2010 (Attorney Docket No. SALEP0012P); and U.S. patent application Ser. No. ______ entitled METHODS AND SYSTEMS FOR ANALYZING SEARCH TERMS IN A MULTI-TENANT DATABASE SYSTEM ENVIRONMENT, by Francois Lopitaux et al., filed ______ (Attorney Docket No. 48-56/394US).
Number | Date | Country | |
---|---|---|---|
61350904 | Jun 2010 | US |