DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Remarks
This action is in response to the amendments received on 8/3/26. Claims 2, 4, 9, 11, 16, 18, and 21-35 are pending in the application. Claims 1, 3, 5-8, 10, 12-15, 17, 19, and 20 have been cancelled. Applicants' arguments have been carefully and respectfully considered.
Claim(s) 2, 4, 9, 11, 16, 18, and 21-35 are rejected under 35 U.S.C. 103 as being unpatentable over Micucci et al. (US 9,990,426), and further in view of Alurralde Iturri et al. (US 2018/0081642).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 2, 4, 9, 11, 16, 18, and 21-35 are rejected under 35 U.S.C. 103 as being unpatentable over Micucci et al. (US 9,990,426), and further in view of Alurralde Iturri et al. (US 2018/0081642).
With respect to claim 21, Micucci teaches a system for integrating user data from disparate data sources in a cloud-based software-as-a-service environment to enable representatives of an entity to access aggregated user information when processing interactions with a user, the system comprising:
one or more processors (Micucci, Fig. 1A processor system 17 & Col. 12 Li. 67)); and
one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations (Micucci, Col. 15 Li. 52-53) comprising:
receiving, via the user interface, a mapping of fields, the mapping of fields including one or more source field names corresponding to the user profile data stored in the external system and one or more destination field names corresponding to a profile data object (Micucci, Col. 54 Li. 42-48, the information data identifying the content object can be provided by user input via an API FIG. 24 shows an example of an API for creating a persistent object representing a content object. A process call to the content object can be made via the persistent object. The persistent object can be created using the information data identifying the content object.);
in response to a first API request (Micucci, Col. 54 Li. 10-14, At block 1604 of the method 1600, information data identifying a content object is received at a computing device, where the content object is stored in a content management data source external to the on-demand database service.), storing the profile data object associated with the user (Micucci, Col. 58 Li. 42-44, Returning to FIG. 16, at block 1616 of the method 1600, the data regarding the content object is stored in a persistent object in a database of the on-demand database service), the profile data object comprising:
a user identifier associated with the user (Micucci, Fig. 24, ContentDocumentID & Col. 54 Li. 44-48, As illustrated in the example in FIG. 24, the API 2400 includes a table 2401 having a plurality of fields 2402. At least some of the fields 2402 can represent data fields for identifying a content object stored in a third-party repository.);
a first reference to the communication data managed by the communications platform (Micucci, Col. 54 Li. 58-62, In providing information data identifying the content object, a content location 2405 can be identified. In the example in FIG. 24, a value of "E" is indicated to show that the content location 2405 is external to the on-demand database service.);
a second reference to the external system, the second reference based on the connection details received via the user interface (Micucci, Col. 54 Li. 62-64, an External Data Source ID 2406 can be identified to determine the source of the content object.); and
the mapping of fields received via the user interface (Micucci, Col. 54 Li. 44-48, FIG. 24 shows an example of an API for creating a persistent object representing a content object. A process call to the content object can be made via the persistent object. The persistent object can be created using the information data identifying the content object.);
wherein the profile data object does not store the communication data or the user profile data (Micucci, Col. 58 Li. 62-65, the persistent object does not store actual content (e.g., blob) of a content object, but the persistent object can act and behave like a content object); and
in response to receiving a second API request that includes the user identifier (Micucci, Col. 62 Li. 17-25, a user input may select the selectable component in the method 1600. The user input may be transmitted to the computing device as a signal to initiate an action with respect to the content object. The signal can include instructions requesting access to the content object in the external data source, where the request can include a URL or a unique content object ID. The URL or unique content object ID may be taken from the persistent 25 object when the selectable component is selected. The action can then initiate opening, sharing, or downloading the content object from the external data source to be delivered to the user.), identifying the profile data object based on a correspondence between the user identifier included in the second API request and the user identifier stored in the profile data object (Micucci, Col. 62 Li. 17-25, The signal can include instructions requesting access to the content object in the external data source, where the request can include a URL or a unique content object ID. The URL or unique content object ID may be taken from the persistent 25 object when the selectable component is selected.), and using the first reference, the second reference, and the mapping of fields of the identified profile data object to retrieve at least a portion of the communication data and at least a portion of the user profile data from the communications platform and the external system, respectively (Micucci, Col. 54 Li. 44-48, FIG. 24 shows an example of an API for creating a persistent object representing a content object. A process call to the content object can be made via the persistent object. The persistent object can be created using the information data identifying the content object. & Col. 55 Li. 15-16, This data can be used to open the appropriate application when accessing the content object.), and
providing the retrieved portions via a response to the second API request (Micucci, Col. 62 Li. 25-28, The action can then initiate opening, sharing, or downloading the content object from the external data source to be delivered to the user. & Col. 62 Li. 38-41, the user input selecting the selectable component can initiate an action to open a detailed information page regarding the persistent object corresponding to the external content object).
Micucci doesn't expressly discuss presenting, via a communications platform that manages communication data pertaining to interactions of users via one or more channels, a user interface configured to receive input for creating a connection to an external system that is separate from the communications platform, the external system storing user profile data pertaining to the user; receiving, via the user interface, connection details for establishing the connection to the external system.
Alurralde teaches presenting, via a communications platform that manages communication data pertaining to interactions of users via one or more channels, a user interface configured to receive input for creating a connection to an external system that is separate from the communications platform (Alurralde, pa 0082, The ICS connector section 112 includes an ICS control 116 for enabling a user to access additional UI display screens (e.g., corresponding to a connector construction wizard 48 of FIG. 2) for creating and/or otherwise selecting and adding an ICS-type connector to the integrations section 128 and corresponding connector collection.), the external system storing user profile data pertaining to the user;
receiving, via the user interface, connection details for establishing the connection to the external system (Alurralde, pa 0102, the user may select the create button 150 to trigger automatic generation of a connector in accordance with the entries specified during completion of the wizard steps 132-136).
It would have been obvious at the effective filing date of the invention to a person having ordinary skill in the art to which said subject matter pertains to have modified Micucci with the teachings of Alurralde because it provides a standardized User Interface (UI) that enables accepting user-specified parameters usable to define any of the available service types (Allurraide, pa 0007).
With respect to claim 2, Micucci in view of Alurralde teaches the system of claim 21, wherein the using of the first reference, the second reference, and the mapping of fields of the identified profile data object, to retrieve at least a portion of the user profile data and at least a portion of the communication data is performed in real time without querying the second external system (Micucci, Col. 7 Li. 24-39, A computing device such as a server may receive a request from a user of the on-demand database service to access data regarding a content object stored in a content management data source, where the content management data source is external to the on-demand database service. Data regarding the content object in the content management data source may be identified via a universal application programming interface (API). The request may be communicated to a repository-specific connector, where the repository-specific connector is in communication with the content management data source. Access with the content object is established to retrieve the data regarding the content object. A virtual object associated with the on-demand database service may be created, where the virtual object instantiates connection between the content object and the on-demand database service.).
With respect to claim 4, Micucci in view of Alurralde teaches the system of claim 21, wherein the retrieved portions are presented in a user interface of a client device, the user interface including a representation of a timeline corresponding to the user (Micucci, Fig. 32A).
With respect to claims 9, 11, 16, 18, 22, and 23, the limitations are essentially the same as claims 2, 4, and 21, and are rejected for the same reasons.
With respect to claim 24, Micucci in view of Alurralde teaches the system of claim 21,wherein the connection details received via the user interface include a connection type, a connection name (Alurralde, pa 0096, The example basic properties include a connector name, as may be specified via a name field 140; a port type, as may be specified using a port-type drop down control 142; and a callback port type, as may be selected via a callback port type drop down control 144.), a connection URL corresponding to the external system (Alurralde, pa 0091, the current UI display screen 130 displays various UI controls 138 for selecting a source used to access data to be used for the connector. The data may … may include specifications accessible via a URL), and a client identifier for uniquely identifying and account associated with the external system (Alurralde, pa 0101, user selects the "Basic Auth" option from the listing 170, additional fields for entering keystore credentials, usemame, and password may appear in the Ul display screen 160. The user may then enter the appropriate credentials applicable to a service that the connector under development will connect to.).
With respect to claim 25, Micucci in view of Alurralde teaches the system of claim 21,wherein the external system comprises one or more of a customer data platform (CDP) system, a customer relationship management (CRYM) system, an information technology service management (ITSM) system, or an enterprise resource planning (ERP) system (Alurralde, pa 0148, The abstraction may enable a business user to leverage data and/or functionality offered by external web services, without requiring detailed technical knowledge of each type of external web service to call).
With respect to claim 26, Micucci in view of Alurralde teaches the system of claim 21, wherein the operations further comprise, in response to receiving an incoming communication associated with the user via the one or more channels of the communications platform (Micucci, Col. 65 Li. 28-32, At block 1708 of the method 1700, an indication of an event requesting interaction with the content object is received at the computing device. In some implementations, the event includes a request to modify the content object from the on-demand database service), using the retrieved portions of the communication data and the user profile data to inform routing logic for routing the incoming communication to a representative of the entity (Micucci, Col. 62 Li. 46-58, A user interface 3500 for a detailed information page includes a title or reference 3511 to the persistent object corresponding to the content object … the user interface 3500 can include capabilities 3514 for interacting with the external content object via the persistent object, such as opening the content object from the external data source, deleting the content object, and editing file sharing settings).
With respect to claim 27, Micucci in view of Alurralde teaches the system of claim 21, wherein the operations further comprise creating connections to a plurality of external systems that are each separate from the communications platform (Alurralde, pa 0063, the connectors framework 16 is shown interfacing the external services 18 with the application development systems 14.), and wherein the profile data object further comprises one or more additional references to the plurality of external systems, each additional reference based on respective connection details received via the user interface for a corresponding one of the plurality of external systems (pa 0051, external computing resources 30 and associated web services 18 via associated connectors 52 (that may be stored in the connectors catalog 66 for use with the process-based software application 70) supported by a connectors framework 16.).
With respect to claims 28-35, the limitations are essentially the same as claims 24-27, and are rejected for the same reasons.
Response to Amendment
35 U.S.C. 103
Applicant argues on page 2 that the combination does not teach a communications platform that manages communication data pertaining to interactions of users via one or more channels because nothing in Alurralde discloses a communications platform, communication data, interactions of users, or communication channels. The Examiner respectfully disagrees. Figure 2 of Alurralde shows developer/designer systems 12 that include UI controls to manage connectors to enable interaction between users of the developer systems, editors, and connectors framework, connectors, and associated services (Alurralde, pa 0050). The developer/designer systems 12 provides the “communications platform.” The claim states that the communication platform manages communication data pertaining to interactions of users via one or more channels. The UI display screen 90 that is displayed using the developer system provides UI controls and features for adding connectors to a developer’s collection of connectors (Alurralde, pa 0078) and therefore manages communication data pertaining to interactions of users via one or more channels. The examiner maintains that “communication data pertaining to interactions of users via one or more channels” represents nonfunctional descriptive material because the particular type of data that is presented and managed does not affect the functioning of the claim.
Applicant argues on page 3 that the communications platform and communication data recitations are entitled to patentable weight because the communications platform is recited in the body of each independent claim, not merely in the preamble. The term “communications platform” and “communication data” are given patentable weight however, the claims must be "given their broadest reasonable interpretation consistent with the specification." Figure 2 of Alurralde shows developer/designer systems 12 that includes UI controls to manage connectors to enable interaction between users of the developer systems, editors, and connectors framework, connectors, and associated services (Alurralde, pa 0050). The claims require a communication platform to present a user interface configured to receive input. The developer/designer systems 12 that includes the UI controls meets this claim language. The claimed “communication data” is interpreted as data that is managed by the communications platform. While this is also interpreted as nonfunctional descriptive material, the developer/designer systems manage connectors (Alurralde, pa 0050) and therefore manage data related to those connectors which is considered communication data.
Applicant argues on page 3 that the recitation of “communication data” is not nonfunctional descriptive material because the identity and location of the recited data determine the structure of the profile data object in the operation of every retrieval step, providing a functional relationship. The Examiner respectfully disagrees. While the claims do require that the profile data object store a reference to the communication data and the communication data is retrieved, the claims do not require the communication data to be of a certain structure. In other words, it can be any data that is managed by the communications platform. The identity and location of the communication data is not claimed in such a way that it determines the structure of the profile object.
Applicant argues on page 4 that the combination does not teach receiving, via the user interface, the claimed mapping of fields because Micucci teaches a record insertion form where a user types values into fixed, predefined platform fields where no source field name is paired with any destination field name and no mapping of any kind is received. The Examiner respectfully disagrees. In figure 24 and the corresponding description in Col. 54 Li. 49-64, the destination fields corresponding to a profile data object are represented by the plurality of fields 2402. The source field names corresponding to the user profile data stored in the external system is provided by the user when they manually input values into the table 2401. This user interface is used to create a persistent object representing a content object (Micucci, Col. 54 Li. 44-45). The plurality of fields 2402 and corresponding values provided by the user create a mapping and several pairings of each field and value between the content object being stored and the data within the external data source. By receiving the inputted values from the user, Micucci provides “receiving, via the user interface, a mapping of fields, the mapping of fields including one or more source field names corresponding to the user profile data stored in the external system and one or more destination field names corresponding to a profile data object.”
Applicant argues on pages 4-5 that the combination does not teach the claimed the user identifier or identification by user identifier correspondence because nothing in Micucci discloses a request keyed to a person or a correspondence test between the user identifier carried in a request in a user identifier stored in a profile data object. The Examiner respectfully disagrees. Applicant specification explains that a profile data object is a data object corresponding to the user by referencing data pertaining to that user (pa 0068). According to the broadest reasonable interpretation, the user identifier is merely an identifier for the particular data object such that the particular data object can be identified for retrieval. The specific type of data does not affect the function of storing the profile data object and identifying the profile data object.
Applicant argues on page 5 that the combination does not teach a first reference to the communication data managed by the communications platform because Micucci teaches a one-character flag denoting that the content resides externally and is not a reference to anything. The Examiner respectfully disagrees. The one-character flag of Micucci provides a value for the content location 2405 of the content object that is to be created in the database service from the external data source (Micucci, Col. 54 Li. 58-62). Under broadest reasonable interpretation, this is a reference to the data managed by the communications platform because it is referring to the location of data identifying the content object. This is provided in addition to the external data source ID 2406 indicating a unique ID of the external data repository (Micucci, Fig. 24 & Col. 54 Li. 62-66). Therefore, this provides the claimed two reference architecture and the claimed first reference.
Applicant argues that the combination does not teach retrieval from two sources in a combined response because Micucci teaches retrieving and opening a single external file and not from both a communications platform and an external system. The examiner respectfully disagrees. Micucci explains that content can be scattered across many different network domains on the Internet. Such content can be stored in various data repositories or data sources that are hosted on different network domains from an on-demand database service (Col. 44 Li. 46-50). There are several examples described in figures 19-23 of Micucci about accessing a plurality of content management data sources to retrieve data through repository specific connectors. This provides retrieval from two sources. Based on the data retrieved with the repository specific connectors, the user can open, share, or download the content object (Micucci, Col. 62 Li. 25-28), providing the retrieved portions via a response to the API request, as claimed.
Applicant argues that the office action articulates no sufficient reason to combine Micucci and Alurralde because there is no indication of why a person of ordinary skill in the art building Micucci’s content federation system for end-users would incorporate a wizard for developers of process-based applications. The examiner respectfully disagrees. Micucci already discusses how content can be scattered across many network domains on the Internet is stored in various data repositories or data sources (Micucci, Col. 44 Li. 46-50). Micucci also aims to establish and unify access to content between an on-demand database service and one or more external content data management data sources with repository specific connectors (Col. 48 Li. 17- 22). Since Micucci does not disclose a user interface with the specific claim limitations Alurralde is provided. Alurralde’s connector construction wizard 48 with the ICS connector section provides connector construction wizard UI display screens 38 to accept user-specified parameters to create and manage these connectors (Alurralde, pa 0007-0008). This allows the user e.g., developer or designer, to interact with the same UI to manage the connectors using a similar experience so that manual coding is not required (Alurralde, pa 0006 & 0008). This benefit would be seen when data from external systems needs accessed, regardless of the type of data retrieved.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. P. Belimpasakis, K. Roimela and Y. You, "Experience Explorer: A Life-Logging Platform Based on Mobile Context Collection," 2009 Third International Conference on Next Generation Mobile Applications, Services and Technologies, Cardiff, UK, 2009, pp. 77-82. teaches “Data harvesters running on the Explorer Service periodically query the on-line services to find out if new data exists for any of the users registered to the service. …The external data is then filtered and the relevant data stored in the database of the explorer service. We do not store multimedia content in our database, as we do not want (or even is not allowed in some cases) to replicate the media that exists on the 3rd party sharing services. Rather, we just keep pointers to this content, which are typically Uniform Resource Locators (URLs) to the external media files.”
D. Vianna, A. -M. Yong, C. Xia, A. Marian and T. Nguyen, "A tool for personal data extraction," 2014 IEEE 30th International Conference on Data Engineering Workshops, Chicago, IL, USA, 2014, pp. 80-83 teaches a data extraction tool that accesses a variety of available services retrieving and storing users' data.
A. Acharya, J. Manweiler, S. Sharma and N. Banerjee, "Presence based open contact center leveraging social networks," 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013), Ghent, Belgium, 2013, pp. 990-1003. teaches an open contact center system.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRITTANY N ALLEN whose telephone number is (571)270-3566. The examiner can normally be reached M-F 9 am - 5:00 pm EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Sherief Badawi can be reached on 571-272-9782. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/BRITTANY N ALLEN/Primary Examiner, Art Unit 2169