Abstract: A SYSTEM AND METHOD FOR OPTIMIZED SYNCHRONIZATION AND ENRICHMENT OF DATA ABSTRACT The present invention provides for an optimized data synchronization and enrichment. An5 embodiment entails a method executed on an electronic device wherein pre-synchronization is triggered upon user access via a graphical interface, and data is categorized into contact, raw, and call log datasets, marked with synchronization history, and transmitted over a network. Another embodiment involves a server-based method where pre-synchronized data from electronic devices is analysed, cleansed, and categorized into synchronization buckets,10 with contact data indexed and processed for matching against a database inventory. Yet another embodiment entails computing relationship scores and recommending connections based on synchronized data and user profiles. Systems described herein comprise data pre- synchronization engines for devices and data synchronization engines for servers, integrating processors and memory to execute instructions for efficient data optimization,15 synchronization, and user interaction
FORM 2
THE PATENTS ACT, 1970
(39 OF 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION:
“A SYSTEM AND METHOD FOR OPTIMIZED SYNCHRONIZATION AND
ENRICHMENT OF DATA”
2. APPLICANT:
(a) Name: Landmark Insurance Brokers Pvt. Ltd.
(b) Nationality: India
(c) Address: 1187/22, 4th Floor,
Venkatesh Meher, Ghole Road,
Shivaji Nagar, Pune-411005,
Maharashtra, India
3. PREAMBLE TO THE DESCRIPTION
COMPLETE
The following specification particularly describes the invention and the manner in which it
is to be performed.
2
Field of the Invention
[0001] The present invention generally relates to the field of data processing, and more
particularly relates to a system and method for optimized synchronization and enrichment of
data.5
Background of the Invention
[0002] In today's digital landscape, proliferation of data from various sources has created
both opportunities and challenges to obtain meaningful data for effective user experiences10
across various sectors such as, real estate, education, travel, insurance, automobile,
recruitment and staffing etc. Specifically, with the availability of abundance of data it has
increasingly become necessary to effectively derive insights from the data to enhance user
engagement. Synchronizing and processing of this data presents significant potential for
driving innovation and informed decision-making.15
[0003] Traditional approaches to synchronization of data from various sources often involve
complex steps. Existing methods are inherently error-prone and lack scalability to handle the
ever-increasing volume and diversity of data. Moreover, lack of standardized formats and
inconsistent data quality across sources in existing systems complicates synchronization and20
processing of data, leading to inaccuracies and inefficiencies. Moreover, data collected from
various sources require to be cleaned and standardized before it can be effectively processed.
The use of such data for various applications raises questions on its reliability. Conventional
methods are time-consuming and subjective, often hindering with the extraction of actionable
insights crucial for enhancing user experiences.25
[0004] As such, there is a growing need for enriched data that provides deeper insights
beyond basic metrics. Enriched data includes contextual information and predictive analytics to
understand user preferences and behaviours more comprehensively. By leveraging enriched
data, experience of a user at multiple points of engagement across various online and/or30
offline platforms are enhanced due to tailored offerings and recommendations, thereby
enhancing user engagement.
[0005] In light of the above-mentioned drawbacks, there is a need to address technical
complexities of synchronizing and processing of data from various sources for obtaining35
meaningful information to enhance user experience. There is a need for a system and method
for optimized data synchronization and enrichment of data.
3
Summary of the Invention
[0006] In various embodiments of the present invention, a method for optimized data
synchronization and enrichment is provided. The method is implemented by a processor 114 in5
an electronic device 102. The method comprises triggering pre-synchronization of data stored
in the electronic device 102. The triggering occurs responsive to an access of a system 200 by
a user of the electronic device 102 via a graphical user interface. The method further
comprises determining attributes associated with a first dataset associated with the data. The
method further comprises splitting the first dataset into contact data, raw data, and call log10
data based on pre-determined rules to obtain a split dataset. Further, the method comprises
determining synchronization history of the split dataset and marking the first dataset with a
synchronization history marker based on the determined synchronization history. Finally, the
method comprises transmitting the pre-synchronized first dataset to the system 200 via a
communication network.15
[0007] In various embodiments of the present invention, a method for synchronization and
enrichment of pre-synchronized data is provided. The method is implemented by a processor
226 in the system 200. The method comprises analysing pre-synchronized data received from
an electronic device 102 to determine synchronization status of the pre-synchronized data.20
The method further comprises fetching a first-time sync pre-synchronized data based on the
analysis, cleansing contact data present in the first-time sync data and storing the contact data
in a synchronization bucket in a pre-determined format. The method further comprises
indexing the contact data into categories based on one or more parameters. Further, the
method comprises processing raw data present in the first-time sync data to create a keyword25
library. The method further comprises processing call log data to extract information based on
predetermined rules and storing the processed call log data in the synchronization bucket. The
method further comprises queuing up the contact data in multiple batches for carrying out a
matching operation. Further, the method carries out a matching operation of the queued-up
contact data with a contact data inventory in a database. The contact data inventory comprises30
of information pertaining to contact details of persons and corresponding asset details. Yet
further, the method comprises retrieving a set of attributes associated with matched contacts
from the database based on the matching operation. Finally, the method comprises generating
a parametric response for the matched contact based on the retrieved attributes from the
database, wherein the parametric response is accessible via the electronic device of the user.35
[0008] In various embodiments of the present invention, a method for optimized data
synchronization and enrichment of data at a server-end is provided. The method comprises
receiving a search request from a new user via an electronic device 302. The method further
4
comprises performing a matching operation to determine if the new user’s contact number is
stored in the database 218. Further, the method comprises analysing call log information
between the new user and users of electronic devices 102. Yet further, the method comprises
determining a relationship score between the new user and the users of the electronic devices
102 based on a set of pre-defined rules to determine a set of integers. The method further5
comprises performing segmentation and profiling of the new user based on synchronized call
data, contact data, and raw data retrieved from a database 218. Furthermore, the method
comprises assigning a level of connection between the new user and the users of the
electronic devices 102 based on the segmentation and profiling of the new user. The method
further comprises comparing the determined relationship score with the segmentation, profiling10
and the level of connection information to select and recommend appropriate users of the
electronic devices 102 amongst the users of the electronic devices 102 to the new user via
different electronic device 302 types of the new user. Finally, the method comprises
transmitting a parametric response by the selected user of the electronic device 102 to the
new user, wherein the parametric response corresponds to attributes associated with the new15
user which are accessible by different electronic device 302 types of the new user.
[0009] In various embodiments of the present invention, a system 200 for optimized data
synchronization and enrichment deployed in an electronic device 102 is provided. The system
comprises a memory 116 storing program instructions, a processor 114 executing instructions20
stored in the memory 116 and a data pre-synchronization engine 104 executed by the
processor 114 configured to trigger pre-synchronization of data stored in the electronic device
102. The triggering occurs responsive to an access of a system 200 by the electronic device
102 via a graphical user interface. The data pre-synchronization engine 104 determines
attributes associated with a first dataset associated with the data. The data pre-25
synchronization engine 104 further splits the first dataset into contact data, raw data, and call
log data based on pre-determined rules to obtain a split dataset. Further, the data pre-
synchronization engine determines synchronization history of the split dataset and marks the
first dataset with a synchronization history marker based on the determined synchronization
history. Finally, the data pre-synchronization engine 104 transmits the pre-synchronized first30
dataset to the system 200 via a data transmission unit of the electronic device 102 via a
communication network.
[0010] In various embodiments of the present invention, a system 200 for synchronization
and enrichment of pre-synchronized data deployed at a server-end is provided. The system35
comprises a memory 228 storing program instructions, a processor 226 executing instructions
stored in the memory 228 and data synchronization engine 204 executed by the processor 226
configured to analyse marked pre-synchronized data received from a data transmission unit
112 in an electronic device 102 to determine synchronization status of the pre-synchronized
5
data. The data synchronization engine 204 fetches a first-time sync pre-synchronized data
based on the analysis, cleanses contact data present in the first-time sync data and stores the
contact data in a synchronization bucket in a pre-determined format. The data synchronization
engine 204 further indexes the contact data into categories based on one or more parameters.
Further, the data synchronization engine 204 processes raw data present in the first-time sync5
data to create a keyword library. Yet further, the data synchronization engine 204 segments
contact data present in the first-time sync data for connection profiling. The data
synchronization engine 204 further processes call log data to extract information based on
predetermined rules and storing the processed call log data in the synchronization bucket. The
data synchronization engine 204 further queues up the contact data in multiple batches for10
carrying out a matching operation. Furthermore, the data synchronization engine 204 carries
out a matching operation of the queued-up contact data with a contact data inventory in a
database 218. The contact data inventory comprises of information pertaining to contact
details of persons and corresponding asset details. The data synchronization engine 204
further retrieves a set of attributes associated with matched contacts from the database 21815
based on the matching operation. Finally, the data synchronization engine 204 generates a
parametric response for the matched contact based on the retrieved attributes from the
database, wherein the parametric response is accessible via the electronic device 102 of the
user.
20
[0011] In various embodiments of the present invention, a system 200,300 for optimized data
synchronization and enrichment of data at a server-end is provided. The system 200,300
comprises a memory 228 storing program instructions, a processor 200 executing instructions
stored in the memory 228 configured to receive a search request from a new user via an
electronic device 302. The system 200, 300 performs a matching operation to determine if the25
new user’s contact number is stored in the database 218. The system 200, 300 further
analyses call log information between the new user and users of electronic devices 102. The
system 200, 300 further determines a relationship score between the new user and the users
of the electronic devices 102 based on a set of pre-defined rules to determine a set of integers.
Further, the system 200, 300 performs segmentation and profiling of the new user based on30
synchronized call data, contact data, and raw data retrieved from a database 218. Yet further,
the system 200, 300 assigns a level of connection between the new user and the users of the
electronic devices 102 based on the segmentation and profiling of the new user. The system
200, 300 further compares the determined relationship score with the segmentation, profiling
and the level of connection information to select and recommend appropriate users of the35
electronic devices 102 amongst the users of the electronic devices 102 to the new user via
different electronic device 302 types of the new user. Finally, the system transmits a parametric
response by the selected user of the electronic device 102 to the electronic device 302 of the
6
new user, wherein the parametric response corresponds to attributes associated with the new
user which are accessible by different electronic device 302 types of the new user.
Brief Description of the Drawings
5
[0012] The present invention is described by way of embodiments illustrated in the
accompanying drawings wherein:
[0013] FIG. 1 illustrates a block diagram of a system deployed in an electronic device for
optimized synchronization and enrichment of data, in accordance with an embodiment of the10
present invention;
[0014] FIG. 2 illustrates a block diagram of a system deployed in a server for optimized
synchronization and enrichment of data, in accordance with an embodiment of the present
invention;15
[0015] FIG. 3 illustrates a block diagram of a system deployed in a server for optimized
synchronization and enrichment of data, in accordance with another embodiment of the
present invention;
20
[0016] FIGs. 4a and 4b illustrate a flowchart of a method 400 for optimized synchronization
and enrichment of data at the electronic device (102)-end, in accordance with various
embodiments of the present invention;
[0017] FIGs. 5a, 5b and 5c illustrate a flowchart of a method 500 for synchronization and25
enrichment of pre-synchronized data (i.e. first dataset and second dataset) at the server-end
(system 200);
[0018] FIGs. 6a, 6b and 6c illustrate a flowchart of a method for optimized data
synchronization and enrichment of data at the server-end (system 200); and30
[0019] FIG. 7 illustrates a block diagram of an exemplary computer system in which various
embodiments of the present invention may be implemented.
Detailed Description of the Invention35
[0020] The disclosure is provided in order to enable a person having ordinary skill in the art to
practice the invention. Exemplary embodiments herein are provided only for illustrative
purposes and various modifications will be readily apparent to persons skilled in the art. The
7
general principles defined herein may be applied to other embodiments and applications
without departing from the spirit and scope of the invention. The terminology and phraseology
used herein is for the purpose of describing exemplary embodiments and should not be
considered limiting. Thus, the present invention is to be accorded the widest scope
encompassing numerous alternatives, modifications and equivalents consistent with the5
principles and features disclosed herein. For purposes of clarity, details relating to technical
material that is known in the technical fields related to the invention have been briefly
described or omitted so as not to unnecessarily obscure the present invention.
[0021] The present invention would now be discussed in context of embodiments as10
illustrated in the accompanying drawings.
[0022] FIG. 1 is a block diagram of a system 100 for optimized synchronization and
enrichment of data, in accordance with various embodiments of the present invention.
Referring to FIG. 1, in accordance with an embodiment of the present invention, the system15
100 is installed in an electronic device 102. The electronic device 102 includes, but are not
limited to, a smart phone, a computer, a tablet, microcomputer or any other wired or wireless
terminal. In an embodiment of the present invention, the system 100 comprises a data pre-
synchronization engine 104 which is invoked in the event a user of the electronic device 102
initiates access to a system 200 (FIG. 2), hosting a data synchronization engine 204, via a20
Graphical User Interface (GUI) rendered on the electronic device 102. The user is an
authorized user of the system 200. In an embodiment of the present invention, the data pre-
synchronization engine 104 is executed by a middleware of the electronic device 102. In an
embodiment of the present invention, middleware determines whether the authorized user is
attempting synchronization for the first time or is making subsequent attempts. The authorized25
user initiates access to the system 200 by authorizing transmission of a first dataset stored in
the electronic device 102 to the system 200. In an exemplary embodiment of the present
invention, the first dataset comprises raw data, contact list of phone book, call log information
and other relevant data in a current state.
30
[0023] In an embodiment of the present invention, the system 100 may be implemented in a
private cloud computing architecture in which data, applications, services, and other resources
are stored and delivered through dedicated hosting, which may be physical or virtual. In an
exemplary embodiment of the present invention, the functionalities of the system 100 are
delivered to a user as, but not limited to, Software as a Service (SaaS) or a Platform as a35
Service (PaaS) over a communication network.
[0024] In another embodiment of the present invention, the system 100 may be implemented
as a client-server architecture. In this embodiment of the present invention, the electronic
8
device 102 is a terminal that accesses the server (system 200) over a communication network.
The server may be a centralized or a decentralized server.
[0025] In various embodiments of the present invention, the data pre-synchronization engine
104 has multiple units which work in conjunction with each other. The various units of the data5
pre-synchronization engine 104 are operated via a processor 114 specifically programmed to
execute instructions stored in the memory 116 for executing respective functionalities of the
units of the data pre-synchronization engine 104 in accordance with various embodiments of
the present invention. In an embodiment of the present invention, the data pre-synchronization
engine 104 comprises a data splitting unit 106, a synchronization checking unit 108, a data10
marking unit 110, and a data transmission unit 112.
[0026] In an embodiment of the present invention, upon invocation, the data pre-
synchronization engine 104 performs data pre-synchronization prior to transmission of the first
dataset to the system 200. The data pre-synchronization engine 104 performs pre-15
synchronization by determining attributes associated with the first dataset. In an exemplary
embodiment of the present invention, the attributes include determining data size of first
dataset, construct of the first dataset, and permissions including consent and security
information associated with the first dataset for transmission to the system 200. The data pre-
synchronization engine 104 determines the attributes to ascertain splitability, batching and20
compressibility of the first dataset for transmission of the first dataset to the system 200. In an
embodiment of the present invention, splitting, batching and compressing of the first dataset is
carried out based on a pre-set threshold limit, which aids in optimized usage of memory and
improved processing of the first dataset, thereby optimizing network and computing power.
25
[0027] In an embodiment of the present invention, the data splitting unit 106 splits the first
dataset into contact data, raw data, and call log data. In an embodiment of the present
invention, the data splitting unit 106 performs the splitting based on pre-determined rules. In an
embodiment of the present invention, the pre-determined rules include a threshold data range
of call log data and a threshold limit of size of contact data. In an exemplary embodiment of the30
present invention, call log data within a specified date range, preferably past 6 months is
considered. In another exemplary embodiment of the present invention, the threshold limit of
contact data size may be 1000. In an embodiment of the present invention, in the event it is
determined that the contact data size is more than the threshold limit, the data splitting unit
106 splits the contact data into two or more batches of predetermined size for further35
processing. Advantageously, batching of data for further processing improves memory usage
and reduces computation overhead.
9
[0028] In an embodiment of the present invention, the synchronization checking unit 108
determines synchronization history status of the split and batched first dataset. The
determination of synchronization history includes checking whether the first dataset is to be
synchronized for first time in the system 200 or has been already synchronized.
Advantageously, determination of synchronization history for further processing improves5
memory usage and reduces computation overhead.
[0029] In an embodiment of the present invention, the data marking unit 110 marks the first
dataset with a marker based on the determined synchronization history. In an exemplary
embodiment of the present invention, in the event the first dataset is synchronized for the first10
time, the first dataset is assigned with the marker “first-time sync”. In another exemplary
embodiment of the present invention, in the event the first dataset is determined to have been
synchronized in the past, the first dataset is assigned with the marker “already synced”. In yet
another exemplary embodiment of the present invention, the first dataset is assigned with
other markers including, but are not limited to, name, relationship, professional information15
such as email id, date of birth, and anniversary date. Subsequently, the data transmission unit
112 transmits the pre-synchronized first dataset to the system 200 via a communication
network (not shown) for synchronization and processing. The communication network (not
shown) may include, but is not limited to, a physical transmission medium, such as, a wire, or
a logical connection over a multiplexed medium, such as, a radio channel in20
telecommunications and computer networking. Examples of radio channel in
telecommunications and computer networking may include, but are not limited to, a local area
network (LAN), a metropolitan area network (MAN) and a wide area network (WAN).
[0030] In an exemplary embodiment of the present invention, the data pre-synchronization25
engine 104 determines a change in event associated with the first dataset. The data pre-
synchronization engine 104 is invoked to determine the change in event when the a
subsequent attempt to access the system 200 is made via the electronic device 102 for
transfer of data. The change in event includes, but is not limited to, changes in call log
information, an addition to thecontact list in a phone book of the electronic device 102 of the30
authorized user, an editing event of the contact list, and a share event of the contact list.
Subsequent to the determination, the data pre-synchronization engine 104 categorises the first
dataset as a second dataset and processes the second dataset like the first dataset as
described above for transmission by the data transmission unit 112.
35
[0031] FIG. 2 is a block diagram of a system 200 for optimized data synchronization and
enrichment of data, in accordance with various embodiments of the present invention. In an
embodiment of the present invention, the system 200 comprises a data synchronization engine
204 for synchronization of the pre-synchronized data (first dataset or second dataset) received
10
from the data transmission unit 112 of the electronic device 102 (FIG. 1). In various
embodiments of the present invention, the data synchronization engine 204 has multiple units
which work in conjunction with each other. The various units of the data synchronization
engine 204 are operated via a processor 226 specifically programmed to execute instructions
stored in the memory 228 for executing respective functionalities of the units of the data5
synchronization engine 204 in accordance with various embodiments of the present invention.
The data synchronization engine 204 comprises a pre-synchronized data analysis unit 202, a
contact data treatment unit 206, a contact data indexing unit 208, a raw data processing unit
210, a call log treatment unit 212, a queuing unit 214, a data matching unit 216, an attribute
retrieving unit 220, a parametric response unit 222 and a database 218. The data10
synchronization engine 204 analyzes and processes the marked pre-synchronized data to
determine if the pre-synchronized data is a “first-time sync” data or an “already synced” data.
In an embodiment of the present invention, in the event the marker “first-time sync” is identified
in the marked data, the data synchronization engine 204 determines if language translation of
the pre-synchronized data is required into a predetermined language format and translates the15
data.
[0032] In an embodiment of the present invention, the contact data treatment unit 206 fetches
the “first-time sync” pre-synchronized data from the pre-synchronized data analysis unit 202
and performs data cleansing of the contact data. Data cleansing of contact data includes20
identification of contact data type and performing de-duplication of the contact data.
Subsequently, the contact data is stored in a synchronization bucket in a predetermined
format. Advantageously, the synchronization bucket comprising contact data facilitates faster
search and retrieval of data. In an embodiment of the present invention, the contact data
indexing unit 208 performs indexing of the contact data stored in the synchronization bucket25
into one or more categories based on various parameters associated with the contact data. In
an exemplary embodiment of the present invention, indexing of the contact data is performed
based on parameters including, but are not limited to, telecom circle of contacts, details of
contact devices, area of contacts and other unique identifiers such as username and
Identification (ID) of the user of the electronic device 102 (FIG. 1).30
[0033] In an embodiment of the present invention, the raw data processing unit 210 fetches
the “first time sync” pre-synchronized data from the pre-synchronized data analysis unit 202
and processes the raw data from the “first-time sync” pre-synchronized data. The raw data
processing unit 210 converts the raw data into a standardized data format. In an exemplary35
embodiment of the present invention, the standardized data format is a common node value
format for different fields under a single contact, which may vary across different electronic
device types and operating systems. For example, an android device format may call that
node value as “Name” while an Apple device format may call the same as “Given Name”. In an
11
exemplary embodiment of the present invention, the standardized data format is employed for
creating a keyword library which is stored in the contact data treatment unit 206 (explained in
later part of the specification). The standardized data format is used to segment and profile the
contact data to establish a level of connection between the user of the electronic device 102
(FIG. 1) and various contacts associated with the contact data in the keyword library. In5
another exemplary of the present invention, the standardization of raw data is performed to
generate a custom logic for fetching data for further processing. In an exemplary embodiment,
custom logic normalises and standardises node values of the different fields under the single
contact for establishing a relationship score (explained in later part of the specification).
10
[0034] In an embodiment of the present invention, the call log treatment unit 212 fetches the
“first-time sync” pre-synchronized data from the pre-synchronized data analysis unit 202 and
processes the call log data from the “first-time sync” pre-synchronized data. The call log
treatment unit 212 stores the processed call log data in the synchronization bucket. The
processing of call log data is performed by extracting information from call log data by applying15
pre-determined rules. In an embodiment of the present invention, the pre-determined rules
include extracting incoming and outgoing call information based on a threshold value. In an
exemplary embodiment, the threshold value for extracting call log information incudes
extracting information only for calls exceeding 5 seconds. In another exemplary embodiment of
the present invention, threshold value for extracting call log information includes extracting20
information for only calls between a specified date range, preferably past 6 months and time of
day range for determining frequency of calls made by user to contacts. In another embodiment
of the present invention, processing of call log data based on predetermined rules includes
excluding already captured call log data and capturing frequency of calls made per contact in a
calendar day. The processed call log data is stored in the synchronization bucket for further25
processing.
[0035] In an embodiment of the present invention, the contact data stored in the
synchronization bucket is queued in the queuing unit 214 in multiple batches for a matching
operation. In an exemplary embodiment of the present invention, the contact data is queued in30
a batch of 50 for performing the matching operation via the data matching unit 216.
[0036] In an embodiment of the present invention, the data matching unit 216 performs
matching of the contact data with the database 218 having a contact data inventory. The
contact data inventory is a proprietary database comprising of information pertaining to contact35
details of persons and corresponding asset details, collected progressively over a period of
time. In an exemplary embodiment of the present invention, the information includes, contact
details including, but are not limited to, name, age, city of residence etc., contact number (
telephone / mobile number) and email ID etc., and assets details such as car, bike, scooter,
12
house property, office property etc., insurance details such as car insurance, 2W insurance,
health insurance, life insurance, commercial / corporate insurance etc. In an exemplary
embodiment of the present invention, the matching of queued and batched contact data is
performed at a pre-determined interval, preferably 15 minutes.
5
[0037] In an embodiment of the present invention, if no match is found in the database 218,
the data matching unit 216 tags the contact data as “pending match” and the matching
operation is re-attempted after a predetermined duration, preferably 30 days. In another
embodiment of the present invention, if a match for the contact is found in the database 218,
the contact data is tagged as “matched”. The attribute retrieving unit 220 retrieves a set of10
attributes associated with the matched contacts from the database 218. In an exemplary
embodiment of the present invention, the set of attributes of the matched contact includes, but
are not related to details of assets owned, details of education, details of travel history and
details of insurance. In an embodiment of the present invention, if no attributes of matched
contact are retrievable from the database 218, the matched contact data is tagged as “pending15
data queue”, and retrieval of the set of attributes is re-attempted after a predetermined
duration, preferably 30 days.
[0038] In an embodiment of the present invention, the parametric response unit 222
generates a parametric response for the matched contact based on the retrieved attributes20
from the database 218. In an exemplary embodiment of the present invention, the parametric
response corresponds to the retrieved attributes associated with the matched contacts which
is accessible via the electronic device 102 (FIG. 1) of the user. For example, if the retrieved
attribute is vehicle details of the matched contact, then the parametric response may be
associated with actionable associated with the automobile sector, which may include RTO25
services, vehicle insurance, roadside assistance, vehicle services and other vehicle related
services etc.
[0039] FIG. 3 is a block diagram of a system 200, 300 deployed in a server for optimized
synchronization and enrichment of data, in accordance with another embodiment of the30
present invention. Referring to FIG. 3, in accordance with an embodiment of the present
invention, a new user initiates a search via the electronic device 302 on system 200 (FIG. 2)
by entering a contact number to access various information stored in the system 200 (FIG. 2).
As shown in FIG. 3, the new user’s action invokes other units of the system 200 (also
represented as system 300) including a contact data matching unit 306, a call log analysing35
unit 308, a score calculation unit 310, a segmenting and profiling unit 312, a score database
314 along with the database 218 and parametric response unit 222, as shown in FIG. 2. The
various units of the system 300 are operated via a processor 226 (also represented as 316)
specifically programmed to execute instructions stored in the memory 228 (also represented
13
as 318) for executing respective functionalities of the units in accordance with various
embodiments of the present invention.
[0040] In an embodiment of the present invention, the contact data matching unit 306
performs a matching operation to determine whether the contact number of the new user is5
stored in the database 218. In the event the contact number is found to be stored in the
database 218, the contact data matching unit 306 proceeds to check the identification of the
users of the electronic devices 102 (FIG. 1) with whom the contact data of the new user was
synced in the system 200 (FIG. 2). Electronic device 102 (FIG. 1) represents multiple
electronic devices associated with various users who have synced their data in the system 20010
(FIG. 2).
[0041] In accordance with an embodiment of the present invention, the call log analysing unit
308 analyses the call log information between the new user and the users of the electronic
devices 102 (FIG. 1) who synced the contact data of the new user in the system 200 (FIG. 2).15
In an exemplary embodiment of the present invention, analysis of call log information includes
extracting various call log parameters. Examples of call log parameters include, but are not
limited to, number of calls, average talk time, total talk time, calls on Saturday, calls on Sunday,
calls after working hours etc. Subsequently, the score calculation unit 310 calculates a
relationship score between the new user and the users of the electronic devices 102 (FIG. 1).20
The score calculation unit 310 applies a set of pre-defined rules on the extracted call log
parameters to determine a set of integers. In an exemplary embodiment of the present
invention, the set of integers includes a call score, average talk time score, saturday calls
bonus data, sunday calls bonus data, and non-working calls bonus data. Based on the
determined set of integers, the score calculation unit 310 determines the relationship score25
between the new user and users of the electronic devices 102 (FIG. 1).
[0042] In an embodiment of the present invention, the segmenting and profiling unit 312
performs segmenting and profiling and establishes a level of connection between the new user
and the users of the electronic devices 102 (FIG. 1). In an exemplary embodiment of the30
present invention, the segmenting and profiling unit 312 determines a relation group and
relation between the user and users of the electronic devices 102 (FIG. 1) by retrieving
synchronized call log data, contact data and raw data from the database 218 and performing
segmentation under four exemplary categories of the relation group including, but not limited
to, ‘family’, ‘personal’, ‘business’ and ‘random’. In another exemplary embodiment of the35
present invention, the segmenting and profiling unit 312 performs profiling of the new user
under one or more pre-defined profiling categories. In an exemplary embodiment of the
present invention, the pre-defined profiling categories includes, but are not limited to,
‘profession’, ‘company name’, ‘designation’, ‘department’, ‘city’, ‘state’, ‘product’, ‘gender’ and
14
‘telecom provider’. Profiling is performed based on analysis of the keyword library stored in the
contact data treatment unit 206 (FIG. 2). In an embodiment of the present invention, the
segmenting and profiling unit 312 assigns a level of connection between the new user and
users of the electronic devices 102 (FIG. 1) under different levels based on a determination of
the manner in which the new user is connected to the users of the electronic device 102 (FIG.5
1). In an exemplary embodiment of the present invention, the segmenting and profiling unit
312 categorizes the new user under relation group ‘family’ as Level 1. In another exemplary
embodiment of the present invention, the segmenting and profiling unit 312 categorizes the
new user under relation group ‘personal’ as Level 2. In yet another exemplary embodiment of
the present invention, the segmenting and profiling unit 312 categorizes the new user under10
relation group ‘business’ as Level 3. In another exemplary embodiment of the present
invention, the segmenting and profiling unit 312 categorizes the new user under relation group
‘random’ as Level 4.
[0043] In an embodiment of the present invention, the score database 314 compares the15
calculated relationship score with the segmentation, profiling and level of connection data
determined by the segmenting and profiling unit 312. Based on the comparison, the score
database 314 selects and provides recommendation of an appropriate user of the electronic
device 102 (FIG. 1) to the new user. In an embodiment of the present invention, if the score
database 314 determines a high relationship score and a preferred level of connection20
between the new user and a particular authorized user, then electronic device 102 (FIG. 1) of
that user is selected, and the score database 314 notifies the identification of the selected
authorized user’s electronic device 102 (FIG. 1)to the new user, and transmits contact number
of the new user to the electronic device 102 (FIG. 1) of the selected authorized user, as
illustrated herein below in an exemplary embodiment of the present invention.25
[0044] In another embodiment of the present invention, the score database 314 determines
next best relationship scores and levels of connection between the new user and authorized
users of the electronic devices 102 (FIG. 1), then those electronic devices 102 of the
authorized users are selected (selected electronic device 2, 3, 4, 5 as illustrated above). The30
score database 314 then notifies the new user and the electronic devices 102 (FIG. 1) of the
UID UID1 U1D2 UID3 UID4 UID5 UID6 UID7
Score 25 35 30 45 50 65 26
Segment Family Business Friend Random Friend Family Random
Profile
Level Level 1 Level 3 Level 2 Level 4 Level 2 Level 1 Level 4
Selected
electronic
device
(102) 5
Selected
electronic
device
(102) 4
Selected
electronic
device
(102) 3
Selected
electronic
device
(102) 2
Selected
electronic
device
(102) 1
15
selected authorised users. In various embodiments of the present invention, the electronic
devices 102 (FIG. 1) of the selected authorized users transmits a parametric response via the
parametric response unit 222 to the new user. The parametric response is transmitted securely
such that it is accessible only by the new user for necessary action. In an exemplary
embodiment of the present invention, the parametric response corresponds to attributes5
associated with the new user which is accessible to the new user via various online and offline
modes. The attributes can be access via different electronic device 302 types of the new
user, such as, smartphone, laptop, PC etc. For example, if the attribute is education history of
the new user, then the parametric response may be associated with actionables associated
with recruitment.10
[0045] FIGs. 4a and 4b illustrate a flowchart of a method 400 for optimized synchronization
and enrichment of data at the electronic device (102)-end, in accordance with various
embodiments of the present invention. In an embodiment of the present invention, pre-
synchronization of data is initiated when user of the electronic device (102) initiates access to15
the system (200) (server-end) via a graphical user interface in the electronic device 102. In an
exemplary embodiment of the present invention, the electronic device 102 includes, but are
not limited to, a smart phone, a computer, a tablet, microcomputer or any other wired or
wireless terminal. The user is an authorized user of the system 200. The method 400 steps are
carried out via the processor 114 in the electronic device 102 specifically programmed to20
execute instructions stored in the memory (116) for data synchronization and enrichment of
data in accordance with various embodiments of the present invention.
[0046] At step 402, pre-synchronization of data is triggered responsive to a determination of
authorization of transfer of a first dataset stored in the electronic device 102 to the system 200.25
In an exemplary embodiment of the present invention, the first dataset comprises raw data,
contact list of phone book, call log information and other relevant data in a current state.
[0047] During the process of pre-synchronization, prior to transmission of the first dataset to
the system 200, at step 404, attributes associated with the first dataset are determined. In an30
exemplary embodiment of the present invention, the attributes include determining data size of
first dataset, construct of the first dataset, and permissions including consent and security
information associated with the first dataset for transmission to the system 200. In an
embodiment of the present invention, the attributes are determined to ascertain splitability,
batching and compressibility of the first dataset. The splitting, batching and compressing of the35
first dataset is carried out based on a pre-set threshold limit, which aids in optimized usage of
memory and improved processing of the first dataset, thereby optimizing network and
computing power.
16
[0048] At step 406, the first dataset is split into contact data, raw data, and call log data to
obtain a split dataset. In an embodiment of the present invention, the splitting is carried out
based on pre-determined rules including a threshold data range of call log data and a
threshold limit of size of contact data. In an exemplary embodiment of the present invention,
call log data within a specified date range, preferably past 6 months is considered. In another5
exemplary embodiment of the present invention, the threshold limit of contact data size may be
1000. In an embodiment of the present invention, in the event it is determined that the contact
data size is more than the threshold limit, the method splits the contact data into two or more
batches of predetermined size for further processing. Advantageously, batching of data for
further processing improves memory usage and reduces computation overhead.10
[0049] At step 408, synchronization history of the split and batched first dataset is
determined. In an embodiment of the present invention, the determination of synchronization
history includes checking whether the first dataset is to be synchronized for first time in the
system 200 or has been synchronized previously. Advantageously, determination of15
synchronization history for further processing improves memory usage and reduces
computation overhead.
[0050] At step 410, the first dataset is marked with a marker based on the determined
synchronization history. In an exemplary embodiment of the present invention, in the event the20
first dataset is synchronized for the first time, the first dataset is assigned with the marker “first
time sync”. In another exemplary embodiment of the present invention, in the event the first
dataset is determined to have been synchronized in the past, the first dataset is assigned with
the marker “already synced”. In yet another exemplary embodiment of the present invention,
the first dataset is assigned with other markers including, but are not limited to, name,25
relationship, professional information such as email id, designation, date of birth, and
anniversary date.
[0051] At step 412, the pre-synchronized first dataset is transmitted to the system 200 via a
communication network (not shown) for synchronization and processing. The communication30
network (not shown) may include, but is not limited to, a physical transmission medium, such
as, a wire, or a logical connection over a multiplexed medium, such as, a radio channel in
telecommunications and computer networking. Examples of radio channel in
telecommunications and computer networking may include, but are not limited to, a local area
network (LAN), a metropolitan area network (MAN) and a wide area network (WAN).35
[0052] At step 414, a change in event associated with the first dataset is determined. In an
embodiment of the present invention, the change in event is determined when the authorized
user makes a subsequent attempt to access the system 200 via the electronic device 102. In
17
an exemplary embodiment of the present invention, the change in event includes, but is not
limited to, changes in call log information, an addition to the contact list in the phone book of
the electronic device 102 of the authorized user, an editing event of the contact list, and a
share event of the contact list. Subsequent to the determination, the first dataset is categorized
as a second dataset and the steps 404 to 412 are repeated for processing the second dataset5
like the first dataset as described above for transmission to the system 200.
[0053] FIGs. 5a, 5b and 5c illustrate a flowchart of a method 500 for synchronization and
enrichment of pre-synchronized data (i.e. first dataset and second dataset) at the server-end
(system 200). The method 500 steps are executed via the processor 226 specifically10
programmed to execute instructions stored in the memory 228 for executing synchronization
and enrichment of pre-synchronized data in accordance with various embodiments of the
present invention.
[0054] At step 502, pre-synchronized data is analysed to determine synchronization status of15
the pre-synchronized data. In an embodiment of the present invention, it is determined if the
pre-synchronized data is a “first time sync” data or an “already synced” data. In an
embodiment of the present invention, in the event the marker “first time sync” is identified in
the pre-synchronized data, it is determined if language translation of the pre-synchronized data
is required into a predetermined language format for translation of the data.20
[0055] At step 504, the “first-time sync” pre-synchronized data is fetched, and data cleansing
is performed on the contact data. No action is taken on the “already synced” data. In an
embodiment of the present invention, data cleansing of contact data includes identification of
contact data type and performing de-duplication of the contact data. Subsequently, the contact25
data is stored in a synchronization bucket in a predetermined format. Advantageously, the
synchronization bucket comprising contact data facilitates faster search and retrieval of data.
[0056] At step 506, the contact data is indexed into categories based on various parameters
associated with the contact data and stored in the synchronization bucket. In an exemplary30
embodiment of the present invention, indexing of the contact data is performed based on
parameters including, but are not limited to, telecom circle of contacts, details of contact
devices, area of contacts and other unique identifiers such as username and Identification (ID)
of the user of the electronic device 102 (FIG. 1).
35
[0057] At step 508, the raw data from the “first-time sync” pre-synchronized data is processed
by converting the raw data into a standardized data format. In an exemplary embodiment of
the present invention, the standardized data format is a common node value format for
different data fields under a single contact received from various electronic device 102 types,
18
which may vary across different electronic device types and operating systems. For example,
an android device format may call that node value as “Name” while an Apple device format
may call the same as “Given Name”. In an exemplary embodiment of the present invention,
the standardized data format is employed for creating a keyword library. The standardized data
format is used to segment contact data present in the first-time sync data for connection5
profiling. The segmentation and profiling of the contact data is carried out to establish a level of
connection between the user of the electronic device 102 (FIG. 1) and various contacts
associated with the contact data in the keyword library. In another exemplary embodiment of
the present invention, the standardization of raw data is performed to generate a custom logic
for fetching data for further processing. In an exemplary embodiment, custom logic normalises10
and standardises node values of the different data fields under the single contact received
from various electronic device 102 types for establishing a relationship score (explained in
later part of the specification).
[0058] At step 510, the call log data from the “first time sync” pre-synchronized data is
processed and stored in the synchronization bucket. In an embodiment of the present15
invention, the processing of call log data is performed by extracting information from call log
data by applying pre-determined rules. In an embodiment of the present invention, the pre-
determined rules include extracting incoming and outgoing call information based on a
threshold value. In an exemplary embodiment, the threshold value for extracting call log
information incudes extracting information only for calls exceeding 5 seconds. In another20
exemplary embodiment of the present invention, threshold value for extracting call log
information includes extracting information for only calls between a specified date range,
preferably past 6 months, and time of day range for determining frequency of calls made by
user to contacts. In another embodiment of the present invention, processing of call log data
based on predetermined rules includes excluding already captured call log data and capturing25
frequency of calls made per contact in a calendar day. The processed call log data is stored in
the synchronization bucket for further processing.
[0059] At step 512, the contact data stored in the synchronization bucket is queued up in
multiple batches for a matching operation. In an exemplary embodiment of the present30
invention, the contact data is queued in a batch of 50 for performing the matching operation.
[0060] At step 514, the queued contact data are matched with a contact data inventory in the
database 218. In an embodiment of the present invention, the contact data inventory is a
proprietary database comprising of information pertaining to contact details of persons and35
corresponding asset details, collected progressively over a period of time. In an exemplary
embodiment of the present invention, the information includes, contact details including, but
are not limited to, name, age, city of residence etc., contact number (telephone / mobile
number) and email ID etc., and assets details such as car, bike, scooter, house property, office
19
property etc., insurance details such as car insurance, 2W insurance, health insurance, life
insurance, commercial / corporate insurance etc.. In an exemplary embodiment of the present
invention, the matching of queued and batched contact data is performed at a pre-determined
interval, preferably 15 minutes.
5
[0061] In an embodiment of the present invention, if no match is found in the database 218,
the unmatched contact data is tagged as “pending match” and the matching operation is re-
attempted after a predetermined duration, preferably 30 days. In another embodiment of the
present invention, if a match for the contact is found in the database 218, the contact data is
tagged as “matched”.10
[0062] At step 516, a set of attributes associated with the matched contacts are retrieved
from the database 218. In an exemplary embodiment of the present invention, the set of
attributes of the matched contact includes, but are not related to, details of assets owned,
details of education, details of travel history and details of insurance etc. In an embodiment of15
the present invention, if no attributes of matched contact are retrievable from the database
218, the method tags the matched contact data as “pending data queue”, and retrieval of the
set of attributes is re-attempted after a predetermined duration, preferably 30 days.
[0063] At step 518, a parametric response for the matched contact is generated based on the20
retrieved attributes from the database 218. In an exemplary embodiment of the present
invention, the parametric response corresponds to the retrieved attributes associated with the
matched contacts which is accessible via the electronic device 102 (FIG. 1) of the user. For
example, if the retrieved attribute corresponds to vehicle details of the matched contact, then
the parametric response may be associated with actionables associated with the automobile25
sector, which may include RTO services, vehicle insurance, roadside assistance, vehicle
services and other vehicle related services etc.
[0064] FIGs. 6a, 6b and 6c illustrate a flowchart of a method for optimized synchronization
and enrichment of data at the server-end (system 200), in accordance with another30
embodiment of the present invention. At step 602, a search request is received by the system
200 (FIG. 2) from a new user via the electronic device 302. The new user initiates the search
via the electronic device 302 to access system 200 (FIG. 2) by entering a contact number to
access various information stored in the system 200 (FIG. 2).
35
[0065] At step 604, upon invocation by the new user, a matching operation is performed to
determine whether the contact number of the new user is stored in the database 218 (FIG.2).
In an embodiment of the present invention, in the event the contact number is found to be
stored in the database 218, identifications of the users of the electronic devices 102 (FIG. 1)
20
with whom the contact number of the new user were synced in the system 200 (FIG. 2) are
determined. Electronic device 102 (FIG. 1) represents multiple electronic devices associated
with various users who have synced their data in the system 200 (FIG. 2).
[0066] At step 606, call log information between the new user and the users of the electronic5
devices 102 (FIG. 1) are analysed. In an exemplary embodiment of the present invention,
analysis of call log information includes extracting various call log parameters. Examples of
call log parameters include, but are not limited to, number of calls, average talk time, total talk
time, calls on saturday, calls on sunday, calls after working hours etc.
10
[0067] At step 608, a relationship score between the new user and the users of the electronic
devices 102 (FIG. 1) is determined. In an embodiment of the present invention, a set of pre-
defined rules are applied on the extracted call log parameters to compute a set of integers. In
an exemplary embodiment of the present invention, the set of integers includes a call score,
average talk time score, saturday calls bonus data, sunday calls bonus data, and non-working15
calls bonus data. Based on the computed set of integers, the relationship score between the
new user and users of the electronic devices 102 (FIG. 1) is determined.
[0068] At step 610, segmentation between the new user and the users of the electronic
devices 102 (FIG. 1) is carried out. In an exemplary embodiment of the present invention, a20
relation group and relation between the new user and users of the electronic devices 102 (FIG.
1) is determined by retrieving synchronized call log data, contact data and raw data from
database 218 and segmentation is performed under four exemplary categories of the relation
group including, but not limited to, ‘family’, ‘personal’, ‘business’ and ‘random’.
25
[0069] At step 612, profiling of the new user is carried out under one or more pre-defined
profiling categories. In an exemplary embodiment of the present invention, the pre-defined
profiling categories includes, but are not limited to, ‘profession’, ‘company name’, ‘designation’,
‘department’, ‘city’, ‘state’, ‘product’, ‘gender’ and ‘telecom provider’. Profiling is performed
based on analysis of the keyword library.30
[0070] At step 614, a level of connection is assigned between the new user and users of the
electronic devices 102 (FIG. 1). In an embodiment of the present invention, the level of
connection is assigned based on a determination of the manner in which the new user is
connected to the users of the electronic device 102 (FIG. 1) based on the segmentation and35
profiling information. In an exemplary embodiment of the present invention, the new user
under relation group ‘family’ is assigned a Level 1. In another exemplary embodiment of the
present invention, the new user under relation group ‘personal’ is assigned a Level 2. In yet
another exemplary embodiment of the present invention, the new user under relation group
21
‘business’ is assigned as Level 3. In another exemplary embodiment of the present invention,
the new user under relation group ‘random’ is assigned as Level 4.
[0071] At step 616, the determined relationship score is compared with the segmentation,
profiling and level of connection information. In an embodiment of the present invention, based5
on the comparison, an appropriate user of the electronic device 102 (FIG. 1) is selected and
recommended to the new user. In an exemplary embodiment of the present invention, if a high
relationship score and a preferred level of connection between the new user and the user of
the electronic device 102 (FIG. 1) is determined, then that user of the electronic device 102
(FIG. 1) is selected. The identification of that user of the electronic device 102 (FIG. 1)is10
transmitted to the new user. The contact information of the new user is also transmitted to the
selected authorized user of the electronic device 102 (FIG. 1), as illustrated herein below in an
exemplary embodiment of the present invention.
[0072] In another embodiment of the present invention, a next best relationship score and a15
level of connection between the new user and other users of the electronic devices 102 (FIG.
1) is determined, then those electronic devices 102 of the users are selected (selected
electronic device 2, 3, 4, 5 as illustrated above) as illustrated above). The new user is then
notified of the selected users of the electronic devices 102 (FIG. 1) and contact information of
the new user is shared with those electronic devices.20
[0073] At step 618, a parametric response is transmitted by the selected user of the
electronic device 102 (FIG. 1) to the new user. In an embodiment of the present invention, the
parametric response is transmitted securely such that it is accessible only by the new user for
necessary action. In an exemplary embodiment of the present invention, the parametric25
response corresponds to attributes associated with the new user which is accessible to the
new user via various modes including offline and online modes. The attributes can be access
via different electronic device 302 types of the new user, such as, smartphone, laptop, PC etc.
For example, if the attribute is education history of the new user, then the parametric response
may be associated with actionables associated with recruitment.30
UID UID1 U1D2 UID3 UID4 UID5 UID6 UID7
Score 25 35 30 45 50 65 26
Segment Family Business Personal Random Personal Family Random
Profile
Level Level 1 Level 3 Level 2 Level 4 Level 2 Level 1 Level 4
Selected
electronic
device
(102) 5
Selected
electronic
device
(102) 4
Selected
electronic
device
(102) 3
Selected
electronic
device
(102) 2
Selected
electronic
device
(102) 1
22
[0074] FIG. 7 illustrates an exemplary computer system 700 in which various embodiments of
the present invention may be implemented. The computer system 702 comprises a processor
704 and a memory 706. The processor 704 executes program instructions and is a real
processor. The computer system 702 is not intended to suggest any limitation as to scope of
use or functionality of described embodiments. For example, the computer system 702 may5
include, but not limited to, a programmed microprocessor, a micro-controller, a peripheral
integrated circuit element, and other devices or arrangements of devices that are capable of
implementing the steps that constitute the method of the present invention. In an embodiment
of the present invention, the memory 706 may store software for implementing various
embodiments of the present invention. The computer system 702 may have additional10
components. For example, the computer system 702 includes one or more communication
channels 708, one or more input devices 710, one or more output devices 712, and storage
714. An interconnection mechanism (not shown) such as a bus, controller, or network,
interconnects the components of the computer system 702. In various embodiments of the
present invention, operating system software (not shown) provides an operating environment15
for various software executing in the computer system 702 and manages different
functionalities of the components of the computer system 702.
[0075] The communication channel(s) 708 allow communication over a communication
medium to various other computing entities. The communication medium provides information20
such as program instructions, or other data in a communication media. The communication
media includes, but not limited to, wired or wireless methodologies implemented with an
electrical, optical, RF, infrared, acoustic, microwave, Bluetooth or other transmission media.
[0076] The input device(s) 710 may include, but not limited to, a keyboard, mouse, pen,25
joystick, trackball, a voice device, a scanning device, touch screen or any another device that
is capable of providing input to the computer system 702. In an embodiment of the present
invention, the input device(s) 710 may be a sound card or similar device that accepts audio
input in analog or digital form. The output device(s) 712 may include, but not limited to, a user
interface on CRT or LCD or LED, printer, speaker, CD/DVD writer, or any other device that30
provides output from the computer system 702.
[0077] The storage 714 may include, but not limited to, magnetic disks, magnetic tapes, CD-
ROMs, CD-RWs, DVDs, flash drives or any other medium which can be used to store
information and can be accessed by the computer system 702. In various embodiments of the35
present invention, the storage 714 contains program instructions for implementing the
described embodiments.
23
[0078] The present invention may suitably be embodied as a computer program product for
use with the computer system 702. The method described herein is typically implemented as a
computer program product, comprising a set of program instructions which is executed by the
computer system 702 or any other similar device. The set of program instructions may be a
series of computer readable codes stored on a tangible medium, such as a computer readable5
storage medium (storage 714), for example, diskette, CD-ROM, ROM, flash drives or hard
disk, or transmittable to the computer system 702, via a modem or other interface device, over
either a tangible medium, including but not limited to optical or analogue communications
channel(s) 708. The implementation of the invention as a computer program product may be in
an intangible form using wireless techniques, including but not limited to microwave, infrared,10
Bluetooth or other transmission techniques. These instructions can be preloaded into a system
or recorded on a storage medium such as a CD-ROM or made available for downloading over
a network such as the internet or a mobile telephone network. The series of computer
readable instructions may embody all or part of the functionality previously described herein.
15
[0079] The present invention may be implemented in numerous ways including as a system,
a method, or a computer program product such as a computer readable storage medium or a
computer network wherein programming instructions are communicated from a remote
location.
20
[0080] While the exemplary embodiments of the present invention are described and
illustrated herein, it will be appreciated that they are merely illustrative. It will be understood by
those skilled in the art that various modifications in form and detail may be made therein
without departing from the scope of the invention.
25
24
We Claim:
1. A method for optimized synchronization and enrichment of data, wherein the
method is implemented by a processor (114) in an electronic device (102), the method
comprising:
(a) triggering pre-synchronization of data stored in the electronic device (102),5
wherein the triggering occurs responsive to an access of a system (200) by the electronic
device (102) via a graphical user interface;
(b) determining attributes associated with a first dataset associated with the data;
(c) splitting the first dataset into contact data, raw data, and call log data based on
pre-determined rules to obtain a split dataset;10
(d) determining synchronization history of the split dataset;
(e) marking the first dataset with a synchronization history marker based on the
determined synchronization history; and
(f) transmitting the pre-synchronized first dataset to the system (200) via a
communication network.15
2. The method as claimed in claim 1, wherein the step of triggering comprises
determining authorization for transfer of the first dataset stored in the electronic device (102) to
the system (200).
3. The method as claimed in claim 1, wherein the first dataset comprises raw
data, contact list of a phone book, call log information, and other relevant data stored in the20
electronic device (102) in a current state.
4. The method as claimed in claim 1, wherein the attributes include data size of
the first dataset, construct of the first dataset, permissions, and security information associated
with the first dataset.
5. The method as claimed in claim 1, wherein the step of determining the25
attributes comprises ascertaining splitability, batching, and compressibility of the first dataset
to optimize memory usage and processing power during transmission of the first dataset to the
system (200).
6. The method as claimed in claim 1, wherein the step of splitting the first dataset
includes:30
applying the pre-determined rules including a threshold data range for the call log data
and a threshold limit for the contact data size; and
batching the contact data if the size of the contact data exceeds the threshold limit.
7. The method as claimed in claim 6, wherein the threshold range of the call log
data includes data for past 6 months, and wherein the threshold limit of the contact data size is35
1000.
8. The method as claimed in claim 1, wherein determining the synchronization
history includes checking if the first dataset is being synchronized for the first time or has been
synchronized previously.
25
9. The method as claimed in claim 8, wherein the step of marking the first
dataset with the synchronization history marker includes assigning a marker "first time sync"
and assigning a marker "already synced" to the first dataset based on the synchronization
history.
10. The method as claimed in claim 1, wherein the step of marking the first5
dataset includes assigning additional markers comprising name, relationship, and professional
information associated with user of the electronic device (102).
11. The method as claimed in claim 3, wherein the method comprises the step of
determining a change in event associated with the first dataset upon determination of a
subsequent attempt to access the system (200) by the electronic device (102), and wherein10
the change in event includes changes in the call log information, an addition to the contact list,
an editing event of the contact list, and a share event of the contact list, and wherein the
method comprises categorising the first dataset as a second dataset for repeating the steps ‘a’
to ‘f’ for transmission of the second dataset to the system (200).
12. A method for synchronization and enrichment of pre-synchronized data,15
wherein the method is implemented by a processor (226) in the system (200), the method
comprising:
analyzing pre-synchronized data received from an electronic device (102) to determine
synchronization status of the pre-synchronized data;
fetching a first-time sync pre-synchronized data based on the analysis, cleansing20
contact data present in the first-time sync data and storing the contact data in a
synchronization bucket in a pre-determined format;
indexing the contact data into categories based on one or more parameters;
processing raw data present in the first-time sync data to create a keyword library;
processing call log data to extract information based on predetermined rules and25
storing the processed call log data in the synchronization bucket;
queuing up the contact data in multiple batches for carrying out a matching operation;
carrying out a matching operation of the queued-up contact data with a contact data
inventory in a database (218), wherein the contact data inventory comprises of information
pertaining to contact details of persons and corresponding asset details;30
retrieving a set of attributes associated with matched contacts from the database (218)
based on the matching operation; and
generating a parametric response for the matched contact based on the retrieved
attributes from the database, wherein the parametric response is accessible via the electronic
device (102) of the user.35
13. The method as claimed in claim 12, wherein the step of cleansing the contact
data includes de-duplication and identification of the contact data type.
14. The method of claim 12, wherein the step of indexing the contact data
includes categorizing the contact data based on the parameters including telecom circle of the
26
contacts, area, and unique identifiers including username and user ID of a user of the
electronic device (102).
15. The method as claimed in claim 12, wherein the step of processing the raw
data includes standardizing the raw data into a standardized data format which is a common
node value format of different data fields under a single contact received from various5
electronic device (102) types to generate a custom logic; and creating a keyword library which
is used to establish a level of connection between the user of the electronic device (102) and
one or more contacts associated with the contact data in the keyword library.
16. The method as claimed in claim 12, wherein the step of processing the call log
data includes:10
extracting incoming and outgoing call information based on a threshold value; and
excluding previously captured call log data and capturing frequency of calls made per
contact in a calendar day.
17. The method as claimed in claim 16, wherein the threshold value for extracting
the call log information includes extracting information for only calls between a specified date15
range including past 6 months, and time of day range for determining frequency of calls made
by user to contacts.
18. The method as claimed in claim 12, wherein the step of queuing up of the
contact data comprises queuing up the contact data in a batch of 50 for performing the
matching operation.20
19. The method as claimed in claim 12, wherein the step of matching the queued-
up contact data comprises:
performing matching of the queued and batched contact data at a pre-determined
interval of 15 minutes;
tagging unmatched contact data as “pending match” if no match is found between the25
contact data and the information stored in the contact data inventory in the database (218),
wherein the matching operation is re-attempted after a predetermined duration of 30 days for
the “pending match”; and
tagging matched contact data as “matched” if a match is found between the contact
data and the information stored in the contact data inventory in the database (218).30
20. The method as claimed in claim 19, wherein the method comprises tagging
the matched contact data as “pending data queue” if no attributes of the matched contact data
are retrieved from the database (218), and wherein the retrieval of the set of attributes is re-
attempted after a predetermined duration of 30 days.
35
21. A method for optimized data synchronization and enrichment of data at a
server-end (200,300), the method comprising:
receiving a search request from a new user via an electronic device 302;
27
performing a matching operation to determine if the new user’s contact number is
stored in the database (218);
analyzing call log information between the new user and users of electronic devices
(102);
determining a relationship score between the new user and the users of the5
electronic devices (102) based on a set of pre-defined rules to determine a set of integers;
performing segmentation and profiling of the new user based on synchronized call
data, contact data, and raw data retrieved from a database (218);
assigning a level of connection between the new user and the users of the electronic
devices (102) based on the segmentation and profiling of the new user;10
comparing the determined relationship score with the segmentation, profiling and the
level of connection information to select and recommend appropriate users of the electronic
devices amongst the users of the electronic devices (102) to the new user via different
electronic device (302) types of the new user; and
transmitting a parametric response by the selected user of the electronic device (102)15
to the new user, wherein the parametric response corresponds to attributes associated with
the new user which are accessible by the different electronic device (302) types of the new
user.
22. The method as claimed in claim 21, wherein the step of matching operation
comprises determining if identifications of the users of the electronic devices (102) are synced20
with the contact number of the new user in the event the contact number of the new user is
found to be stored in the database (218).
23. The method as claimed in claim 21, wherein the step of analyzing call log
information comprises extracting call log parameters including number of calls, average talk
time, total talk time, calls on Saturday, calls on Sunday, and calls after working hours, wherein25
the set of pre-defined rules are applied on the call log parameters.
24. The method as claimed in claim 21, wherein the determined set of integers
comprise call score, average talk time score, Saturday calls bonus data, Sunday calls bonus
data, and non-working calls bonus data.
25. The method as claimed in claim 21, wherein the step of segmentation and30
profiling of the new user to establish the level of connection between the new user and users
of the electronic devices (102) comprises:
determining a relation group and relation between the new user and users of the
electronic devices 102 based on the synchronized call log data, contact data and raw data;
performing the segmentation under one or more categories including family’,35
‘personal’, ‘business’ and ‘random’;
performing the profiling based on a keyword library under profiling categories including
‘profession’, ‘company name’, ‘designation’, ‘department’, ‘city’, ‘state’, ‘product’, ‘gender’ and
‘telecom provider’; and
28
assigning the level of connection based on a determination of the manner in which the
new user is connected to the users of the electronic devices (102).
26. The method as claimed in claim 25, wherein the new user under relation group
‘family’ is assigned a Level 1, the new user under relation group ‘personal’ is assigned a Level
2, the new user under relation group ‘business’ is assigned as Level 3, and the new user under5
relation group ‘random’ is assigned as Level 4.
27. The method as claimed in claim 21, wherein the step of selecting appropriate
users of the electronic devices (102) comprises:
selecting a user of the electronic device (102) amongst the users of the electronic
devices (102) based on a determination of a high relationship score and a preferred level of10
connection between the new user and the user of the electronic device (102); and
selecting other users of the electronic devices (102) amongst the users of the
electronic device (102) based on a determination of a next best relationship score and a level
of connection between the new user and the other users of the electronic devices (102).
28. A system 100 for optimized synchronization and enrichment of data deployed15
in an electronic device (102), the system 100 comprising:
a memory (116) storing program instructions; and a
a processor (114) executing the program instructions stored in the memory (116) and
executing a data pre-synchronization engine (104) configured to:
(a) trigger pre-synchronization of data stored in the electronic device (102),20
wherein the triggering occurs responsive to an access of a system (200)
by the electronic device (102) via a graphical user interface;
(b) determine attributes associated with a first dataset associated with the data;
(c) split the first dataset into contact data, raw data, and call log data based on
pre-determined rules to obtain a split dataset;25
(d) determine synchronization history of the split dataset;
(e) mark the first dataset with a synchronization history marker based on the
synchronization history; and
(f) transmit the pre-synchronized first dataset to the system (200) via a data
transmission unit (112) of the electronic device (102) via a communication network.30
29. The system as claimed in claim 28, wherein the triggering comprises
determining authorization for transfer of the first dataset stored in the electronic device (102) to
the system (200).
30. The system (100) as claimed in claim 28, wherein the first dataset comprises
raw data, contact list of a phone book, call log information, and other relevant data stored in35
the electronic device (102) in a current state.
31. The system (100) as claimed in claim 28, wherein the attributes include data
size of the first dataset, construct of the first dataset, permissions, and security information
associated with the first dataset.
29
32. The system (100) as claimed in claim 28, wherein the data pre-
synchronization engine (104) determines the attributes to ascertain splitability, batching, and
compressibility of the first dataset to optimize memory usage and processing power during
transmission of the dataset to the system (200).
33. The system (100) as claimed in claim 28, wherein the data pre-5
synchronization engine (104) comprises a data splitting unit (106) configured to split the first
dataset by:
applying the pre-determined rules including a threshold data range for the call log data
and a threshold limit for the contact data size; and
batching the contact data if the size of the contact data exceeds the threshold limit.10
34. The system (100) as claimed in claim 33, wherein the threshold range of the
call log data includes data for past 6 months, and wherein the threshold limit of the contact
data size is 1000.
35. The system (100) as claimed in claim 28, wherein the data pre-
synchronization engine (104) comprises a synchronization checking unit (108) configured to15
determine the synchronization history status of the first dataset including checking if the first
dataset is being synchronized for the first time or has been synchronized previously.
36. The system (100) as claimed in claim 35, wherein the data pre-
synchronization engine (104) comprises a data marking unit (110) configured to mark the first
dataset with the synchronization history marker including assigning a marker "first-time sync"20
and assigning a marker "already synced" to the first dataset based on the synchronization
history.
37. The system (100) as claimed in claim 28, wherein the data marking unit (110)
marks the first dataset with additional markers comprising name, relationship, and professional
information.25
38. The system as claimed in claim 30, wherein the data pre-synchronization
engine (104) determines a change in event associated with the first dataset upon
determination of a subsequent attempt to access the system (200) by the electronic device
(102), and wherein the change in event includes changes in the call log information, an
addition to the contact list, an editing event of the contact list, and a share event of the contact30
list, and wherein the method comprises categorising the first dataset as a second dataset for
repeating the steps ‘a’ to ‘f’ for transmission of the second dataset to the system (200).
39. A system (200) for synchronization and enrichment of pre-synchronized data
deployed at a server-end, the system (200), comprising:
a memory (228) storing program instructions; and a35
a processor (226) executing the program instructions stored in the memory (228) and
executing a data synchronization engine (204) configured to:
30
analyze marked pre-synchronized data received from a data transmission unit
(112) in an electronic device (102) to determine synchronization status of the pre-
synchronized data;
fetch a first-time sync pre-synchronized data based on the analysis, cleansing
contact data present in the first-time sync data and storing the contact data in a5
synchronization bucket in a pre-determined format;
index the contact data into categories based on one or more parameters;
process raw data present in the first-time sync data to create a keyword
library;
segment contact data present in the first-time sync data for connection10
profiling;
process call log data to extract information based on predetermined rules and
storing the processed call log data in the synchronization bucket;
queue up the contact data in multiple batches for carrying out a matching
operation;15
carry out a matching operation of the queued-up contact data with a contact
data inventory in a database (218), wherein the contact data inventory comprises of
information pertaining to contact details of persons and corresponding asset details;
retrieve a set of attributes associated with matched contacts from the
database (218) based on the matching operation; and20
generate a parametric response for the matched contact based on the
retrieved attributes from the database (218), wherein the parametric response is
accessible via the electronic device (102) of the user.
40. The system (200) as claimed in claim 39, wherein the data synchronization
engine (204) comprises a contact treatment unit (206) configured to cleanse the contact data25
including performing de-duplication and identification of the contact data type, and wherein the
data synchronization engine (204) determines if language translation of the pre-synchronized
data is required into a predetermined language format and translates the data.
41. The system (200) as claimed in claim 39, wherein the data synchronization
engine (204) comprises a contact data indexing unit (208) configured to index the contact data30
including categorizing the contact data based on the parameters including telecom circle of the
contacts, area, and unique identifiers including username and user ID of a user of the
electronic device (102).
42. The system (200) as claimed in claim 39, wherein the data synchronization
engine (204) comprises a data processing unit (210) configured to process the raw data35
including standardizing the raw data into a standardized format which is a common node value
format of different data fields under a single contact received from various electronic device
(102) types to generate a custom logic; and create a keyword library which is stored in a
contact data treatment unit (206) and used to establish a level of connection between the user
31
of the electronic device (102) and one or more contacts associated with the contact data in the
keyword library.
43. The system (200) as claimed in claim 39, wherein the data synchronization
engine (204) comprises a call log treatment unit (212) configured to process the call log data
by:5
extracting incoming and outgoing call information based on a threshold value; and
excluding previously captured call log data and capturing frequency of calls made per
contact in a calendar day.
44. The system (200) as claimed in claim 43, wherein the threshold value for
extracting the call log information includes extracting information for only calls between a10
specified date range including a past 6 months, and time of day range for determining
frequency of calls made by user to contacts.
45. The system (200) as claimed in claim 39, wherein the data synchronization
engine (204) comprises a queuing unit (214) configured to queue up the contact data in a
batch of 50 for performing the matching operation.15
46. The system (200) as claimed in claim 45, wherein the data matching unit (216)
is configured to match the queued-up contact data by:
performing matching of the queued-up and batched data at a pre-determined interval
of 15 minutes;
tagging unmatched contact data as “pending match” if no match is found between the20
contact data and the information stored in the contact data inventory in the database (218),
wherein the matching operation is re-attempted after a predetermined duration of 30 days for
the “pending match”; and
tagging matched contact data as “matched” if a match is found between the contact
data and the information stored in the contact data inventory in the database (218).25
47. The system (200) as claimed in claim 46, wherein the data matching unit (216)
tags the matched contact data as “pending data queue” if no attributes of the matched contact
data are retrieved from the database (218), and wherein the retrieval of the set of attributes is
re-attempted after a predetermined duration of 30 days.
48. The system (200) as claimed in claim 39, wherein the data synchronization30
engine (204) comprises a parametric response unit (222) configured to generate a parametric
response for the matched contact based on the retrieved attributes from the database (218).
49. A system (200,300) for optimized data synchronization and enrichment of data
at a server-end, the system (200,300) comprising:
a memory (228) storing program instructions; and a35
a processor (226) executing the program instructions stored in the memory (228) and
configured to:
receive a search request from a new user via an electronic device 302;
32
perform a matching operation to determine if the new user’s contact number
is stored in the database (218);
analyze call log information between the new user and users of electronic
devices (102);
determine a relationship score between the new user and the users of the5
electronic devices (102) based on a set of pre-defined rules to determine a set of
integers;
perform segmentation and profiling of the new user based on synchronized
call data, contact data, and raw data retrieved from a database (218);
assign a level of connection between the new user and the users of the10
electronic devices (102) based on the segmentation and profiling of the new user;
compare the determined relationship score with the segmentation, profiling
and the level of connection information to select and recommend appropriate users
of the electronic devices amongst the users of the electronic devices (102) to the
new user via different electronic device (302) types of the new user; and15
transmit a parametric response by the selected user of the electronic device
(102) to the new user, wherein the parametric response corresponds to attributes
associated with the new user which are accessible by the different electronic
device (302) types of the new user.
50. The system (200,300) as claimed in claim 49, wherein the system (200,300)20
comprises a contact data matching unit (306) configured to carry out the matching operation
by determining if identifications of the users of the electronic devices (102) are synced with the
contact number of the new user in the event the contact number of the new user is found to be
stored in the database (218).
51. The system (200,300) as claimed in claim 49, wherein the system (200,300)25
comprises a call log analyzing unit (308) configured to extract call log parameters including
number of calls, average talk time, total talk time, calls on saturday, calls on sunday, and calls
after working hours, wherein the set of pre-defined rules are applied on the call log
parameters.
52. The system (200,300) as claimed in claim 49, wherein the computed set of30
integers comprise call score, average talk time score, saturday calls bonus data, sunday calls
bonus data, and non-working calls bonus data.
53. The system (200,300) as claimed in claim 49, wherein the system (200,300)
comprises a segmenting and profiling unit (312) configured to segment and profile the new
user by:35
determining a relation group and relation between the new user and users of the
electronic devices 102 based on the synchronized call log data, contact data and raw data;
performing the segmentation under one or more categories including family’,
‘personal’, ‘business’ and ‘random’;
33
performing the profiling based on a keyword library under profiling categories including
profession’, ‘company name’, ‘designation’, ‘department’, ‘city’, ‘state’, ‘product’, ‘gender’ and
‘telecom provider’; and
assigning the level of connection based on a determination of the manner in which the
new user is connected to the users of the electronic devices (102).5
54. The system (200,300) as claimed in claim 53, wherein the new user under
relation group ‘family’ is assigned a Level 1, the new user under relation group ‘personal’ is
assigned a Level 2, the new user under relation group ‘business’ is assigned as Level 3, and
the new user under relation group ‘random’ is assigned as Level 4.
55. The system (200,300) as claimed in claim 49, wherein the system (200,300)10
comprises a score database (314) configured to select appropriate users of the electronic
devices (102) by:
selecting a user of the electronic device (102) amongst the users of the electronic
devices (102) based on a determination of a high relationship score and a preferred level of
connection between the new user and the user of the electronic device (102); and15
selecting other users of the electronic devices (102) amongst the users of the
electronic device (102) based on a determination of a next best relationship score and a level
of connection between the new user and the other users of the electronic devices (102).
56. The system (200,300) as claimed in claim 49, wherein the system (200, 300)
comprises a parametric response unit (222) configured to transmit the parametric response by20
the selected user of the electronic device (102) to the new user.
| # | Name | Date |
|---|---|---|
| 1 | 202321055926-STATEMENT OF UNDERTAKING (FORM 3) [21-08-2023(online)].pdf | 2023-08-21 |
| 2 | 202321055926-PROVISIONAL SPECIFICATION [21-08-2023(online)].pdf | 2023-08-21 |
| 3 | 202321055926-PROOF OF RIGHT [21-08-2023(online)].pdf | 2023-08-21 |
| 4 | 202321055926-POWER OF AUTHORITY [21-08-2023(online)].pdf | 2023-08-21 |
| 5 | 202321055926-FORM 1 [21-08-2023(online)].pdf | 2023-08-21 |
| 6 | 202321055926-FIGURE OF ABSTRACT [21-08-2023(online)].pdf | 2023-08-21 |
| 7 | 202321055926-DRAWINGS [21-08-2023(online)].pdf | 2023-08-21 |
| 8 | 202321055926-ORIGINAL UR 6(1A) FORM 1 & FORM 26-280823.pdf | 2023-10-03 |
| 9 | 202321055926-DRAWING [09-08-2024(online)].pdf | 2024-08-09 |
| 10 | 202321055926-CORRESPONDENCE-OTHERS [09-08-2024(online)].pdf | 2024-08-09 |
| 11 | 202321055926-COMPLETE SPECIFICATION [09-08-2024(online)].pdf | 2024-08-09 |
| 12 | 202321055926-FORM-9 [10-08-2024(online)].pdf | 2024-08-10 |
| 13 | 202321055926-FORM 18 [10-08-2024(online)].pdf | 2024-08-10 |
| 14 | Abstract1.jpg | 2024-08-24 |