DETAILED ACTION
In the response filed December 18, 2025, the Applicant amended claims 1-5, 9-11, and 14-16. Claims 1-17 are pending in the current application.
Notice of 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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on September 24, 2025, was filed after the mailing date of the application on April 9, 2024. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Response to Arguments
Claims 1 and 9 were objected to for informalities. Examiner thanks the Applicant for amending the claim language and hereby withdraws the objection from the previous Office action.
Applicant’s arguments for claims 1-17 with respect to the 35 U.S.C. 101 rejection have been considered but are unpersuasive. Applicant argues that the claims are not directed to a judicial exception. Examiner respectfully disagrees. Here, under broadest reasonable interpretation, the steps describe or set-forth providing and receiving information to users by determining permission for users in a social network to participate in a shared trip based on matching identity tags, which amounts to managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules or instructions). These limitations therefore fall within the “certain methods of organizing human activity” subject matter grouping of abstract ideas.
Applicant argues that the claims are eligible as they integrate the abstract idea into a practical application. Examiner respectfully disagrees. Applicant argues that the use of a mini program running within the terminal device is not generic instruction to use a computer but a particular arrangement to improve personal privacy and security in the trip sharing process. Examiner respectfully disagrees. The use of the recited “mini program” - “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” is equivalent to adding the words “apply it” on a generic computer and/or mere instructions to implement the abstract idea on a generic computer. These limitations do not impose any meaningful limits on practicing the abstract idea, and therefore do/does not integrate the abstract idea into a practical application. See § MPEP 2106.05(f).
The specific problem (personal privacy and security in the trip sharing process) is not a problem specifically arising in the technical field of computer-implemented business methods. The fact that the receiving, identifying, and transmitting data is executed on a mini program on a networked system does not somehow automatically make problem unique to the realm of computer networks. The fact that the determinations are made by a generic computer processor does not somehow automatically make the solution necessarily rooted in computer technology. The instant claims merely limit the use of the abstract idea to a particular environment - that being a computer environment. This same problem would exist in non-computer environments, and the same solution would be appropriate. Stripped of the generic computer elements recited in the claims, the problem and solution would remain intact. Limitations that link the use of a judicial exception to a particular technological environment or field of use do not qualify as "significantly more," and do not transform the judicial exception into patent-eligible subject matter.
Viewing the additional limitations in combination also shows that they fail to ensure the claims amount to significantly more than the abstract idea. When considered as an ordered combination, the additional components of the claims add nothing that is not already present when considered separately, and thus simply append the abstract idea with words equivalent to “apply it” on a generic computer and/or mere instructions to implement the abstract idea on a generic computer. Applicant’s arguments remain unpersuasive. The 35 U.S.C. 101 rejection is hereby maintained.
Applicant’s arguments for claims 1-17 with respect to the 35 U.S.C. 102 rejection has been considered but is moot because the arguments do not apply to the combination of references being used in the current rejection.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f):
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f). The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function. Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f). The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) because the claim limitations use a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitations are:
“a second terminal device …” in claims 1 and 9.
“a social networking application …” in claims 1, 9, and 14.
“a mini program …” in claims 1, 9, and 14.
“a first terminal device …” in claims 9 and 14.
Because these claim limitations are being interpreted under 35 U.S.C. 112(f), they are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. If applicant does not intend to have these limitations interpreted under 35 U.S.C. 112(f), Applicant may: (1) amend the claim limitations to avoid them being interpreted under 35 U.S.C. 112(f) (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitations recite sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f).
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-17 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Step 1: Claims 1-17 are drawn to processes, which are within the four statutory categories (e.g., a process, a machine). (Step 1: YES).
Step 2A – Prong One: In prong one of step 2A, the claims are analyzed to evaluate whether they recite a judicial exception.
Claim 1 recites/describes the following steps:
“…, the first trip being a trip created by a car owner and waiting for participation by a passenger, or a trip created by a passenger and waiting for participation by a car owner, and the first trip being shared by the first user account with at least one second user account based on a relationship chain in the social networking application;”
“determining, …, whether a second user account corresponding to the second terminal device has permission to participate in the first trip based on whether an identity tag of the second user account matches an identity tag of the first user account;”
Claim 9 recites/describes the following steps:
“receiving,…, a trip sharing request …, the trip sharing request requesting to share a first trip created by a first user account corresponding to the first terminal device in the mini program based on a relationship chain in the social networking application,… the first trip being a trip created by a car owner and waiting for participation by a passenger or a trip created by a passenger and waiting for participation by a car owner;”
“receiving, …, a trip viewing request …, the trip viewing request indicating that the second user account requests to view detailed information of the first trip.”
“determining, …, whether the second user account corresponding to the second terminal device has permission to participate in the first trip based on whether an identity tag of the second user account matches an identity tag of the first user account;”
Claim 14 recites/describes the following steps:
“…in response to an operation … a first trip created by a first user account, the first trip being a trip created by a car owner waiting for participation by a passenger or a trip created by a passenger waiting for participation by a car owner;”
“in response to a sharing operation on the first trip, generating shared information of the first trip …, and providing the shared information of the first trip…;”
These steps, under broadest reasonable interpretation, describe or set-forth providing and receiving information to users by determining permission for users in a social network to participate in a shared trip based on matching identity tags, which amounts to managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules or instructions). These limitations therefore fall within the “certain methods of organizing human activity” subject matter grouping of abstract ideas.
As such, the Examiner concludes that claim 1 recites an abstract idea (Step 2A – Prong One: YES).
Each of the depending claims 2-8, 10-13, and 15-17 likewise recite/describe these steps (by incorporation - and therefore also recite limitations that fall within this subject matter grouping of abstract ideas), and these claims are therefore determined to recite an abstract idea under the same analysis. Any elements recited in a dependent claim that are not specifically identified/addressed by the Examiner under step 2A (prong two) or step 2B of this analysis shall be understood to be an additional part of the abstract idea recited by that particular claim.
Step 2A – Prong Two:
The claims recite the additional elements/limitations of: “backend servers, and the backend servers comprising a server of a social networking application and a server of a mini program,” “a social networking application of a first terminal device;” “a display interface of the social networking application,” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” “a trip detail interface,” “a trip confirmation interface,” (claim 1);
“backend servers, and the backend servers comprising a server of a social networking application and a server of a mini program,” “a social networking application of a first terminal device;” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” (claim 9); and
“a first terminal device, and a social networking application and a mini program running based on the social networking application being run in the first terminal device,” “a trip creation interface,” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system;” (claim 14).
The claims also recite the additional elements/limitations of: “displaying, shared information of a first trip created by a first user account in the mini program in a display interface of the social networking application,” “transmitting a trip presentation instruction to the mini program through the social networking application in response to a viewing operation on the shared information;” “displaying a trip detail interface of the mini program in response to the determining indicating that the second user account has permission to participate in the first trip, the trip detail interface displaying detailed information of the first trip and a trip participation control, and a target second user account that has an identity tag matching the identity tag of the first user account in the at least one second user account having permission to participate in the first trip;” “displaying a trip confirmation interface in the mini program in response to an operation on the trip participation control, the trip confirmation interface displaying trip information of the participated first trip,” (claim 1);
“transmitted by a social networking application of a first terminal device,” “transmitting, by the server of the social networking application, shared information of the first trip to a social networking application of at least one second terminal device according to the trip sharing request, the second terminal device corresponding to a second user account, and the second user account being determined based on the relationship chain in the social networking application;” “transmitted by a mini program of the second terminal device,” “transmitting, by the server of the mini program, the detailed information of the first trip to the mini program of the second terminal device in response to the second user account having the identity tag matching the identity tag of the first user account, the second user account that has the identity tag matching the identity tag of the first user account having permission to participate in the first trip,” (claim 9);
“displaying a trip creation interface of the mini program through the social networking application,” “displaying, through the mini program… on the trip creation interface, a first trip,” “transmitting the shared information of the first trip to at least one second user account through the social networking application based on a relationship chain in the social networking application, a target second user account that has an identity tag matching an identity tag of the first user account in the at least one second user account having permission to participate in the first trip,” (claim 14).
The requirement to execute the claimed steps/functions using “backend servers, and the backend servers comprising a server of a social networking application and a server of a mini program,” “a social networking application of a first terminal device;” “a display interface of the social networking application,” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” “a trip detail interface,” “a trip confirmation interface,” (claim 1); “backend servers, and the backend servers comprising a server of a social networking application and a server of a mini program,” “a social networking application of a first terminal device;” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” (claim 9); and “a first terminal device, and a social networking application and a mini program running based on the social networking application being run in the first terminal device,” “a trip creation interface,” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system;” (claim 14), is equivalent to adding the words “apply it” on a generic computer and/or mere instructions to implement the abstract idea on a generic computer. These limitations do not impose any meaningful limits on practicing the abstract idea, and therefore do/does not integrate the abstract idea into a practical application. See § MPEP 2106.05(f).
The recited elements of “displaying, shared information of a first trip created by a first user account in the mini program in a display interface of the social networking application,” “transmitting a trip presentation instruction to the mini program through the social networking application in response to a viewing operation on the shared information;” “displaying a trip detail interface of the mini program in response to the determining indicating that the second user account has permission to participate in the first trip, the trip detail interface displaying detailed information of the first trip and a trip participation control, and a target second user account that has an identity tag matching the identity tag of the first user account in the at least one second user account having permission to participate in the first trip;” “displaying a trip confirmation interface in the mini program in response to an operation on the trip participation control, the trip confirmation interface displaying trip information of the participated first trip,” (claim 1); “transmitted by a social networking application of a first terminal device,” “transmitting, by the server of the social networking application, shared information of the first trip to a social networking application of at least one second terminal device according to the trip sharing request, the second terminal device corresponding to a second user account, and the second user account being determined based on the relationship chain in the social networking application;” “transmitted by a mini program of the second terminal device,” “transmitting, by the server of the mini program, the detailed information of the first trip to the mini program of the second terminal device in response to the second user account having the identity tag matching the identity tag of the first user account, the second user account that has the identity tag matching the identity tag of the first user account having permission to participate in the first trip,” (claim 9); “displaying a trip creation interface of the mini program through the social networking application,” “displaying, through the mini program… on the trip creation interface, a first trip,” “transmitting the shared information of the first trip to at least one second user account through the social networking application based on a relationship chain in the social networking application, a target second user account that has an identity tag matching an identity tag of the first user account in the at least one second user account having permission to participate in the first trip,” (claim 14), even if considered to be an “additional” element for the purpose of the eligibility analysis, would simply append insignificant extra-solution activity to the judicial exception, (e.g., mere post-solution activity in conjunction with an abstract idea). The term “extra-solution activity” is understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim. The recited additional elements are deemed “extra-solution” because such data gathering and solution-outputting/transmission steps have long been held to be insignificant pre/post-solution activity. These limitations do not impose any meaningful limits on practicing the abstract idea, and therefore do/does not integrate the abstract idea into a practical application. See § MPEP 2106.05(h) and (g).
Dependent claims 2-8, 10-13, and 15-17 either recite the same additional elements as noted above or fail to recite any additional elements (in which case, note prong one analysis as set forth above – those claims are further part of the abstract idea as identified by the Examiner for each respective dependent claim).
The Examiner has therefore determined that the additional elements, or combination of additional elements, do not integrate the abstract idea into a practical application. Accordingly, the claims are directed to an abstract idea (Step 2A – Prong two: NO).
Step 2B:
As discussed above in “Step 2A – Prong 2,” the requirement to execute the claimed steps/functions using “backend servers, and the backend servers comprising a server of a social networking application and a server of a mini program,” “a social networking application of a first terminal device;” “a display interface of the social networking application,” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” “a trip detail interface,” “a trip confirmation interface,” (claim 1); “backend servers, and the backend servers comprising a server of a social networking application and a server of a mini program,” “a social networking application of a first terminal device;” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” (claim 9); and “a first terminal device, and a social networking application and a mini program running based on the social networking application being run in the first terminal device,” “a trip creation interface,” “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system;” (claim 14), is equivalent to adding the words “apply it” on a generic computer and/or mere instructions to implement the abstract idea on a generic computer. These limitations therefore do not qualify as “significantly more.” See MPEP § 2106.05(f).
As discussed above in “Step 2A – Prong 2”, the recited element(s) of “displaying, shared information of a first trip created by a first user account in the mini program in a display interface of the social networking application,” “transmitting a trip presentation instruction to the mini program through the social networking application in response to a viewing operation on the shared information;” “displaying a trip detail interface of the mini program in response to the determining indicating that the second user account has permission to participate in the first trip, the trip detail interface displaying detailed information of the first trip and a trip participation control, and a target second user account that has an identity tag matching the identity tag of the first user account in the at least one second user account having permission to participate in the first trip;” “displaying a trip confirmation interface in the mini program in response to an operation on the trip participation control, the trip confirmation interface displaying trip information of the participated first trip,” (claim 1); “transmitted by a social networking application of a first terminal device,” “transmitting, by the server of the social networking application, shared information of the first trip to a social networking application of at least one second terminal device according to the trip sharing request, the second terminal device corresponding to a second user account, and the second user account being determined based on the relationship chain in the social networking application;” “transmitted by a mini program of the second terminal device,” “transmitting, by the server of the mini program, the detailed information of the first trip to the mini program of the second terminal device in response to the second user account having the identity tag matching the identity tag of the first user account, the second user account that has the identity tag matching the identity tag of the first user account having permission to participate in the first trip,” (claim 9); “displaying a trip creation interface of the mini program through the social networking application,” “displaying, through the mini program… on the trip creation interface, a first trip,” “transmitting the shared information of the first trip to at least one second user account through the social networking application based on a relationship chain in the social networking application, a target second user account that has an identity tag matching an identity tag of the first user account in the at least one second user account having permission to participate in the first trip,” (claim 14), even if considered to be an “additional” element for the purpose of the eligibility analysis, would simply append insignificant extra-solution activity to the judicial exception, (e.g., mere post-solution activity in conjunction with an abstract idea). These additional elements, taken individually or in combination, additionally amount to well-understood, routine and conventional activities previously known to the industry, specified at a high level of generality, appended to the judicial exception. These additional elements, taken individually or in combination, are well-understood, routine and conventional to those in the field of social networking. These limitations therefore do not qualify as “significantly more”. See MPEP § 2106.05(d). This conclusion is based on a factual determination. The determination that receiving data/messages over a network is well-understood, routine, and conventional is supported by Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362; TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014), and MPEP 2106.05(d)(II), which note the well-understood, routine, conventional nature of receiving data/messages over a network. Furthermore, examiner takes Official Notice that these steps were well-understood, routine, and conventional at the effective filing date of the claimed invention.
Viewing the additional limitations in combination also shows that they fail to ensure the claims amount to significantly more than the abstract idea. When considered as an ordered combination, the additional components of the claims add nothing that is not already present when considered separately, and thus simply append the abstract idea with words equivalent to “apply it” on a generic computer and/or mere instructions to implement the abstract idea on a generic computer, generally link the abstract idea to a particular technological environment or field of use, append the abstract idea with insignificant extra solution activity associated with the implementation of the judicial exception, (e.g., mere data gathering, post-solution activity), and appended with well-understood, routine and conventional activities previously known to the industry.
Remaining dependent claims 2-8, 10-13, and 15-17 either recite the same additional elements as noted above or fail to recite any additional elements (in which case, note prong one analysis as set forth above – those claims are further part of the abstract idea as identified by the Examiner for each respective dependent claim).
The Examiner has therefore determined that no additional element, or combination of additional claims elements is/are sufficient to ensure the claims amount to significantly more than the abstract idea identified above (Step 2B: NO).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-17 are rejected under 35 U.S.C. 103 as being unpatentable over Richardson et al. (US 2016/0026936 A1), hereinafter Richardson, in view of Rathod (US 2020/0142573 A1).
Regarding claim 1, Richardson discloses a trip sharing method, the method being performed by a second terminal device, and a social networking application (Par. [0025], a user device (e.g., 104A) may execute a user application (e.g., 105A) allowing a user 102A of the user device 104A to interact with the social networking system 130. For example, the user application 105A may be a web browser application. In an embodiment, the user application 105A is a special-purpose client application (e.g., Facebook for iPhone or iPad, etc.), and in an embodiment the user application 105A is the native operating system of the user device 104A, which may utilize an Application Programming Interface (API) to directly interface with the social networking system 130 through API request server 125) and a mini program running based on the social networking application (Par. [0029], the social networking system 130 may include additional, fewer, or different modules for various applications; Par. [0057], enables the user to plan a route or otherwise obtain directions to the event (e.g., by using a mapping API, launching a mapping application, redirecting a user to a mapping website, etc.)) running on the second terminal device (Par. [0035], the social networking system 130 may allow users to interact with external (e.g., third-party) applications 150 (e.g., websites), external storage 155, and/or external servers 115 (e.g., server end stations). The API request server 125 allows external systems (e.g., an external application 150 of external server 115, and/or user applications 105A of user devices 104A-104N) to access information from or transmit information to the social networking system 130 by issuing API calls; Par. [0038], the event module 129 may be implemented by the external application 150. The event module 129 facilitates event-based ridesharing), the method comprising:
displaying, shared information of a first trip created by a first user account in the mini program in a display interface of the social networking application (Par. [0038], the event module 129 receives ridesharing information from users and determines matches between users based upon the ridesharing information. In one embodiment, the event module 129 creates and/or maintains a data structure to store, in the ridesharing store 144, the ridesharing information and matches for users),, the first trip being a trip created by a car owner and waiting for participation by a passenger, or a trip created by a passenger and waiting for participation by a car owner, and the first trip being shared by the first user account with at least one second user account based on a relationship chain in the social networking application (Par. [0062], potential drivers may be selected based upon received ridesharing information from one or more users. Determined matches 705 are presented along with a number of available seats in each vehicle. In one embodiment, determined matches 705 further present other users riding as passengers in the corresponding vehicles (e.g., in response to selecting a particular driver));
transmitting a trip presentation instruction to the mini program through the social networking application in response to a viewing operation on the shared information (Par. [0070], FIG. 9 is an exemplary user interface 900 to enable a driver to indicate a departure to pick up one or more passengers. In one embodiment, event module 129 presents user interface 900 to the driver upon opening the application 105 in response to the alert described above. User interface 900 includes a description of the event 905, e.g., the time and location of the event);
after the mini program receives the trip presentation instruction, determining, by the mini program, whether a second user account corresponding to the second terminal device has permission to participate in the first trip based on whether an identity tag of the second user account matches an identity tag of the first user account (Par. [0030], Privacy settings limit information that the social networking system 130 or other users of the social networking system 130 are permitted to access from that user's user profile; Par, [0046], a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches. Alternatively, a driver may select a subset of friends/first degree connections, friends of friends/second degree connections, all users invited to/viewing the invitation, another grouping of users, or directly select one or more individual users.).
displaying a trip detail interface of the mini program in response to the determining indicating, after receiving the trip presentation instruction, that the second user account has permission to participate in the first trip, the trip detail interface displaying detailed information of the first trip and a trip participation control, and a target second user account that has an identity tag matching the identity tag of the first user account in the at least one second user account having permission to participate in the first trip (Par. [0051], a driver may indicate a willingness to only have passengers that are first degree connections while a passenger may indicate a willingness to be paired with one or more users that are either first or second degree connections. In determining matches, event module 129 would not present the driver to the passenger (or vice versa) due to the driver's preference for only first degree connections as passengers); and
displaying a trip confirmation interface in the mini program in response to an operation on the trip participation control, the trip confirmation interface displaying trip information of the participated first trip (Par. [0074], FIG. 10 is an exemplary user interface 1000 illustrating a route map presented to the driver. For example, user interface 1000 may be presented to the driver in response to receiving the indication the driver's departure described above. The route map displayed within user interface 1000 includes representations of the driver's location 1005, passenger locations 1010-1015, and event location 1020, as well as the route between each. User interface 1000 further includes a user interface element to enable the user to open the route in a map application, e.g., to enable an interactive route map and/or driving directions.).
Richardson does not explicitly disclose the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system.
Rathod teaches the mini program being an application executable within an execution environment provided by the social networking application (Par. [0035], a subroutine is a sequence of program instructions that perform a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Subprograms may be defined within programs, or separately in libraries that can be used by multiple programs) that parses a logic code file of the mini program (Par. [0039], The content of a subroutine is its body, the piece of program code that is executed when the subroutine is called or invoked; Par. [0043], presentation logic components including textbox, search box, checkbox, radio button, list box, combo box, menu, wizard, grid, button(s), form(s) and one or more types of controls, objects, plug-ins, applications, application code or script, dynamic presentation interface), the mini program not running directly in an operating system (Par. [0037], As the name subprogram suggests, a subroutine behaves in much the same way as a computer program that is used as one step in a larger program or another subprogram. A subroutine is often coded so that it can be started (called) several times and/or from several places during one execution of the program, including from other subroutines, and then branch back (return) to the next instruction after the call once the subroutine's task is done).
Rathod suggests it is advantageous to breaking a program into subroutines or mini programs because doing so can decompose a complex programming task into simpler steps (Rathod, Par. [0041]). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the trip sharing system of Richardson to include “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” as taught by Rathod because doing so can be an advantageous way to reduce complex programming tasks into simpler steps. Furthermore, since each individual element and its function are shown in the prior art, albeit shown in separate references, the difference between the claimed subject matter and the prior art rests not on any individual element or function but in the very combination itself. That is in the substitution of the subprograms of Rathod for that of the various applications running on the social networking system of Richardson. Thus, the simple substitution of one known element for another producing a predictable result renders the claim obvious.
Regarding claim 2, Richardson discloses the method according to claim 1. Richardson also discloses wherein the identity tag comprises at least one of the following: a company tag indicating a company to which a user belongs; a community tag indicating a community to which a user belongs; and a group tag indicating a group that a user joins in the social networking application (Par. [0039], User A has performed a number of actions within the social network, indicating that he previously lived in Boston, currently lives in Washington D.C., joined groups for Democrats and ConLaw Lovers, checked in at Pi Pizzeria in St. Louis, Mo., and is friends with User B); and
that the second user account has the identity tag matching the identity tag of the first user account indicates that the second user account has at least one same identity tag as the first user account (Par. [0039], User B and User C have also performed a number of actions with respect to objects within graph 200).
Regarding claim 3, Richardson discloses the method according to claim 1. Richardson also discloses wherein the displaying the trip detail interface of the mini program comprises:
transmitting a trip viewing request to a server of the mini program through the mini program, the trip viewing request indicating that the second user account requests to view the detailed information of the first trip (Par. [0044], user device 104A executes application 105A enabling user 102A to view an event published within a portal of the social networking system 130. The event includes a description and one or more selectable options for the user to indicate intent to attend the event);
receiving, through the mini program, the detailed information of the first trip and identity matching related information transmitted by the server of the mini program, the detailed information of the first trip being transmitted in response to the second user account having the identity tag matching the identity tag of the first user account (Par. [0046], Exemplary selections of a set of one or more users within the social network that should see the invitation to rideshare utilize social graph 200 described above. For example, a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches. Alternatively, a driver may select a subset of friends/first degree connections, friends of friends/second degree connections, all users invited to/viewing the invitation, another grouping of users, or directly select one or more individual users); and
the identity matching related information comprising at least one of the following: the matching identity tags of the second user account and the first user account, or a matching degree between the identity tags of the second user account and the first user account (Par. [0046], Exemplary selections of a set of one or more users within the social network that should see the invitation to rideshare utilize social graph 200 described above. For example, a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches. Alternatively, a driver may select a subset of friends/first degree connections, friends of friends/second degree connections, all users invited to/viewing the invitation, another grouping of users, or directly select one or more individual users); and
displaying the trip detail interface through the mini program, and displaying the detailed information of the first trip, the trip participation control, and the identity matching related information in the trip detail interface (Par. [0057], User interface 400 includes event description 405, a date and time for the event a location of the event. User interface 400 further includes map 410 displaying a map view of the event location; Par. [0058], User interface 400 further includes attendance user interface element 415; Par. [0059], User interface 400 may also include additional description, images, or other event information).
Regarding claim 4, Richardson discloses the method according to claim 1. Richardson also discloses wherein after the transmitting the trip presentation instruction to the mini program through the social networking application in response to the viewing operation on the shared information, the method further comprises:
displaying a prompt interface of the mini program in response to the mini program determining, after receiving the trip presentation instruction, that the second user account has no permission to participate in the first trip, the prompt interface displaying first prompt information and an information update portal, and the first prompt information indicating that the second user account has no permission to participate in the first trip (Par. [0046], one or more individual users the driver would like to directly invite to be passengers in a rideshare with the driver; Par. [0060], Additionally, form 505 includes input boxes 520-525 for the driver to enter individual users to be directly invited to the rideshare and the driver's planned departure location);
displaying an information update interface of the mini program in response to an operation on the information update portal (Par. [0046], Exemplary selections of a set of one or more users within the social network that should see the invitation to rideshare utilize social graph 200 described above. For example, a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches);
obtaining, through the mini program, updated identity information of the second user account submitted in the information update interface (Par. [0046], Alternatively, a driver may select a subset of friends/first degree connections, friends of friends/second degree connections, all users invited to/viewing the invitation, another grouping of users, or directly select one or more individual users); and
transmitting an identity update request to a server of the mini program through the mini program, the identity update request comprising the updated identity information of the second user account, and the identity update request requesting the server of the mini program to update an identity tag of the second user account according to the updated identity information of the second user account (Par. [0028], when a user identifies an additional user as a friend, an edge in the social graph is generated connecting a node representing the first user and an additional node representing the additional user. The generated edge has a connection type indicating that the users are friends. As various nodes interact with each other, the social networking system 130 adds, removes, or otherwise modifies edges connecting the various nodes to reflect the interactions).
Regarding claim 5, Richardson discloses the method according to claim 1. Richardson also discloses wherein after the displaying, in the display interface of the social networking application, the shared information of the first trip created by the first user account in the mini program, the method further comprises: receiving, through the social networking application, updated shared information of the first trip transmitted by a server of the social networking application, the updated shared information of the first trip being provided by a server of the mini program to the server of the social networking application; and displaying the updated shared information of the first trip in the display interface of the social networking application (Par. [0062], potential drivers may be selected based upon received ridesharing information from one or more users. Determined matches 705 are presented along with a number of available seats in each vehicle. In one embodiment, determined matches 705 further present other users riding as passengers in the corresponding vehicles (e.g., in response to selecting a particular driver)).
Regarding claim 6, Richardson discloses the method according to claim 1. Richardson also discloses further comprising: receiving, through the social networking application, group invitation information transmitted by a server of the social networking application, the group invitation information being used for inviting at least two user accounts that have a matching binding relationship to join a second group of the social networking application, the at least two user accounts that have the matching binding relationship having matching identity tags, and the at least two user accounts that have the matching binding relationship comprising the second user account (Par. [0046], Exemplary selections of a set of one or more users within the social network that should see the invitation to rideshare utilize social graph 200 described above. For example, a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches); and
displaying joining prompt information for the second group through the social networking application according to the group invitation information, the joining prompt information being used for guiding the second user account to join the second group (Par. [0049], the user input indicates one or more of the following: if a particular set of users within the social network should see a request to rideshare via transit/travel together or otherwise be considered as a match for ridesharing with the transit passenger, one or more individual users the transit passenger would like to request to join in the transit rideshare with the passenger; Par. [0054], For example, similar to the other selections/inputs described herein, user 102A clicks on a selectable user interface object displayed by application 105A to join a rideshare with another user and user device 104A transmits the selection to social networking system 130).
Regarding claim 7, Richardson discloses the method according to claim 1. Richardson also discloses further comprising: displaying to-be-matched trips from at least two different third-party applications in a trip aggregation interface of the mini program (Par. [0035], the social networking system 130 may allow users to interact with external (e.g., third-party) applications 150 (e.g., websites), external storage 155, and/or external servers 115 (e.g., server end stations)… The API request server 125 allows external systems (e.g., an external application 150 of external server 115, and/or user applications 105A of user devices 104A-104N) to access information from or transmit information to the social networking system 130 by issuing API calls; Par. [0038], In an alternate embodiment, the event module 129 is a part of the external server 115. For example, the event module 129 may be implemented by the external application 150), the to-be-matched trip being a trip waiting for participation by a user (Par. [0062], FIG. 7 is an exemplary user interface 700 illustrating determined matches 705 for a user seeking to be a passenger in a driver's vehicle. As described above, potential drivers may be selected based upon received ridesharing information from one or more users. Determined matches 705 are presented along with a number of available seats in each vehicle. In one embodiment, determined matches 705 further present other users riding as passengers in the corresponding vehicles (e.g., in response to selecting a particular driver)); and
displaying the trip detail interface of the mini program in response to a viewing operation on the to-be-matched trip, the trip detail interface displaying detailed information of the to-be-matched trip and the trip participation control (Par. [0070], FIG. 9 is an exemplary user interface 900 to enable a driver to indicate a departure to pick up one or more passengers. In one embodiment, event module 129 presents user interface 900 to the driver upon opening the application 105 in response to the alert described above. User interface 900 includes a description of the event 905, e.g., the time and location of the event).
Regarding claim 8, Richardson discloses the method according to claim 1. Richardson also discloses further comprising: displaying a user interface related to a first group in the social networking application, the first group comprising the second user account; and displaying a trip presentation interface of the mini program in response to an open mini-program operation initiated in the user interface related to the first group, the trip presentation interface displaying a trip created by a user account in the first group (Par. [0057], FIG. 4 is an exemplary user interface 400 illustrating an event and options for users to indicate intentions to attend and drive to an event or attend and not drive to the event. User interface 400 includes event description 405, a date and time for the event a location of the event. User interface 400 further includes map 410 displaying a map view of the event location. In one embodiment, map 410 is interactive an enables the user to plan a route or otherwise obtain directions to the event (e.g., by using a mapping API, launching a mapping application, redirecting a user to a mapping website, etc.)).
Regarding claim 9, Richardson discloses a trip sharing method, the method being performed by backend servers (Par. [0029], To provide these functionalities, one embodiment of the social networking system 130 includes an API request server 125, a web server 123, a message server 124, an action logger 126, and a set of data stores 101. This embodiment also includes, within the data stores 101, a social graph store 140, a ridesharing store 144, a content store 146, an action log 148, a user profile data store 152, and an object data store 154. In other embodiments, the social networking system 130 may include additional, fewer, or different modules for various applications. Of course, conventional components such as processors, memories, security mechanisms, load balancers, failover servers, management and network operations consoles, and the like are not shown in FIG. 1 so as to not obscure the details of the system), and the backend servers comprising a server of a social networking application Par. [0025], a user device (e.g., 104A) may execute a user application (e.g., 105A) allowing a user 102A of the user device 104A to interact with the social networking system 130. For example, the user application 105A may be a web browser application. In an embodiment, the user application 105A is a special-purpose client application (e.g., Facebook for iPhone or iPad, etc.), and in an embodiment the user application 105A is the native operating system of the user device 104A, which may utilize an Application Programming Interface (API) to directly interface with the social networking system 130 through API request server 125) and a server of a mini program, the method comprising:
receiving, by the server of the social networking application, a trip sharing request transmitted by a social networking application of a first terminal device, the trip sharing request requesting to share a first trip created by a first user account corresponding to the first terminal device in the mini program based on a relationship chain in the social networking application (Par. [0038], the event module 129 receives ridesharing information from users and determines matches between users based upon the ridesharing information. In one embodiment, the event module 129 creates and/or maintains a data structure to store, in the ridesharing store 144, the ridesharing information and matches for users), and
the first trip being a trip created by a car owner and waiting for participation by a passenger or a trip created by a passenger and waiting for participation by a car owner (Par. [0062], potential drivers may be selected based upon received ridesharing information from one or more users. Determined matches 705 are presented along with a number of available seats in each vehicle. In one embodiment, determined matches 705 further present other users riding as passengers in the corresponding vehicles (e.g., in response to selecting a particular driver));
transmitting, by the server of the social networking application, shared information of the first trip to a social networking application of at least one second terminal device according to the trip sharing request (Par. [0038], the event module 129 receives ridesharing information from users and determines matches between users based upon the ridesharing information. In one embodiment, the event module 129 creates and/or maintains a data structure to store, in the ridesharing store 144, the ridesharing information and matches for users), the second terminal device corresponding to a second user account, and the second user account being determined based on the relationship chain in the social networking application (Par. [0062], potential drivers may be selected based upon received ridesharing information from one or more users. Determined matches 705 are presented along with a number of available seats in each vehicle. In one embodiment, determined matches 705 further present other users riding as passengers in the corresponding vehicles (e.g., in response to selecting a particular driver));
receiving, by the server of the mini program, a trip viewing request transmitted by a mini program of the second terminal device, the trip viewing request indicating that the second user account requests to view detailed information of the first trip (Par. [0044], user device 104A executes application 105A enabling user 102A to view an event published within a portal of the social networking system 130. The event includes a description and one or more selectable options for the user to indicate intent to attend the event); and
determining, by the server of the mini program, whether the second user account corresponding to the second terminal device has permission to participate in the first trip based on whether an identity tag of the second user account matches an identity tag of the first user account (Par. [0030], Privacy settings limit information that the social networking system 130 or other users of the social networking system 130 are permitted to access from that user's user profile; Par, [0046], a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches. Alternatively, a driver may select a subset of friends/first degree connections, friends of friends/second degree connections, all users invited to/viewing the invitation, another grouping of users, or directly select one or more individual users.).
transmitting, by the server of the mini program, the detailed information of the first trip to the mini program of the second terminal device in response to the second user account having the identity tag matching the identity tag of the first user account, the second user account that has the identity tag matching the identity tag of the first user account having permission to participate in the first trip (Par. [0051], a driver may indicate a willingness to only have passengers that are first degree connections while a passenger may indicate a willingness to be paired with one or more users that are either first or second degree connections. In determining matches, event module 129 would not present the driver to the passenger (or vice versa) due to the driver's preference for only first degree connections as passengers).
Richardson does not explicitly disclose the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system.
Rathod teaches the mini program being an application executable within an execution environment provided by the social networking application (Par. [0035], a subroutine is a sequence of program instructions that perform a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Subprograms may be defined within programs, or separately in libraries that can be used by multiple programs) that parses a logic code file of the mini program (Par. [0039], The content of a subroutine is its body, the piece of program code that is executed when the subroutine is called or invoked; Par. [0043], presentation logic components including textbox, search box, checkbox, radio button, list box, combo box, menu, wizard, grid, button(s), form(s) and one or more types of controls, objects, plug-ins, applications, application code or script, dynamic presentation interface), the mini program not running directly in an operating system (Par. [0037], As the name subprogram suggests, a subroutine behaves in much the same way as a computer program that is used as one step in a larger program or another subprogram. A subroutine is often coded so that it can be started (called) several times and/or from several places during one execution of the program, including from other subroutines, and then branch back (return) to the next instruction after the call once the subroutine's task is done).
Rathod suggests it is advantageous to breaking a program into subroutines or mini programs because doing so can decompose a complex programming task into simpler steps (Rathod, Par. [0041]). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the trip sharing system of Richardson to include “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” as taught by Rathod because doing so can be an advantageous way to reduce complex programming tasks into simpler steps. Furthermore, since each individual element and its function are shown in the prior art, albeit shown in separate references, the difference between the claimed subject matter and the prior art rests not on any individual element or function but in the very combination itself. That is in the substitution of the subprograms of Rathod for that of the various applications running on the social networking system of Richardson. Thus, the simple substitution of one known element for another producing a predictable result renders the claim obvious.
Regarding claim 10, Richardson discloses the method according to claim 9. Richardson also discloses wherein after the receiving, by the server of the mini program, the trip viewing request transmitted by the mini program of the second terminal device, the method further comprises:
determining, by the server of the mini program, that the second user account has permission to participate in the first trip in response to the first user account and the second user account having a matching binding relationship, at least two user accounts that have the matching binding relationship having matching identity tags (Par. [0046], Exemplary selections of a set of one or more users within the social network that should see the invitation to rideshare utilize social graph 200 described above. For example, a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches); or determining, by the server of the mini program according to an identity tag of the first user account and an identity tag of the second user account, whether the second user account has permission to participate in the first trip in response to that the first user account and the second user account not having the matching binding relationship.
Regarding claim 11, Richardson discloses the method according to claim 10. Richardson also discloses wherein the determining, by the server of the mini program according to the identity tag of the first user account and the identity tag of the second user account, whether the second user account has permission to participate in the first trip comprises:
obtaining, by the server of the mini program, the identity tag of the first user account and the identity tag of the second user account, and determining, by the server of the mini program, that the second user account has permission to participate in the first trip in response to the identity tag of the first user account matching the identity tag of the second user account (Par. [0051], a driver may indicate a willingness to only have passengers that are first degree connections while a passenger may indicate a willingness to be paired with one or more users that are either first or second degree connections. In determining matches, event module 129 would not present the driver to the passenger (or vice versa) due to the driver's preference for only first degree connections as passengers); or
transmitting, by the server of the mini program, an identity matching request to a third-party server, the identity matching request requesting to query whether the identity tag of the first user account matches the identity tag of the second user account; receiving, by the server of the mini program, an identity matching result from the third-party server; and determining, by the server of the mini program, that the second user account has permission to participate in the first trip in response to the identity matching result indicating that the identity tag of the first user account matches the identity tag of the second user account.
Regarding claim 12, Richardson discloses the method according to claim 9. Richardson also discloses wherein after the transmitting, by the server of the mini program, the detailed information of the first trip to the mini program of the second terminal device, the method further comprises: receiving, by the server of the mini program, trip confirmation information transmitted by the mini program of the second terminal device, the trip confirmation information indicating that the second user account confirms participation in the first trip (Par. [0074], FIG. 10 is an exemplary user interface 1000 illustrating a route map presented to the driver. For example, user interface 1000 may be presented to the driver in response to receiving the indication the driver's departure described above. The route map displayed within user interface 1000 includes representations of the driver's location 1005, passenger locations 1010-1015, and event location 1020, as well as the route between each. User interface 1000 further includes a user interface element to enable the user to open the route in a map application, e.g., to enable an interactive route map and/or driving directions.); and
storing, by the server of the mini program, a binding relationship between the second user account and the first trip (Par. [0028], when a user identifies an additional user as a friend, an edge in the social graph is generated connecting a node representing the first user and an additional node representing the additional user. The generated edge has a connection type indicating that the users are friends. As various nodes interact with each other, the social networking system 130 adds, removes, or otherwise modifies edges connecting the various nodes to reflect the interactions).
Regarding claim 13, Richardson discloses the method according to claim 9. Richardson also discloses further comprising: transmitting, by the server of the mini program, relationship indication information to the server of the social networking application, the relationship indication information indicating at least two user accounts that have a matching binding relationship, and the at least two user accounts that have the matching binding relationship having matching identity tags (Par. [0046], Exemplary selections of a set of one or more users within the social network that should see the invitation to rideshare utilize social graph 200 described above. For example, a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches); and
transmitting, by the server of the social networking application, group invitation information to the at least two user accounts that have the matching binding relationship, the group invitation information being used for inviting the at least two user accounts that have the matching binding relationship to join a second group of the social networking application (Par. [0049], the user input indicates one or more of the following: if a particular set of users within the social network should see a request to rideshare via transit/travel together or otherwise be considered as a match for ridesharing with the transit passenger, one or more individual users the transit passenger would like to request to join in the transit rideshare with the passenger; Par. [0054], For example, similar to the other selections/inputs described herein, user 102A clicks on a selectable user interface object displayed by application 105A to join a rideshare with another user and user device 104A transmits the selection to social networking system 130).
Regarding claim 14, Richardson discloses a trip sharing method, the method being performed by a first terminal device, and a social networking application (Par. [0025], a user device (e.g., 104A) may execute a user application (e.g., 105A) allowing a user 102A of the user device 104A to interact with the social networking system 130. For example, the user application 105A may be a web browser application. In an embodiment, the user application 105A is a special-purpose client application (e.g., Facebook for iPhone or iPad, etc.), and in an embodiment the user application 105A is the native operating system of the user device 104A, which may utilize an Application Programming Interface (API) to directly interface with the social networking system 130 through API request server 125) and a mini program running based on the social networking application being run in the first terminal device (Par. [0035], the social networking system 130 may allow users to interact with external (e.g., third-party) applications 150 (e.g., websites), external storage 155, and/or external servers 115 (e.g., server end stations). The API request server 125 allows external systems (e.g., an external application 150 of external server 115, and/or user applications 105A of user devices 104A-104N) to access information from or transmit information to the social networking system 130 by issuing API calls; Par. [0038], the event module 129 may be implemented by the external application 150. The event module 129 facilitates event-based ridesharing), the method comprising:
displaying a trip creation interface of the mini program through the social networking application (Par. [0044], user device 104A executes application 105A enabling user 102A to view an event published within a portal of the social networking system 130. The event includes a description and one or more selectable options for the user to indicate intent to attend the event);
displaying, through the mini program in response to an operation on the trip creation interface, a first trip created by a first user account, the first trip being a trip created by a car owner waiting for participation by a passenger or a trip created by a passenger waiting for participation by a car owner (Par. [0062], potential drivers may be selected based upon received ridesharing information from one or more users. Determined matches 705 are presented along with a number of available seats in each vehicle. In one embodiment, determined matches 705 further present other users riding as passengers in the corresponding vehicles (e.g., in response to selecting a particular driver);
in response to a sharing operation on the first trip, generating shared information of the first trip through the mini program, and providing the shared information of the first trip to the social networking application (Par. [0070], FIG. 9 is an exemplary user interface 900 to enable a driver to indicate a departure to pick up one or more passengers. In one embodiment, event module 129 presents user interface 900 to the driver upon opening the application 105 in response to the alert described above. User interface 900 includes a description of the event 905, e.g., the time and location of the event); and
transmitting the shared information of the first trip to at least one second user account through the social networking application based on a relationship chain in the social networking application (Par. [0038], the event module 129 receives ridesharing information from users and determines matches between users based upon the ridesharing information. In one embodiment, the event module 129 creates and/or maintains a data structure to store, in the ridesharing store 144, the ridesharing information and matches for users), a target second user account that has an identity tag matching an identity tag of the first user account in the at least one second user account having permission to participate in the first trip (Par. [0051], a driver may indicate a willingness to only have passengers that are first degree connections while a passenger may indicate a willingness to be paired with one or more users that are either first or second degree connections. In determining matches, event module 129 would not present the driver to the passenger (or vice versa) due to the driver's preference for only first degree connections as passengers).
Richardson does not explicitly disclose the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system.
Rathod teaches the mini program being an application executable within an execution environment provided by the social networking application (Par. [0035], a subroutine is a sequence of program instructions that perform a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Subprograms may be defined within programs, or separately in libraries that can be used by multiple programs) that parses a logic code file of the mini program (Par. [0039], The content of a subroutine is its body, the piece of program code that is executed when the subroutine is called or invoked; Par. [0043], presentation logic components including textbox, search box, checkbox, radio button, list box, combo box, menu, wizard, grid, button(s), form(s) and one or more types of controls, objects, plug-ins, applications, application code or script, dynamic presentation interface), the mini program not running directly in an operating system (Par. [0037], As the name subprogram suggests, a subroutine behaves in much the same way as a computer program that is used as one step in a larger program or another subprogram. A subroutine is often coded so that it can be started (called) several times and/or from several places during one execution of the program, including from other subroutines, and then branch back (return) to the next instruction after the call once the subroutine's task is done).
Rathod suggests it is advantageous to breaking a program into subroutines or mini programs because doing so can decompose a complex programming task into simpler steps (Rathod, Par. [0041]). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the trip sharing system of Richardson to include “the mini program being an application executable within an execution environment provided by the social networking application that parses a logic code file of the mini program, the mini program not running directly in an operating system,” as taught by Rathod because doing so can be an advantageous way to reduce complex programming tasks into simpler steps. Furthermore, since each individual element and its function are shown in the prior art, albeit shown in separate references, the difference between the claimed subject matter and the prior art rests not on any individual element or function but in the very combination itself. That is in the substitution of the subprograms of Rathod for that of the various applications running on the social networking system of Richardson. Thus, the simple substitution of one known element for another producing a predictable result renders the claim obvious.
Regarding claim 15, Richardson discloses the method according to claim 14. Richardson also discloses wherein the generating shared information of the first trip through the mini program comprises: obtaining trip data of the first trip through the mini program by using an asynchronous task (Par. [0060], For example, form 505 includes drop down menus 510-515 with selectable options for a number of passengers the driver is willing to take or the set of users (e.g., based upon social graph connections) that are able to see a ridesharing invitation or otherwise be matched with the driver. Additionally, form 505 includes input boxes 520-525 for the driver to enter individual users to be directly invited to the rideshare and the driver's planned departure location. As set forth in the examples above, form 505 may include additional fields for the driver to provide ridesharing information. A similar form may be used to collect ridesharing information from a user seeking a driver or planning to take transit); and
generating the shared information of the first trip through the mini program according to the trip data of the first trip, the shared information of the first trip being displayed in the social networking application in a form of a card (Par. [0070], FIG. 9 is an exemplary user interface 900 to enable a driver to indicate a departure to pick up one or more passengers. In one embodiment, event module 129 presents user interface 900 to the driver upon opening the application 105 in response to the alert described above. User interface 900 includes a description of the event 905, e.g., the time and location of the event).
Regarding claim 16, Richardson discloses the method according to claim 15. Richardson also discloses wherein before the obtaining trip data of the first trip through the mini program by using an asynchronous task, the method further comprises: in response to cached data of the first terminal device comprising the trip data of the first trip, obtaining the trip data of the first trip from the cached data through the mini program; or in response to the cached data not comprising the trip data of the first trip, performing the operation of obtaining trip data of the first trip through the mini program by using the asynchronous task (Par. [0060], For example, form 505 includes drop down menus 510-515 with selectable options for a number of passengers the driver is willing to take or the set of users (e.g., based upon social graph connections) that are able to see a ridesharing invitation or otherwise be matched with the driver. Additionally, form 505 includes input boxes 520-525 for the driver to enter individual users to be directly invited to the rideshare and the driver's planned departure location. As set forth in the examples above, form 505 may include additional fields for the driver to provide ridesharing information. A similar form may be used to collect ridesharing information from a user seeking a driver or planning to take transit).
Regarding claim 17, Richardson discloses the method according to claim 14. Richardson also discloses further comprising: displaying a user interface related to a second group in the social networking application (Par. [0046], Exemplary selections of a set of one or more users within the social network that should see the invitation to rideshare utilize social graph 200 described above. For example, a driver may indicate that only friends/first degree connections that are going to the event are to see the rideshare invitation or otherwise be considered in determining rideshare matches);
displaying the trip creation interface of the mini program in response to an open mini-program operation initiated in the user interface related to the second group (Par. [0049], the user input indicates one or more of the following: if a particular set of users within the social network should see a request to rideshare via transit/travel together or otherwise be considered as a match for ridesharing with the transit passenger, one or more individual users the transit passenger would like to request to join in the transit rideshare with the passenger; Par. [0054], For example, similar to the other selections/inputs described herein, user 102A clicks on a selectable user interface object displayed by application 105A to join a rideshare with another user and user device 104A transmits the selection to social networking system 130); and
displaying, through the mini program in response to the operation on the trip creation interface, the first trip created by the first user account, a user account that belongs to the second group having permission to participate in the first trip (Par. [0051], a driver may indicate a willingness to only have passengers that are first degree connections while a passenger may indicate a willingness to be paired with one or more users that are either first or second degree connections. In determining matches, event module 129 would not present the driver to the passenger (or vice versa) due to the driver's preference for only first degree connections as passengers), and a user account that does not belong to the second group having no permission to participate in the first trip (Par. [0046], one or more individual users the driver would like to directly invite to be passengers in a rideshare with the driver; Par. [0060], Additionally, form 505 includes input boxes 520-525 for the driver to enter individual users to be directly invited to the rideshare and the driver's planned departure location).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 Patrick Kim whose telephone number is (571)272-8619. The examiner can normally be reached Monday - Friday, 9AM - 5PM 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, Lynda Jasmin can be reached at (571)272-6782. 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.
/Patrick Kim/Examiner, Art Unit 3628
/LYNDA JASMIN/Supervisory Patent Examiner, Art Unit 3629