Abstract: The present disclosure provides a system (108) and a method for sharing contact information between a plurality of devices connected to a home network. The system (108) initiates a multicast Domain Name System (mDNS) service on a recipient device (110). In response to the initiation of the mDNS service, the system (108) enables the recipient device (110) to receive an mDNS request from a sender device (104), and send a response to the sender device (104). The system (108) discovers one or more devices supporting the recipient device (110) on the sender device (104), where a user associated with the sender device (104) selects contact information to be shared and at least one device to share the contact information, and enables the sender device (104) to share the contact information in at least one format to the at least one selected device.
Description:RESERVATION OF RIGHTS
[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as but are not limited to, copyright, design, trademark, integrated circuit (IC) layout design, and/or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.
FIELD OF INVENTION
[0002] The embodiments of the present disclosure generally relate to a field of wireless communication, and specifically to a system and a method for sharing contact information between a plurality of devices connected to a home network using a multicast Domain Name System (mDNS) technology via a home gateway.
BACKGROUND OF INVENTION
[0003] The following description of the related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section is used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of the prior art.
[0004] Contact sharing is a fundamental feature in many communication and social networking applications, allowing users to exchange their contact information with ease. This functionality is particularly useful for connecting with new acquaintances, colleagues, or friends, as it streamlines the process of sharing essential details such as names, phone numbers, and email addresses.
[0005] However, existing contact sharing systems often rely on third-party services or centralized servers to facilitate these exchanges. While this approach can offer convenience and efficiency, it also raises concerns about security and privacy. The users may be cautious of sharing their contact information with third-party services, as it could potentially be accessed or misused without their consent.
[0006] To address these concerns, there is a growing need for contact sharing systems that prioritize security and privacy. A decentralized approach to contact sharing could offer a more secure alternative, where the users have more control over their data and how it is shared.
[0007] There is, therefore, a need in the art to provide an improved system and a method to exchange the contact information without relying on centralized servers or third-party service by overcoming the deficiencies of the prior art(s).
OBJECTS OF THE INVENTION
[0008] Some of the objects of the present disclosure, which at least one embodiment herein satisfies are listed herein below.
[0009] It is an object of the present disclosure to provide a system and a method for sharing contact information between a plurality of devices connected to a home network, using multicast Domain Name System (mDNS) technology via a home gateway.
[0010] It is an object of the present disclosure to provide a system and a method for sharing contact information between a plurality of devices on a same network without a need for an internet connection or a central server.
[0011] It is an object of the present disclosure to provide a system and a method for sharing contact information between a plurality of devices in a secure and efficient way.
[0012] It is an object of the present disclosure to reduce security risks and privacy concerns during contact information sharing process for users.
SUMMARY
[0013] This section is provided to introduce certain objects and aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.
[0014] In an aspect, the present disclosure relates to a system for sharing contact information between a plurality of devices connected to a home network. The system includes one or more processors and a memory operatively coupled to the one or more processors. The memory includes processor-executable instructions, which on execution, cause the one or more processors to initiate a multicast Domain Name System (mDNS) service on at least one recipient device of the plurality of devices connected to the home network. The one or more processors, in response to the initiation of the mDNS service, enable the at least one recipient device to receive an mDNS request from at least one sender device of the plurality of devices, and send a response to the at least one sender device. Based on the response, the one or more processors discover one or more devices supporting the at least one recipient device on the at least one sender device, where at least one user associated with the at least one sender device selects contact information to be shared and at least one device to share the contact information among the one or more devices. Further, the one or more processors enable the at least one sender device to share the contact information in at least one format to the at least one selected device.
[0015] In an embodiment, in response to the initiation of the mDNS service on the at least one recipient device, the one or more processors may broadcast an availability of the one or more devices within the home network to the plurality of devices.
[0016] In an embodiment, the one or more processors may initiate the mDNS service with at least one of a predetermined type and a dynamic type.
[0017] In an embodiment, the one or more processors may broadcast the mDNS request on a home gateway, and wherein the response may include at least one of an Internet Protocol (IP) address and a device name.
[0018] In an embodiment, in response to sharing the contact information to be shared to the at least one selected device, the one or more processors may send feedback indicating a success of contact information sharing process to at least one of the at least one sender device and the at least one selected device.
[0019] In an embodiment, the one or more processors may send an informative error message to at least one of the at least one sender device and the at least one selected device, in response to a fault being detected during the contact information sharing process.
[0020] In an embodiment, the at least one format may include one of a Virtual Contact File (VCF), an eXtensible Markup Language (XML), a plain text, a JavaScript Object Notation (JSON), document, Excel Spreadsheet (XLS), Portable Document Format (PDF), a text file format, a binary format, or any other formats.
[0021] In an embodiment, the memory includes processor-executable instructions, which on execution, may cause the one or more processors to perform a Session Initiation Protocol (SIP) registration with a home gateway in response to determining that the at least one recipient device fails to directly support the mDNS service, and initiate the mDNS service on the at least one recipient device based on the SIP registration.
[0022] In an embodiment, the at least one recipient device that fails to directly support the mDNS service may receive the mDNS request as a command or a custom message over one of web sockets or a Representational State Transfer Application Programming Interface (REST API).
[0023] In an aspect, the present disclosure relates to a method for sharing contact information between a plurality of devices connected to a home network. The method includes initiating, by one or more processors associated with a system, an mDNS service on at least one recipient device of the plurality of devices connected to the home network. The method includes enabling, by the one or more processors, the at least one recipient device to receive an mDNS request from at least one sender device of the plurality of devices, and send a response to the at least one sender device. Based on the response, the method includes discovering, by the one or more processors, one or more devices supporting the at least one recipient device on the at least one sender device, where at least one user associated with the at least one sender device selects contact information to be shared and at least one device to share the contact information among the one or more devices. The method further includes enabling, by the one or more processors, the at least one sender device to share the contact information in at least one format to the at least one selected device.
[0024] In an embodiment, in response to initiating the mDNS service on the at least one recipient device, the method may include broadcasting, by the one or more processors, an availability of one or more devices within the home network to the plurality of devices.
[0025] In an embodiment, the method may include initiating, by the one or more processors, the mDNS service with at least one of a predetermined type and a dynamic type.
[0026] In an embodiment, in response to sharing the contact information to be shared to the at least one selected device, the method may include sending, by the one or more processors, feedback indicating a success of contact information sharing process to at least one of the at least one sender device and the at least one selected device.
[0027] In an embodiment, the method may include sending, by the one or more processors, an informative error message to at least one of the at least one sender device and the at least one selected device, in response to a fault being detected during the contact information sharing process.
[0028] In an embodiment, the method may include determining, by the one or more processors, that the at least one recipient device fails to directly support the mDNS service, performing, by the one or more processors, a SIP registration with a home gateway in response to determining that the at least one recipient device fails to directly support the mDNS service, and initiating the mDNS service on the at least one recipient device based on the SIP registration.
[0029] In an aspect, the present disclosure relates to a user equipment. The user equipment includes one or more processors, and a memory operatively coupled to the one or more processors. The memory includes processor-executable instructions, which on execution, cause the one or more processors to send an mDNS request to at least one recipient device of a plurality of devices based on an initiation of an mDNS service on the at least one recipient device, and receive a response from the at least one recipient device. Based on the response, the one or more processors receive a selection, from at least one user associated with the user equipment, of contact information to be shared and at least one device to share the contact information among one or more devices supporting the at least one recipient device, and share the contact information in a standardized format to the at least one selected device.
[0030] In an aspect, the present disclosure relates to a non-transitory computer-readable medium comprising processor-executable instructions that cause a processor to initiate an mDNS service on at least one recipient device of the plurality of devices connected to the home network, enable the at least one recipient device to receive an mDNS request from at least one sender device of the plurality of devices, and send a response to the at least one sender device, based on the response, discover one or more devices supporting the at least one recipient device on the at least one sender device, where at least one user associated with the at least one sender device selects contact information and at least one device to share the contact information to be shared among the one or more devices, and enable the at least one sender device to share the contact information in at least one format to the at least one selected device.
BRIEF DESCRIPTION OF DRAWINGS
[0031] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes the disclosure of electrical components, electronic components, or circuitry commonly used to implement such components.
[0032] FIG. 1 illustrates an exemplary network architecture (100) for implementing a proposed system, in accordance with an embodiment of the present disclosure.
[0033] FIG. 2 illustrates an exemplary block diagram (200) of a system for sharing contact information between a plurality of devices connected to a home network, in accordance with an embodiment of the present disclosure.
[0032] FIG. 3 illustrates an exemplary flow diagram (300) for implementing a method for sharing contact information between a plurality of devices when a recipient device supports a multicast Domain Name System (mDNS) service, in accordance with embodiments of the present disclosure.
[0033] FIG. 4 illustrates an exemplary flow diagram (400) for implementing a method for sharing contact information between a plurality of devices when a recipient device fails to support an mDNS service, in accordance with embodiments of the present disclosure.
[0034] FIG. 5 illustrates an exemplary computer system (500) in which or with which embodiments of the present disclose may be utilized in accordance with embodiments of the present disclosure.
[0035] The foregoing shall be more apparent from the following more detailed description of the disclosure.
DETAILED DESCRIPTION
[0036] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address all of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein.
[0037] The ensuing description provides exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0038] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail to avoid obscuring the embodiments.
[0039] Also, it is noted that individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0040] The word “exemplary” and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
[0041] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0042] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
[0043] The present disclosure provides a system and a method for sharing contact information between a plurality of devices connected to a home network. The system shares contact information between the plurality of devices using a multicast Domain Name System (mDNS) technology and any standard protocols such as, but not limited to, Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), File Transfer Protocol (FTP), Secure File Transfer Protocol (SFTP), a network service discovery, and the like. The system allows users to securely share contact information with others, without a need for a centralized server or a third-party service or internet. The system allows the users to easily initiate contact sharing by selecting desired contact information and sending the desired contact information to a recipient device using the standard protocols or any custom methods.
[0044] The system includes a user interface for selecting contact information, an mDNS discovery module for discovering devices on the network, and a sharing module for securely sharing contact information between the devices. The user interface allows users to select one or more contacts from their contact list and specify which contact information to share, such as phone numbers, email addresses, or social media profiles to the recipient device. The mDNS discovery module uses multicast to discover the devices on the network that are running the system. To transmit the selected contact information, the system uses any standard protocols or any custom methods.
[0045] Various embodiments of the present disclosure will be explained in detail with reference to FIGs. 1-5.
[0046] FIG. 1 illustrates an exemplary network architecture (100) for implementing a proposed system (108), in accordance with an embodiment of the present disclosure.
[0047] As illustrated in FIG. 1, by way of example and not by not limitation, the exemplary network architecture (100) may include a plurality of computing devices (104-1, 104-2…104-N), which may be individually referred as the computing device (104) and collectively referred as the computing devices (104). The computing devices (104) may be associated with a plurality of users (102-1, 102-2…102-N). The plurality of users (102-1, 102-2…102-N) may be individually referred as the user (102) and collectively referred as the users (102). It may be appreciated that the computing device (104) may be interchangeably referred to as a sender device, a user device, a client device, or a User Equipment (UE).
[0048] In an exemplary embodiment, the system (108) may be associated with a plurality of recipient devices (110), which may be individually referred as the recipient device (110) and collectively referred as the recipient devices (110). The recipient devices (110) may be, the user device, the client device, or the UE.
[0049] In an embodiment, the sender device (104) may include smart devices operating in a smart environment, for example, an Internet of Things (IoT) system. The sender device (104) may be, for example, but are not limited to, a set-up box, a smart television (TV), a streaming media player, a media centre personal computer (PC), and so on. In an embodiment, the recipient device (110) may include, but is not limited to, smart phones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users and/or entities, or any combination thereof.
[0050] A person of ordinary skill in the art will appreciate that the sender device (104) or the recipient device (110) may include, but is not limited to, intelligent, multi-sensing, network-connected devices, that can integrate seamlessly with each other and/or with a central server or a cloud-computing system or any other device that is network-connected.
[0051] In an embodiment, the recipient device (110) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smartphone, a phablet device, and so on), a wearable computer device (e.g., a head-mounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and/or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, that the sender device (104) or the recipient device (110) may include, but is not limited to, any electrical, electronic, electromechanical, or an equipment, or a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, a laptop, a general-purpose computer, a desktop, a personal digital assistant, a tablet computer, a mainframe computer, or any other computing device, wherein the that the sender device (104) or the recipient device (110) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or the entity such as a touch pad, a touch enabled screen, an electronic pen, and the like.
[0052] A person of ordinary skill in the art will appreciate that the that the sender device (104) or the recipient device (110) may not be restricted to the mentioned devices and various other devices may be used.
[0053] In an exemplary embodiment, the sender device (104) and the recipient device (110) may communicate with the system (108) through a network (106). In an embodiment, the system (108) may be associated with the sender device (104). The network (106) may include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network (106) may include, by way of example but not limitation, one or more of: a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a public-switched telephone network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, some combination thereof. It may be appreciated that the network (106) may be interchangeably referred to as a home network.
[0054] In an exemplary embodiment, the system (108) may be configured to initiate a mDNS service with a predetermined type or a dynamic type on the recipient device (110) connected to the network (106). In an embodiment, in response to the initiation of the mDNS service, the system (108) may enable the recipient device (110) to receive an mDNS request from the sender device (104), and send a response to the sender device (104). In an embodiment, the mDNS request may be broadcasted on a home gateway. The response may include, but not limited to, an Internet Protocol (IP) address and a name of the recipient device (110). The IP address may be, for example, but not limited to, Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6). In an embodiment, in response to the initiation of the mDNS service on the recipient device (110), the system (108) may broadcast an availability of one or more devices within the network (106) to the other devices.
[0055] In an embodiment, based on the response, the system (108) may discover one or more devices supporting the recipient device (110) and display the one or more devices supporting the recipient device (110) on a display of the sender device (104). The user (102) associated with the sender device (104) may select contact information to be shared, and at least one device to share the contact information to be shared among the one or more devices supporting the recipient device (110). In an embodiment, the system (108) may enable the sender device (104) to share the contact information to be shared in at least one format to the at least one selected device. The at least one format may be a standardized format, a non-standardized format, or a custom format, which includes, but not limited to, a Virtual Contact File (VCF), an eXtensible Markup Language (XML), a plain text, a JavaScript Object Notation (JSON), document, Excel Spreadsheet (XLS), Portable Document Format (PDF), a text file format, a binary format, or any other formats.
[0056] In an embodiment, in response to sharing the contact information to be shared to the selected device, the system (108) may send feedback indicating a success of contact information sharing process to the sender device (104) and/or the selected device. In an embodiment, the system (108) may send an informative error message to the sender device (104) and/or the selected device in response to a fault being detected during the contact information sharing process.
[0057] Although FIG. 1 shows exemplary components of the network architecture (100), in other embodiments, the network architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).
[0058] FIG. 2 illustrates an exemplary block diagram (200) of a system (108) for sharing contact information between a plurality of devices connected to a home network (106), in accordance with an embodiment of the present disclosure.
[0059] In an embodiment, and as shown in FIG. 2, the system (108) may include one or more processors (202). The one or more processors (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that manipulate data based on operational instructions. Among other capabilities, the one or more processors (202) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (108). The memory (204) may store one or more computer-readable instructions or routines, which may be fetched and executed to create or share the data units over a network service. The memory (204) may comprise any non-transitory storage device including, for example, volatile memory such as Random-Access Memory (RAM), or non-volatile memory such as an Erasable Programmable Read-Only Memory (EPROM), a flash memory, and the like.
[0060] In an embodiment, the system (108) may also include an interface(s) (206). The interface(s) (206) may include a variety of interfaces, for example, a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like. The interface(s) (206) may facilitate communication of the system (108) with various devices coupled to it. The interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include, but are not limited to, processing engine(s) (208) and a database (210).
[0061] In an embodiment, the processing engine(s) (208) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) (208). In examples, described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) (208) may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the one or more processors (202) may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) (208). In such examples, the system (108) may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system (108) and the processing resource. In other examples, the processing engine(s) (208) may be implemented by an electronic circuitry.
[0062] In an embodiment, the database (210) may comprise data that may be either stored or generated as a result of functionalities implemented by any of the components of the processors (202) or the processing engine(s) (208) or the system (108).
[0063] In an exemplary embodiment, the processing engine(s) (208) may include one or more engines selected from any of an ingestion engine (212), a discovery engine (214), a contact sharing engine (216), and other units/engines (218). The other units/engines (218) may include, but are not limited to, a monitoring engine, a determination engine, and the like.
[0064] In an embodiment, the one or more processors (202) may, via the ingestion engine (212), initiate a mDNS service with a predetermined type (e.g., stbcontactsync.tcp.) or a dynamic type on at least one recipient device (110) of a plurality of devices connected to a home network (e.g., a network (106)). In response to the initiation of the mDNS service, the one or more processors (202) may, via the ingestion engine (212), enable the at least one recipient device (110) to receive an mDNS request with the predetermined type or the dynamic type from at least one sender device (104) of the plurality of devices, and send a response to the at least one sender device (104). The response may include, but not limited to, an IP address and a name of the at least one recipient device (110).
[0065] In an embodiment, the one or more processors (202) may, via the ingestion engine (212), determine that the at least one recipient device (110) fails to directly support the mDNS service. In response to determining that the at least one recipient device (110) fails to directly support the mDNS service, the one or more processors (202) may, via the ingestion engine (212), perform a Session Initiation Protocol (SIP) registration with a home gateway, and initiate the mDNS service on the at least one recipient device (110) based on the SIP registration. In response to the initiation of the mDNS service, the one or more processors (202) may, via the ingestion engine (212), enable at least one sender device (104) to send an mDNS request to the home gateway, and receive a response from the home gateway. In an embodiment, the at least one recipient device (110) which fails to directly support the mDNS service may receive the mDNS request, for example, as a command or as a custom message over web sockets or via a Representational State Transfer Application Programming Interface (REST API).
[0066] In an embodiment, in response to the initiation of the mDNS service on the at least one recipient device (110) and based on the response from the home gateway, the one or more processors (202) may, via the discovery engine (214), discover or broadcast an availability of one or more devices within the home network (106) to the plurality of devices.
[0067] In an embodiment, based on the response received by the at least one sender device (104), the one or more processors (202) may, via the discovery engine (214), discover one or more devices supporting the at least one recipient device (110) and display the one or more devices on a display of the at least one sender device (104). The system (108) may include a user interface that allows a user (102) associated with the at least one sender device (104) to select desired contact information to be shared and at least one device among the one or more devices supporting the at least one recipient device (110) to share the desired contact information.
[0068] In an embodiment, the one or more processors (202) may, via the contact sharing engine (216), enable the at least one sender device (104) to share the desired contact information in at least one format to the at least one selected device.
[0069] Although FIG. 2 shows exemplary components of the system (108), in other embodiments, the system (108) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 2. Additionally, or alternatively, one or more components of the system (108) may perform functions described as being performed by one or more other components of the system (108).
[0070] FIG. 3 illustrates an exemplary flow diagram (300) for implementing a method for sharing contact information between a plurality of devices when a recipient device supports a mDNS service, in accordance with embodiments of the present disclosure.
[0071] With reference to FIG. 3, at 302, upon successful bootup of the recipient device (110), a mDNS service may be initiated with a predetermined type or a dynamic type on the recipient device (110). In the dynamic type, the contact information may be, for example, fetched dynamically from any of a backend server, an input received from a user, or may be read from a configuration file. In response to the initiation of the mDNS service on the recipient device (110), an availability of one or more devices within a home network may be broadcasted to other devices within the home network.
[0072] At 304, in response to the initiation of the mDNS service, if a user associated with a sender device (104) wishes to share contact information to the recipient device (110), the sender device (104) may send an mDNS request to the recipient device (110). The recipient device (110) may receive the mDNS request from the sender device (104), and send a response to the sender device (104). Based on the response, one or more devices supporting the recipient device (110) are discovered and displayed on a display of the sender device (104).
[0073] At 306, upon discovery and display, the user associated with the sender device (104) may select contact information to be shared to the recipient device (110), instead of sharing all contact information by default.
[0074] At 308, the user associated with the sender device (104) may select at least one device among the one or more devices supporting the recipient device (110) to share the contact information. Upon the selection of the contact information and the at least one device, the sender device (104) may share the selected contact information to the at least one selected device in at least one format, and the selected contact information may be published in the at least one format.
[0075] In response to sharing the selected contact information to the selected device, the system (108) may send feedback indicating a success of contact information sharing process to the sender device (104) and/or the selected device. In an embodiment, the system (108) may send an informative error message to the sender device (104) and/or the selected device in response to a fault being detected during the contact information sharing process.
[0076] FIG. 4 illustrates an exemplary flow diagram (400) for implementing a method for sharing contact information between a plurality of devices when a recipient device (110) fails to support an mDNS service, in accordance with embodiments of the present disclosure.
[0077] With reference to FIG. 4, at 402, the method may include determining that the recipient device (110) fails to directly support the mDNS service. The method may perform a Session Initiation Protocol (SIP) registration with a home gateway in response to determining that the recipient device (110) fails to directly support the mDNS service.
[0078] At 404, upon successful SIP registration, the mDNS service with a predetermined type or a dynamic type may be initiated on the home gateway (e.g., a first recipient device).
[0079] At 406, in response to the initiation of the mDNS service, the sender device (104) may send an mDNS request to the home gateway. The home gateway may receive the mDNS request from the sender device (104), and send a response to the sender device (104) if one or more devices supporting the recipient device (110) is available. Based on the response, the one or more devices supporting the recipient device (110) are discovered.
[0080] At 408, the one or more devices supporting the recipient device (110) are displayed on a display of the sender device (104). Upon discovery and display, a user associated with the sender device (104) may select contact information to be shared, instead of sharing all contact information by default, and select at least one device among the one or more devices supporting the recipient device (110) to share the contact information.
[0081] Upon the selection of the contact information and the at least one device, the sender device (104) may share the selected contact information to the at least one selected device in at least one format via the home gateway. The home gateway may save the selected contact information and check for the availability of at least one selected device in a SIP registration database. Further, the home gateway may share and publish the selected contact information to the at least one selected device in the at least one format.
[0082] FIG. 5 illustrates an exemplary computer system (500) in which or with which embodiments of the present disclose may be utilized in accordance with embodiments of the present disclosure.
[0083] As shown in FIG. 5, the computer system (500) may include an external storage device (510), a bus (520), a main memory (530), a read-only memory (540), a mass storage device (550), a communication port(s) (560), and a processor (570). A person skilled in the art will appreciate that the computer system (500) may include more than one processor (570) and communication ports (560). The processor (570) may include various modules associated with embodiments of the present disclosure. The communication port(s) (560) may be any of an RS-232 port for use with a modem-based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication ports(s) (560) may be chosen depending on a network, such as a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system (500) connects.
[0084] In an embodiment, the main memory (530) may be a Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (540) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chip for storing static information e.g., start-up or basic input/output system (BIOS) instructions for the processor (570). The mass storage device (550) may be any current or future mass storage solution, which can be used to store information and/or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces).
[0085] In an embodiment, the bus (520) may communicatively couple the processor(s) (570) with the other memory, storage, and communication blocks. The bus (520) may be, e.g., a Peripheral Component Interconnect PCI)/PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), USB, or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (570) to the computer system (500).
[0086] In another embodiment, operator and administrative interfaces, e.g., a display, keyboard, and cursor control device may also be coupled to the bus (520) to support direct operator interaction with the computer system (500). Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) (560). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (500) limit the scope of the present disclosure.
[0087] While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be implemented merely as illustrative of the disclosure and not as a limitation.
ADVANTAGES OF THE INVENTION
[0088] The present disclosure provides a system and a method for sharing contact information between a plurality of devices connected to a home network, using multicast Domain Name System (mDNS) technology via a home gateway.
[0089] The present disclosure provides a system and a method for sharing contact information between a plurality of devices on a same network without a need for an internet connection or a central server
[0090] The present disclosure provides a system and a method for sharing contact information between a plurality of devices in a secure and efficient manner.
[0091] The present disclosure reduces security risks and privacy concerns during contact information sharing process for users.
[0092] The present disclosure enhances user experience by allowing seamless sharing of contact information in a same network.
[0093] The present disclosure simplifies a process of exchanging contact information, and enhances communication, collaboration, and relationship-building, ultimately leading to improved user satisfaction and business growth.
, Claims:1. A system (108) for sharing contact information between a plurality of devices connected to a home network, the system (108) comprising:
one or more processors (202); and
a memory (204) operatively coupled to the one or more processors (202), wherein the memory (204) comprises processor-executable instructions, which on execution, cause the one or more processors (202) to:
initiate a multicast Domain Name System (mDNS) service on at least one recipient device (110) of the plurality of devices connected to the home network;
in response to the initiation of the mDNS service, enable the at least one recipient device (110) to receive an mDNS request from at least one sender device (104) of the plurality of devices, and send a response to the at least one sender device (104);
based on the response, discover and display one or more devices supporting the at least one recipient device (110) on the at least one sender device (104), wherein at least one user associated with the at least one sender device (104) selects contact information to be shared and at least one device to share the contact information among the one or more devices; and
enable the at least one sender device (104) to share the contact information in at least one format to the at least one selected device.
2. The system (108) as claimed in claim 1, wherein in response to the initiation of the mDNS service on the at least one recipient device (110), the one or more processors (202) are to broadcast an availability of the one or more devices within the home network to the plurality of devices.
3. The system (108) as claimed in claim 1, wherein the one or more processors (202) are to initiate the mDNS service with at least one of: a predetermined type and a dynamic type.
4. The system (108) as claimed in claim 1, wherein the one or more processors (202) are to broadcast the mDNS request on a home gateway, and wherein the response comprises at least one of: an Internet Protocol (IP) address and a device name.
5. The system (108) as claimed in claim 1, wherein in response to sharing the contact information to the at least one selected device, the one or more processors (202) are to send feedback indicating a success of contact information sharing process to at least one of: the at least one sender device (104) and the at least one selected device.
6. The system (108) as claimed in claim 5, wherein the one or more processors (202) are to send an informative error message to at least one of the at least one sender device (104) and the at least one selected device, in response to a fault being detected during the contact information sharing process.
7. The system (108) as claimed in claim 1, wherein the at least one format comprises one of: a Virtual Contact File (VCF), an eXtensible Markup Language (XML), a plain text, a JavaScript Object Notation (JSON), document, Excel Spreadsheet (XLS), Portable Document Format (PDF), a text file format, a binary format, or any other formats.
8. A system (108) for sharing contact information between a plurality of devices connected to a home network, the system (108) comprising:
one or more processors (202); and
a memory (204) operatively coupled to the one or more processors (202), wherein the memory (204) comprises processor-executable instructions, which on execution, cause the one or more processors (202) to:
determine that at least one recipient device (110) fails to directly support a multicast Domain Name System (mDNS) service;
perform a Session Initiation Protocol (SIP) registration of the at least one recipient device (110) with a home gateway based on the determination;
initiate the mDNS service on the home gateway upon successful SIP registration;
in response to the initiation of the mDNS service, enable at least one sender device (104) to send an mDNS request to the home gateway, and receive a response from the home gateway;
based on the response, discover and display one or more devices supporting the at least one recipient device (110) on the at least one sender device (104), wherein at least one user associated with the at least one sender device (104) selects contact information to be shared and at least one device to share the contact information among the one or more devices; and
enable the at least one sender device (104) to share the contact information in at least one format to the at least one selected device via the home gateway.
9. The system (108) as claimed in claim 8, wherein the at least one recipient device (110) that fails to directly support the mDNS service receives the mDNS request as a command or a custom message over one of web sockets or a Representational State Transfer Application Programming Interface (REST API).
10. A method for sharing contact information between a plurality of devices connected to a home network, the method comprising:
initiating, by one or more processors (202) associated with a system (108), a multicast Domain Name System (mDNS) service on at least one recipient device (110) of the plurality of devices connected to the home network;
in response to the initiation of the mDNS service, enabling, by the one or more processors (202), the at least one recipient device (110) to receive an mDNS request from at least one sender device (104) of the plurality of devices, and send a response to the at least one sender device (104);
based on the response, discovering and displaying, by the one or more processors (202), one or more devices supporting the at least one recipient device (110) on the at least one sender device (104), wherein at least one user associated with the at least one sender device (104) selects contact information to be shared and at least one device to share the contact information among the one or more devices; and
enabling, by the one or more processors (202), the at least one sender device (104) to share the contact information in at least one format to the at least one selected device.
11. The method as claimed in claim 10, wherein in response to initiating the mDNS service on the at least one recipient device (110), the method comprises broadcasting, by the one or more processors (202), an availability of the one or more devices within the home network to the plurality of devices.
12. The method as claimed in claim 10, wherein the method comprises initiating, by the one or more processors (202), the mDNS service with at least one of: a predetermined type and a dynamic type.
13. The method as claimed in claim 10, wherein in response to sharing the contact information to the at least one selected device, the method comprises sending, by the one or more processors (202), feedback indicating a success of contact information sharing process to at least one of: the at least one sender device (104) and the at least one selected device.
14. The method as claimed in claim 13, wherein the method comprises sending, by the one or more processors (202), an informative error message to at least one of: the at least one sender device (104) and the at least one selected device, in response to a fault being detected during the contact information sharing process.
15. A method for sharing contact information between a plurality of devices connected to a home network, the method comprising:
determining, by one or more processors (202) associated with a system (108), that at least one recipient device (110) fails to directly support a multicast Domain Name System (mDNS) service;
performing, by the one or more processors (202), a Session Initiation Protocol (SIP) registration of the at least one recipient device (110) with a home gateway based on the determination;
initiating, by the one or more processors (202), the mDNS service on the home gateway upon successful SIP registration;
in response to the initiation of the mDNS service, enabling, by the one or more processors (202), at least one sender device (104) to send an mDNS request to the home gateway, and receive a response from the home gateway;
based on the response, discovering and displaying, by the one or more processors (202), one or more devices supporting the at least one recipient device (110) on the at least one sender device (104), wherein at least one user associated with the at least one sender device (104) selects contact information to be shared and at least one device to share the contact information among the one or more devices; and
enabling, by the one or more processors (202), the at least one sender device (104) to share the contact information in at least one format to the at least one selected device via the home gateway.
16. A user equipment (104), comprising:
one or more processors; and
a memory operatively coupled to the one or more processors, wherein the memory comprises processor-executable instructions, which on execution, cause the one or more processors to:
send a multicast Domain Name System (mDNS) request to at least one recipient device (110) of a plurality of devices based on an initiation of an mDNS service on the at least one recipient device (110);
receive a response from the at least one recipient device (110);
based on the response, receive a selection, from at least one user associated with the user equipment, of contact information to be shared and at least one device to share the contact information among one or more devices supporting the at least one recipient device (110); and
share the contact information in at least one format to the at least one selected device.
| # | Name | Date |
|---|---|---|
| 1 | 202421019984-STATEMENT OF UNDERTAKING (FORM 3) [18-03-2024(online)].pdf | 2024-03-18 |
| 2 | 202421019984-REQUEST FOR EXAMINATION (FORM-18) [18-03-2024(online)].pdf | 2024-03-18 |
| 3 | 202421019984-FORM 18 [18-03-2024(online)].pdf | 2024-03-18 |
| 4 | 202421019984-FORM 1 [18-03-2024(online)].pdf | 2024-03-18 |
| 5 | 202421019984-DRAWINGS [18-03-2024(online)].pdf | 2024-03-18 |
| 6 | 202421019984-DECLARATION OF INVENTORSHIP (FORM 5) [18-03-2024(online)].pdf | 2024-03-18 |
| 7 | 202421019984-COMPLETE SPECIFICATION [18-03-2024(online)].pdf | 2024-03-18 |
| 8 | Abstract1.jpg | 2024-05-15 |
| 9 | 202421019984-FORM-26 [28-05-2024(online)].pdf | 2024-05-28 |
| 10 | 202421019984-FORM-26 [07-06-2024(online)].pdf | 2024-06-07 |
| 11 | 202421019984-Proof of Right [02-07-2024(online)].pdf | 2024-07-02 |
| 12 | 202421019984-FORM-8 [15-11-2024(online)].pdf | 2024-11-15 |