Patents by Inventor Swee Boon Lim
Swee Boon Lim has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 9348582Abstract: Techniques for managing software dependencies are described. For example, a dependency specification that pertains to a first product is accessed. The product may be a collection of artifacts and may provide a software functionality. A determination may be made, based on the dependency specification, that the first product has a dependency on a second product. Metadata pertaining to the second product may be accessed. A valid version of the second product may be identified based on the metadata. The valid version may be usable at build time of the first product.Type: GrantFiled: February 13, 2014Date of Patent: May 24, 2016Assignee: LinkedIn CorporationInventors: Jens Pillgram-Larsen, Paul McDill Hobbs, Jarek Rudzinski, Dustin Kwong, Swee Boon Lim
-
Publication number: 20150227363Abstract: Techniques for managing software dependencies are described. For example, a dependency specification that pertains to a first product is accessed. The product may be a collection of artifacts and may provide a software functionality. A determination may be made, based on the dependency specification, that the first product has a dependency on a second product. Metadata pertaining to the second product may be accessed. A valid version of the second product may be identified based on the metadata. The valid version may be usable at build time of the first product.Type: ApplicationFiled: February 13, 2014Publication date: August 13, 2015Applicant: Linkedln CorporationInventors: Jens Pillgram-Larsen, Paul McDill Hobbs, Jarek Rudzinski, Dustin Kwong, Swee Boon Lim
-
Patent number: 6941556Abstract: A system and method provides dynamic and static type support for multiple definitions of individual types in a distributed object environment. Fully scoped object names incorporating prefixes are used to distinguish objects. The fully scoped names are used for both dynamic type determination through an interface repository and for statically compiled types in client and server stub routines. In the interface repository, a prefix naming context is provided for each root interface definition language context, allowing multiple definitions for objects with the same interface definition language object name, where each such definition resides in a separate prefix naming context. In one embodiment, the prefix naming contexts are defined by prefix interface definition objects. In another embodiment, the fully scoped object names are embedded by an interface definition language compiler in stub and skeleton code routines. RRS.Type: GrantFiled: May 24, 1999Date of Patent: September 6, 2005Assignee: Sun Microsystems, Inc.Inventors: Peter B. Kessler, Swee Boon Lim, Peter Vanderbilt, Michael L. Powell, Li-Wen Chen, Dwight F. Hare, Alan Snyder
-
Patent number: 6785838Abstract: A system and method are provided for recovering from the failure of a mirrored boot device (e.g., disk drive). One method is implemented for a computer system that mirrors two (or more) boot devices. If one of the devices fails, a set of compensating activities is performed, which may include removing the failed device from the list of devices from which the system may boot, deleting mirror state data from the device and removing the failed device from the mirroring scheme. After the failed device is repaired or replaced, a set of reintegrating activities is performed, which may include including the device in the mirroring scheme, restoring mirror state data to the device and adding the device to the list of boot devices. Even if the system includes only two mirrored boot devices and one of them fails, it can continue operation and can reboot successfully without using stale data.Type: GrantFiled: February 13, 2001Date of Patent: August 31, 2004Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Devendra R. Jaisinghani, Sanjay G. Nadkarni, Robert Gittins
-
Patent number: 6718550Abstract: Data structures, methods and devices for reducing computing overhead by utilizing different invocation paths for same process and different process invocations in a distributed client/server based computing system are disclosed. In one aspect of the invention, calls to a servant that do not share the same process as the requesting client are routed through a transport layer, and calls to servants that do share the same process as the requesting client are passed directly to the servant, thereby bypassing the transport layer. In another aspect of the invention, distinct remote and local method tables are provided to facilitate intelligent routing of requests. In still another aspect of the invention, the appropriate method table for an object reference is intelligently selected based upon the location of the identified object.Type: GrantFiled: June 26, 1996Date of Patent: April 6, 2004Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Peter B. Kessler, Sanjay R. Radia, Graham Hamilton
-
Publication number: 20020112198Abstract: A system and method are provided for recovering from the failure of a mirrored boot device (e.g., disk drive). One method is implemented for a computer system that mirrors two (or more) boot devices. If one of the devices fails, a set of compensating activities is performed, which may include removing the failed device from the list of devices from which the system may boot, deleting mirror state data from the device and removing the failed device from the mirroring scheme. After the failed device is repaired or replaced, a set of reintegrating activities is performed, which may include including the device in the mirroring scheme, restoring mirror state data to the device and adding the device to the list of boot devices. Even if the system includes only two mirrored boot devices and one of them fails, it can continue operation and can reboot successfully without using stale data.Type: ApplicationFiled: February 13, 2001Publication date: August 15, 2002Inventors: Swee Boon Lim, Devendra R. Jaisinghani, Sanjay G. Nadkarni, Robert Gittins
-
Patent number: 6389484Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.Type: GrantFiled: December 6, 1999Date of Patent: May 14, 2002Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
-
Patent number: 6327622Abstract: A method is provided for load balancing requests for an application among a plurality of instances of the application operating on a plurality of servers. A policy is selected for choosing a preferred server from the plurality of servers according to a specified status or operational characteristic of the application instances, such as the least-loaded instance or the instance with the fastest response time. The policy is encapsulated within multiple levels of objects or modules that are distributed among the servers offering the application and a central server that receives requests for the application. A first type of object, a status object, gathers or retrieves application-specific information concerning the specified status or operational characteristic of an instance of the application. Status objects interact with instances of the load-balanced application and are configured to store their collected information for retrieval by individual server monitor objects.Type: GrantFiled: September 3, 1998Date of Patent: December 4, 2001Assignee: Sun Microsystems, Inc.Inventors: Anita Jindal, Swee Boon Lim, Sanjay Radia, Whei-Ling Chang
-
Patent number: 6324580Abstract: A method is provided for load balancing requests for a replicated service or application among a plurality of servers operating instances of the replicated service or application. A policy is selected for choosing a preferred server from the plurality of servers according to one or more specified status or operational characteristics of the servers, such as the least-loaded or closest server. The policy is encapsulated within multiple levels of objects or modules that are distributed among the servers offering the replicated service and a central server that receives requests for the service. Status objects gather or retrieve information concerning the specified status or operational characteristic(s) of each of the plurality of servers. An individual server monitor object operates for each instance of the replicated service to invoke one or more status objects and receive the necessary information. A central replicated monitor object receives the information from each individual server monitor object.Type: GrantFiled: September 3, 1998Date of Patent: November 27, 2001Assignee: Sun Microsystems, Inc.Inventors: Anita Jindal, Swee Boon Lim, Sanjay Radia, Whei-Ling Chang
-
Patent number: 6272557Abstract: Methods and devices for reducing computing overhead in a distributed client/server based computing system which utilize an efficient framework for marshaling and unmarshaling argument object references are disclosed. In one aspect of the invention, a method of unmarshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves identifying the subcontract identifier associated with the argument object reference, using the identified subcontract identifier to identify an appropriate associated unmarshal method, and calling the associated unmarshal method. In another aspect of the invention, a method of marshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves invoking a marshal method of a client representation in the argument object reference passing the marshal buffer as an argument to the marshal method.Type: GrantFiled: February 18, 2000Date of Patent: August 7, 2001Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Anita Jindal
-
Patent number: 6212573Abstract: Data structures, methods and devices for reducing computing overhead by utilizing threads which are effective to listen for requests for new connections, for new requests for services, and process requests for services in a distributed client/server-based object oriented operating system are disclosed. In one aspect of the invention, a method of processing a request for service from a client, involves listening for a request using a first server side thread which is effective to listen for and process requests on a connection, reading the header of the request using the first server side thread, and processing the request. In another aspect of the invention, a client writes a request for service on a connection between the client and a server using a first client side thread which is effective for dispatching requests and listening for replies to the request, and determines whether a reply from the server is expected in response to the request for service.Type: GrantFiled: June 26, 1996Date of Patent: April 3, 2001Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Rohit Garg
-
Patent number: 6189048Abstract: Data structures, methods and devices for reducing computing overhead associated with dispatching a distributed object invocation and improving the flexibility of the dispatch framework in a distributed client/server based computing system are disclosed. In one aspect of the invention, a request received on an end point in a transport layer is dispatched from the transport layer to a subcontract in a subcontract layer where the request is partially unmarshaled and dispatched from the subcontract to a skeleton function in a skeleton layer where a servant is invoked.Type: GrantFiled: June 26, 1996Date of Patent: February 13, 2001Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Sanjay R. Radia, Ken M. Cavanaugh, III, Christian J. Callsen
-
Patent number: 6167458Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.Type: GrantFiled: October 24, 1998Date of Patent: December 26, 2000Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
-
Patent number: 6092178Abstract: A trigger is provided in association with a network naming service, such as DNS (Domain Name Service), that handles client requests for an application. The trigger comprises a set of executable instructions referenced by a resource record associated with an identifier of the application. In response to a client request concerning the application, the resource record is retrieved and the instructions are executed. In one implementation of a trigger, a DNS server provides load balancing among a plurality of servers within a network name space (e.g., domain or sub-domain) offering an application program (or replicated service) that is known by a virtual server name. A policy is selected for choosing a preferred server from the plurality of servers according to a specified status or operational characteristic of the application instances, such as the least-loaded instance of the application or the instance with the fastest response time.Type: GrantFiled: September 3, 1998Date of Patent: July 18, 2000Assignee: Sun Microsystems, Inc.Inventors: Anita Jindal, Swee Boon Lim, Sanjay Radia, Whei-Ling Chang
-
Patent number: 6044224Abstract: A data structure for dynamically associating a service dependent representation with a servant object at run time is used in a distributed object computing system that incorporates subcontracts. Subcontracts supply different functionalities to objects. The data structure exists before run time, and is used at run time to perform the dynamic association. An arrangement also exists at run time. The structure comprises a service representation class representing a single subcontract, a servant base class associated with servant objects created at run time, and a linking mechanism to form a run time link between the server rep class and a servant object at run time. The server rep class provides functionality unique to a subcontract. At run time, servant objects are instantiated from the servant base class or a more derived class. The servant object uses the functionality provided by a subcontract by way of the linking mechanism.Type: GrantFiled: June 26, 1996Date of Patent: March 28, 2000Assignee: Sun Microsystems, Inc.Inventors: Sanjay R. Radia, Swee Boon Lim, Peter B. Kessler
-
Patent number: 6044409Abstract: Methods and devices for reducing computing overhead in a distributed client/server based computing system which utilize an efficient framework for marshaling and unmarshaling argument object references are disclosed. In one aspect of the invention, a method of unmarshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves identifying the subcontract identifier associated with the argument object reference, using the identified subcontract identifier to identify an appropriate associated unmarshal method, and calling the associated unmarshal method. In another aspect of the invention, a method of marshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves invoking a marshal method of a client representation in the argument object reference passing the marshal buffer as an argument to the marshal method.Type: GrantFiled: June 26, 1996Date of Patent: March 28, 2000Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Anita Jindal
-
Patent number: 6032199Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.Type: GrantFiled: June 26, 1996Date of Patent: February 29, 2000Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
-
Patent number: 5991823Abstract: Data structures and various methods for invoking and creating objects are used in a distributed object system in order to implement subcontracts. A subcontract is a selected grouping of basic features or object mechanisms that a system provides for use in managing objects and has associated functions. A subcontract registry is used for creating object references for server objects. The subcontract registry has any number of subcontract objects within it, and each subcontract object may include: a subcontract identifier that identifies the subcontract object, a quality of service list that contains feature name-value pairs, and a create function unique to the subcontract object. An implementation registry is used for registering any number of implementation definitions.Type: GrantFiled: June 26, 1996Date of Patent: November 23, 1999Assignee: Sun Microsystems, Inc.Inventors: Ken M. Cavanaugh, III, Alan Snyder, Swee Boon Lim, Christian J. Callsen
-
Patent number: 5938732Abstract: A system and method for many-to-many failover and load balancing establishes a plurality of service groups for providing desired computing services. Each service group comprises a plurality of hosts, and each host within the service group is available to perform the computing services for which that group as a whole is responsible. Each host may belong to a plurality of service groups. Each operational host within a service group transmits periodic messages to each other host within the service group advising of the status of the transmitting host. A leader host evaluates the periodic messages and, where appropriate, dynamicall reassigns responsibility for particular computing services to a host within the group. The reassignment can be due either to failover or load balancing.Type: GrantFiled: December 9, 1996Date of Patent: August 17, 1999Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Ashish Singhai, Sanjay R. Radia
-
Patent number: 5848233Abstract: The present invention includes a method and apparatus for filtering IP packets based on events within a computer network. More specifically, the present invention includes a services management system, or SMS. The SMS manages network connections between a series of client systems and a router. An access network control server (ANCS) manages the configuration of the router. The SMS monitors activities or events that occur within the network. In response to these events, the SMS dynamically downloads filtering profiles to the ANCS. The ANCS then uses the downloaded filtering profiles to reconfigure the router. The router then uses the filtering rules to selectively discard or forward IP packets received from the client systems.Type: GrantFiled: December 9, 1996Date of Patent: December 8, 1998Assignee: Sun Microsystems, Inc.Inventors: Sanjay R. Radia, Swee Boon Lim, Panagiotis Tsirigotis, Thomas K. Wong, Robert J. Goedman, Michael W. Patrick