Patents by Inventor Xiaohan Yun
Xiaohan Yun has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11704365Abstract: Techniques are disclosed for storing an arranging data in a database. A method includes a computer system storing, in a database, data indicative of a graph data structure having a plurality of nodes connected by a plurality of edges. The method further includes the computer system determining that a number of edges connected to a first node satisfies a threshold number. In response to the determining, the computer system may store an index in an index row associated with the first node. The index identifies a first row having first and second ranges of values stored in first and second rows, respectively. The values in the first and second rows correspond to edges connected to the first node. The values in the first and second ranges are usable to indicate properties of corresponding ones of the plurality of edges.Type: GrantFiled: June 23, 2021Date of Patent: July 18, 2023Assignee: PayPal, Inc.Inventors: Xin Li, Lei Wang, Xin Chen, Pengshan Zhang, Jun Zhang, Haoran Zhang, Quin Zuo, Junsheng Tan, Ying Yue, Chao Zhang, Xiaohan Yun, Zhenyin Yang
-
Patent number: 11704363Abstract: Aspects of the present disclosure involve systems, methods, devices, and the like for generating highly scalable temporal graph databases. In one embodiment, a novel architecture is presented that enables the identification of mutation or changes in graphs. For the identification a combination of graph-based modeling and journal entry is used. Events occurring are consumed and changes are ingested, transformed for use by a graph simulation system. The changes are journaled using a vertex centric temporal journaling schema.Type: GrantFiled: December 17, 2019Date of Patent: July 18, 2023Assignee: PayPal, Inc.Inventors: Rey Neo, Chun Kiat Ho, Lin Song, Kai Xie, Quin Zuo, Xin Li, Pengshan Zhang, Meng Zang, Xiaohan Yun, Karl Anton Hennig, Jun Zhang, Thomas Doran, Jerry Tso
-
Patent number: 11593813Abstract: A first graph that includes a plurality of containers is accessed. The containers each contain one or more rules that each have corresponding computer code. The containers are configured for sequential execution by a rule engine. The computer code corresponding to the one or more rules in each of the containers is electronically scanned. Based on the electronic scan, an interdependency among the rules is determined. Based on the determined interdependency, a second graph is generated. The second graph includes all of the rules of the containers, but not the containers themselves. At least some of the rules are configured for parallel execution by the rule engine.Type: GrantFiled: December 31, 2019Date of Patent: February 28, 2023Assignee: PAYPAL, INC.Inventors: Srinivasan Manoharan, Junhua Zhao, Yuehao Wu, Xiaohan Yun
-
Patent number: 11573875Abstract: Techniques are disclosed relating to accessing, by an evaluation computer system, transaction details from a subset of current transactions being processed by a production version of a transaction processing service that is implemented on a production computer system. The evaluation computer system may perform, in real-time, tests on a particular product using the transaction details. The evaluation computer system may then store output from the tests that are performed using the transaction details.Type: GrantFiled: June 28, 2019Date of Patent: February 7, 2023Assignee: PayPal, Inc.Inventors: Yuehao Wu, Xiaohan Yun, Adrian Oliver Suciu, Yunfeng Li, Quin Zuo
-
Patent number: 11455238Abstract: Methods and systems are presented for testing software applications in a production-like environment that simulates real-world failures of production environments. A production environment has production applications and databases configured to process user requests from users for conducting transactions with a service provider. A testing system provides an intermediate interface that enables a software application operating in the test environment to access at least one of a production application or a production database. The intermediate interface can be configured based on different failure configurations to simulate production component failures in the production environment. Failure injection and randomized failure modes can be employed, including for network-related failures (latency, dropped packets, connections, etc.) that might occur in the production environment.Type: GrantFiled: July 19, 2021Date of Patent: September 27, 2022Assignee: PayPal, Inc.Inventors: Pengshan Zhang, Jun Zhang, Xiaohan Yun, Xin Chen
-
Patent number: 11442920Abstract: Systems and methods that describe a graph database system with an online component and an offline component, are provided. Write events that modify a first graph in a real-time graph database included in the online component are received. Graph logs that include changes to the first graph in the real-time graph database caused by the write events are generated. The graph logs are transmitted to an offline component of the graph database system in a chronological order. A second graph in the offline component is modified using the graph logs. The first graph and the second graph are instantiated using a graph schema.Type: GrantFiled: June 28, 2019Date of Patent: September 13, 2022Assignee: PayPal, Inc.Inventors: Meng Zang, Xin Li, Ying Yue, Lei Wang, Quin Zuo, Jun Zhang, Tingjie Jia, Ke Zheng, Junshi Guo, Chaoyi Chen, Qinghai Fu, Wenbing Zhu, Haoran Zhang, Zhe Huang, Yang Yu, Siddarth Anand, Xiaohan Yun, Mikhail Kourjanski, Vadim Kutsyy, Zhenyin Yang
-
Patent number: 11422856Abstract: Techniques are disclosed relating to scheduling program tasks in a server computer system. An example server computer system is configured to maintain first and second sets of task queues that have different performance characteristics, and to collect performance metrics relating to processing of program tasks from the first and second sets of task queues. Based on the collected performance metrics, the server computer system is further configured to update a scheduling algorithm for assigning program tasks to queues in the first and second sets of task queues. In response to receiving a particular program task associated with a user transaction, the server computer system is also configured to select the first set of task queues for the particular program task, and to assign the particular program task in a particular task queue in the first set of task queues.Type: GrantFiled: June 28, 2019Date of Patent: August 23, 2022Assignee: PayPal, Inc.Inventors: Xin Li, Libin Sun, Chao Zhang, Xiaohan Yun, Jun Zhang, Frédéric Tu, Yang Yu, Lei Wang, Zhijun Ling
-
Patent number: 11354295Abstract: Methods and systems for processing incoming data in real-time are described herein. The incoming data is processed in real-time to generate data records that may be improved over time, for example, by automatically correcting inaccurate data in the records. In some embodiments, when data is received, a real-time process is initially performed on the received data under a first time constraint to produce first data for a data record. Subsequently, one or more non-real-time processes are then performed on the received data under a second time constraint to produce second data for the data record. The second data may be used to update the data record, for example, to correct any inaccuracy caused by the real-time process of the received data. Preferably, the second time constraint is longer than the first time constraint.Type: GrantFiled: August 18, 2017Date of Patent: June 7, 2022Assignee: PayPal, Inc.Inventors: Xin Li, Xiaohan Yun, Yunfeng Li, Yang Yu, Zhijun Ling, Ke Zheng, Uri Arad, Frederic Tu
-
Publication number: 20220012169Abstract: Methods and systems are presented for testing software applications in a production-like environment that simulates real-world failures of production environments. A production environment has production applications and databases configured to process user requests from users for conducting transactions with a service provider. A testing system provides an intermediate interface that enables a software application operating in the test environment to access at least one of a production application or a production database. The intermediate interface can be configured based on different failure configurations to simulate production component failures in the production environment. Failure injection and randomized failure modes can be employed, including for network-related failures (latency, dropped packets, connections, etc.) that might occur in the production environment.Type: ApplicationFiled: July 19, 2021Publication date: January 13, 2022Inventors: Pengshan Zhang, Jun Zhang, Xiaohan Yun, Xin Chen
-
Publication number: 20220004580Abstract: Techniques are disclosed for storing an arranging data in a database. A method includes a computer system storing, in a database, data indicative of a graph data structure having a plurality of nodes connected by a plurality of edges. The method further includes the computer system determining that a number of edges connected to a first node satisfies a threshold number. In response to the determining, the computer system may store an index in an index row associated with the first node. The index identifies a first row having first and second ranges of values stored in first and second rows, respectively. The values in the first and second rows correspond to edges connected to the first node. The values in the first and second ranges are usable to indicate properties of corresponding ones of the plurality of edges.Type: ApplicationFiled: June 23, 2021Publication date: January 6, 2022Inventors: Xin Li, Lei Wang, Xin Chen, Pengshan Zhang, Jun Zhang, Haoran Zhang, Quin Zuo, Junsheng Tan, Ying Yue, Chao Zhang, Xiaohan Yun, Zhenyin Yang
-
Publication number: 20210334312Abstract: Aspects of the present disclosure involve systems, methods, devices, and the like for generating highly scalable temporal graph databases. In one embodiment, a novel architecture is presented that enables the identification of mutation or changes in graphs. For the identification a combination of graph-based modeling and journal entry is used. Events occurring are consumed and changes are ingested, transformed for use by a graph simulation system. The changes are journaled using a vertex centric temporal journaling schema.Type: ApplicationFiled: December 17, 2019Publication date: October 28, 2021Inventors: Rey Neo, Chun Kiat Ho, Lin Song, Kai Xie, Quin Zuo, Xin Li, Pengshan Zhang, Meng Zang, Xiaohan Yun, Karl Anton Hennig, Jun Zhang, Thomas Doran, Jerry Tso
-
Patent number: 11068384Abstract: Methods and systems are presented for testing software applications in a production-like environment that simulates real-world failures of production environments. A production environment has production applications and databases configured to process user requests from users for conducting transactions with a service provider. A testing system provides an intermediate interface that enables a software application operating in the test environment to access at least one of a production application or a production database. The intermediate interface can be configured based on different failure configurations to simulate production component failures in the production environment. Failure injection and randomized failure modes can be employed, including for network-related failures (latency, dropped packets, connections, etc.) that might occur in the production environment.Type: GrantFiled: December 10, 2019Date of Patent: July 20, 2021Assignee: PayPal, Inc.Inventors: Pengshan Zhang, Jun Zhang, Xiaohan Yun, Xin Chen
-
Publication number: 20210201317Abstract: A first graph that includes a plurality of containers is accessed. The containers each contain one or more rules that each have corresponding computer code. The containers are configured for sequential execution by a rule engine. The computer code corresponding to the one or more rules in each of the containers is electronically scanned. Based on the electronic scan, an interdependency among the rules is determined. Based on the determined interdependency, a second graph is generated. The second graph includes all of the rules of the containers, but not the containers themselves. At least some of the rules are configured for parallel execution by the rule engine.Type: ApplicationFiled: December 31, 2019Publication date: July 1, 2021Inventors: Srinivasan Manoharan, Junhua Zhao, Yuehao Wu, Xiaohan Yun
-
Publication number: 20210173767Abstract: Methods and systems are presented for testing software applications in a production-like environment that simulates real-world failures of production environments. A production environment has production applications and databases configured to process user requests from users for conducting transactions with a service provider. A testing system provides an intermediate interface that enables a software application operating in the test environment to access at least one of a production application or a production database. The intermediate interface can be configured based on different failure configurations to simulate production component failures in the production environment. Failure injection and randomized failure modes can be employed, including for network-related failures (latency, dropped packets, connections, etc.) that might occur in the production environment.Type: ApplicationFiled: December 10, 2019Publication date: June 10, 2021Inventors: Pengshan Zhang, Jun Zhang, Xiaohan Yun, Xin Chen
-
Patent number: 10887729Abstract: A method is provided that includes accessing, by a server provider server of a service provider, a database storing associations between network addresses and locations. Additionally, the method includes determining a subset of the database corresponding to a first network address, each association included in the subset corresponding to an association between the first network address and a respective location. The method also includes in response to determining that the subset of the database satisfies one or more clustering criteria, calculating a representative location corresponding to the first network address, and storing an association between the first network address and the representative location in a second database.Type: GrantFiled: January 21, 2020Date of Patent: January 5, 2021Assignee: PAYPAL, INC.Inventors: Xin Li, Jun Zhang, Yang Yu, Xiaohan Yun, Chao Zhang, Frédéric Tu, Zhijun Ling, Libin Sun, Christopher Tang
-
Publication number: 20200409754Abstract: Techniques are disclosed relating to scheduling program tasks in a server computer system. An example server computer system is configured to maintain first and second sets of task queues that have different performance characteristics, and to collect performance metrics relating to processing of program tasks from the first and second sets of task queues. Based on the collected performance metrics, the server computer system is further configured to update a scheduling algorithm for assigning program tasks to queues in the first and second sets of task queues. In response to receiving a particular program task associated with a user transaction, the server computer system is also configured to select the first set of task queues for the particular program task, and to assign the particular program task in a particular task queue in the first set of task queues.Type: ApplicationFiled: June 28, 2019Publication date: December 31, 2020Inventors: Xin Li, Libin Sun, Chao Zhang, Xiaohan Yun, Jun Zhang, Frédéric Tu, Yang Yu, Lei Wang, Zhijun Ling
-
Publication number: 20200409931Abstract: Systems and methods that describe a graph database system with an online component and an offline component, are provided. Write events that modify a first graph in a real-time graph database included in the online component are received. Graph logs that include changes to the first graph in the real-time graph database caused by the write events are generated. The graph logs are transmitted to an offline component of the graph database system in a chronological order. A second graph in the offline component is modified using the graph logs. The first graph and the second graph are instantiated using a graph schema.Type: ApplicationFiled: June 28, 2019Publication date: December 31, 2020Inventors: Meng Zang, Xin Li, Ying Yue, Lei Wang, Quin Zuo, Jun Zhang, Tingjie Jia, Ke Zheng, Junshi Guo, Chaoyi Chen, Qinghai Fu, Wenbing Zhu, Haoran Zhang, Zhe Huang, Yang Yu, Siddarth Anand, Xiaohan Yun, Mikhail Kourjanski, Vadim Kutsyy, Zhenyin Yang
-
Publication number: 20200409812Abstract: Techniques are disclosed relating to accessing, by an evaluation computer system, transaction details from a subset of current transactions being processed by a production version of a transaction processing service that is implemented on a production computer system. The evaluation computer system may perform, in real-time, tests on a particular product using the transaction details. The evaluation computer system may then store output from the tests that are performed using the transaction details.Type: ApplicationFiled: June 28, 2019Publication date: December 31, 2020Inventors: Yuehao Wu, Xiaohan Yun, Adrian Oliver Suciu, Yunfeng Li, Quin Zuo
-
Publication number: 20200267506Abstract: A method is provided that includes accessing, by a server provider server of a service provider, a database storing associations between network addresses and locations. Additionally, the method includes determining a subset of the database corresponding to a first network address, each association included in the subset corresponding to an association between the first network address and a respective location. The method also includes in response to determining that the subset of the database satisfies one or more clustering criteria, calculating a representative location corresponding to the first network address, and storing an association between the first network address and the representative location in a second database.Type: ApplicationFiled: January 21, 2020Publication date: August 20, 2020Inventors: Xin Li, Jun Zhang, Yang Yu, Xiaohan Yun, Chao Zhang, Frédéric Tu, Zhijun Ling, Libin Sun, Christopher Tang
-
Patent number: 10671361Abstract: Technologies relating to determining data variable dependencies to facilitate code execution are disclosed. An example method includes: identifying a set of programming statements having a plurality of data parameters; identifying first data parameters associated with a first programming statement in the set of programming statements; determining one or more parameter dependencies associated with the first data parameters; and determining, based on the one or more parameter dependencies, a first execution performance of the first programming statement. The method may further include: determining a second execution performance of the second programming statement and scheduling execution of the first programming statement and of the second programming statement based on the first and second execution performances.Type: GrantFiled: October 25, 2016Date of Patent: June 2, 2020Assignee: PayPal, Inc.Inventors: Xin Li, Weijia Deng, Shuan Yang, Feng Chen, Jin Yao, Zhijun Ling, Yunfeng Li, Xiaohan Yun, Yang Yu